gst/gstbin.*: Add do-latency signal with the old default fallback implementation...
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-11-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2
3         * gst/gstbin.c: (_gst_boolean_accumulator), (gst_bin_class_init),
4         (gst_bin_recalculate_latency), (gst_bin_do_latency_func),
5         (gst_bin_change_state_func):
6         * gst/gstbin.h:
7         Add do-latency signal with the old default fallback implementation. This
8         allows for custom latency calculations for when the default is not
9         sufficient.
10         API: GstBin::do-latency signal.
11
12 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
13
14         * win32/common/libgstreamer.def:
15         Add new symbols to .def file.
16
17 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
18
19         * docs/gst/gstreamer-sections.txt:
20         * gst/gstbin.c: (gst_bin_recalculate_latency),
21         (gst_bin_change_state_func):
22         * gst/gstbin.h:
23         Add method to recalculate and redistribute the latency on a bin.
24         API: gst_bin_recalculate_latency().
25
26 2008-11-18  Wim Taymans  <wim.taymans@collabora.co.uk>
27
28         * gst/gstbuffer.h:
29         Document the free_func.
30
31 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
32
33         * libs/gst/controller/gstinterpolation.c:
34         * libs/gst/controller/gstlfocontrolsource.c:
35         Use gst_guint64_to_gdouble instead of gst_util_guint64_to_gdouble
36         as it is mapped to a cast on non-win32 platforms.
37
38 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
39
40         * libs/gst/controller/gstcontroller.c:
41         * libs/gst/controller/gstcontrollerprivate.h:
42           Keep last-value and only call set_property if value has changed. This
43           supresses all the g_object_notifies we would trigger otherwise. It
44           also allows the user to chage the value while there is no controller
45           change.
46
47 2008-11-17  Stefan Kost  <ensonic@users.sf.net>
48
49         * gst/gstvalue.c:
50           Don't crash if either of the string GValues is empty.
51
52 2008-11-17  Andy Wingo  <wingo@pobox.com>
53
54         * tools/gst-inspect.c (print_all_uri_handlers): New function,
55         prints a summary of what URI schemes are supported by what
56         elements.
57         (main): Plumb in support for --uri-handlers or -u, and fix the
58         argc check for -a and -u.
59
60 2008-11-17  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
61
62         * gst/gstutils.h:
63         Add G_GNUC_PURE to gst_util_uint64_scale* and the double<->uint64
64         conversion functions.
65
66 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
67
68         * gst/gstbuffer.c: (gst_buffer_finalize):
69         Avoid costly typechecking for trivially correct pointers.
70
71         * gst/gstpoll.c: (gst_poll_wait):
72         Add some G_LIKELY here and there.
73
74         * libs/gst/base/gstadapter.c: (gst_adapter_push):
75         Add some debug info.
76
77 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
78
79         * docs/random/wtay/poll-timeout:
80         Small tweaks.
81
82 2008-11-13  Wim Taymans  <wim.taymans@collabora.co.uk>
83
84         * tests/old/testsuite/caps/intersection.c: (main):
85         * tests/old/testsuite/plugin/loading.c: (main):
86         Remove references to deprecated API g_mem_chunk*.
87         Fixes #560442.
88
89 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
90
91         * tools/gst-inspect.c: (main):
92         Add --plugin option. Fixes #560301.
93
94 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
95
96         * docs/random/wtay/poll-timeout:
97         Quick braindump for a possible (not totally verified) atomic case.
98
99 2008-11-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
100
101         * gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
102         (gst_registry_binary_initialize_magic),
103         (gst_registry_binary_write_cache),
104         (gst_registry_binary_check_magic):
105         * gst/gstregistrybinary.h:
106         Don't write and check a CRC for the binary registry file. It's
107         guaranteed that the registry is completely written (it's first written
108         to a temporary file and then moved) and if the registry was corrupted
109         by some hardware failure we would have bigger problems.
110
111         Bump binary registry version to 0.10.21.1 for this as it's an
112         incompatible change and to ensure that the registry gets rebuild
113         after the update.
114
115         This saves some milliseconds for reading/writing the registry.
116         Fixes bug #560399.
117
118 2008-11-11  Wim Taymans  <wim.taymans@collabora.co.uk>
119
120         * docs/random/wtay/poll-timeout:
121         Some pseudo code for how we could implement clock timeouts with GstPoll.
122
123 2008-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
124
125         * plugins/elements/gstfilesink.c:
126           Update Author string to match others.
127
128 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
129
130         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
131         Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
132         being fixed and inline the trivial check.
133
134 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
135
136         * gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
137         (gst_caps_merge_structure), (gst_caps_get_structure),
138         (gst_caps_copy_nth), (gst_caps_set_simple),
139         (gst_caps_set_simple_valist), (gst_caps_is_fixed),
140         (gst_caps_is_equal_fixed), (gst_caps_intersect),
141         (gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
142         (gst_caps_to_string):
143         Callgrind micro optimisations.
144         Avoid array bounds checks and force inline of trivial function.
145
146         * gst/gstobject.c: (gst_object_set_name_default):
147         -1 is equivalent to letting glib to the strlen but then there is more
148         room for optimisations and it's not our fault.
149
150         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
151         no need to clear the array, we're cool.
152
153         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
154         The most common _is_fixed() check is done on fundamental glib base
155         types so we check this first instead of doing a huge amount of
156         useless GST_TYPE_ARRAY calls.
157
158 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
159
160         * gst/gstevent.h:
161         Add a SKIP seek flag for use with advanced trickmodes.
162         API: GstSeekFlags::GST_SEEK_FLAG_SKIP
163
164 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
165
166         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
167         No need to memset, we can clear the value ourselves.
168
169         * gst/gstvalue.c: (gst_type_is_fixed),
170         (gst_value_get_compare_func):
171         Some optimisations from a few callgrind sessions:
172         When checking if a type is fixed, check for trivial fundamental types
173         first before checking types for which we need to get the type followed
174         by the heavy duty type checks, this reduces the amount of
175         g_type_fundamental() calls a lot.
176         When getting the compare function, first check for our registered types.
177         If that fails, do the heavy duty g_type_is_a() checks, reduces the
178         amount of g_type_is_a() considerably.
179
180 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
181
182         * docs/design/part-TODO.txt:
183         Mumble something about removing GstXML.
184
185 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
186
187         * gst/gstbin.c: (gst_bin_handle_message_func):
188         Get the seqnum before we dispose the message.
189
190 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
191
192         * docs/design/part-TODO.txt:
193         Refer to the framestepping document.
194
195 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
196
197         * gst/gstbin.c: (bin_handle_async_start),
198         (gst_bin_handle_message_func), (gst_bin_query):
199         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
200         (gst_base_sink_event), (gst_base_sink_change_state):
201         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
202         (gst_base_src_loop), (gst_base_src_change_state):
203         Copy seqnums from events to messages so that they can all be related
204         back to eachother.
205
206 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
207
208         * tools/gst-launch.c: (event_loop):
209         Print the message seqnums.
210
211 2008-11-04  Andy Wingo  <wingo@pobox.com>
212
213         * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
214
215 2008-11-04  Andy Wingo  <wingo@pobox.com>
216
217         Add sequence numbers to events and messages. See #559250.
218
219         * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
220         API: New functions.
221
222         * gst/gstevent.h:
223         * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
224         events with a new sequence number, and copy it when copying.
225         (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
226         an event's sequence number.
227
228         * gst/gstmessage.h:
229         * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
230         (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
231         so with messages.
232
233         * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
234
235 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
236
237         * docs/manual/advanced-position.xml:
238         * docs/manual/basics-bins.xml:
239         * docs/manual/basics-bus.xml:
240         * docs/manual/basics-pads.xml:
241         * docs/manual/intro-gstreamer.xml:
242         * docs/manual/intro-preface.xml:
243         Some Application Development Manual fixes thanks to
244         Andrew Feren. Fixes #558459.
245
246 2008-11-03  Stefan Kost  <ensonic@users.sf.net>
247
248         * gst/gstregistrybinary.c:
249           Don't bother with the GTimer if we don't output the results.
250
251 2008-11-03  Wim Taymans  <wim.taymans@collabora.co.uk>
252
253         Patch by: David Schleef  <ds@schleef.org>
254
255         * libs/gst/net/Makefile.am:
256         Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
257
258 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
259
260         * gst/gstregistrybinary.c:
261           Oh my, studip, stupid me. Remove double stat() call.
262
263 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
264
265         * gst/gstpreset.c:
266           Use g_unlink instead of unlink.
267
268         * gst/gststructure.c:
269           Use glib type.
270
271         * gst/gstutils.c:
272           Add a FIXME:.
273
274         * gst/gsttaglist.c:
275         * gst/gsttypefind.c:
276         * gst/gstvalue.c:
277           Formatting & whitespaces.
278
279 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
280
281         * plugins/elements/gstidentity.c:
282           Doc typo. Use return value of parent_class->event.
283   
284         * plugins/elements/gsttypefindelement.c:
285           Chain up at the end for consistency.
286   
287 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
288
289         * docs/Makefile.am:
290         * docs/gst/gstreamer-docs.sgml:
291         * docs/gst/gstreamer-sections.txt:
292         * docs/gst/running.xml:
293         * docs/libs/gstreamer-libs-docs.sgml:
294           Change to xinclude based build - its faster and easier to maintain.
295
296 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
297
298         * gst/gstregistrybinary.c:
299         * gst/gstregistryxml.c:
300           Use g_unlink() as none of these are directories.
301
302 2008-10-29  Wim Taymans  <wim.taymans@collabora.co.uk>
303
304         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
305         Some more comments.
306
307 2008-10-27  Wim Taymans  <wim.taymans@collabora.co.uk>
308
309         * libs/gst/base/gstbasetransform.c:
310         (gst_base_transform_find_transform), (gst_base_transform_getrange):
311         If we have a fixate function, call it even if we already have fixed caps
312         because the subclass might add some caps. Makes audioconvert add a
313         default channel layout.
314
315 2008-10-24  Wim Taymans  <wim.taymans@collabora.co.uk>
316
317         * libs/gst/base/gstbasetransform.c:
318         (gst_base_transform_prepare_output_buffer),
319         (gst_base_transform_getrange):
320         Clear the output buffer variable.
321         Cleanups to the error path in the getrange function.
322         Fixes #557649.
323
324 2008-10-23  Sebastian Dröge  <slomo@circular-chaos.org>
325
326         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
327         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
328         Use gst_buffer_try_new_and_alloc() and handle errors instead of
329         using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
330         be allocated.
331
332 2008-10-23  Wim Taymans  <wim.taymans@collabora.co.uk>
333
334         * gst/gstsegment.c: (gst_segment_set_newsegment_full):
335         Set the last_stop to a more meaningful position when configuring the
336         segment. ie. the start/stop of the segment or clipped against the
337         updated segment boundaries.
338
339         * tests/check/gst/gstsegment.c: (GST_START_TEST):
340         Add some unit tests for the last_stop.
341
342 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
343
344         * libs/gst/base/gstbytereader.c:
345         Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
346         copies of them.
347
348 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
349
350         * docs/gst/gstreamer-sections.txt:
351         * gst/gstutils.h:
352         API: Move float endianness conversion macros from libgstfloatcast
353         to core as it's useful in general, even in core. Fixes bug #555196.
354         This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
355         GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
356         GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
357
358         Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
359         GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
360         GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
361         GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
362
363 2008-10-22  Sebastian Dröge  <slomo@circular-chaos.org>
364
365         * docs/libs/gstreamer-libs-sections.txt:
366         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
367         (gst_byte_reader_peek_data):
368         * libs/gst/base/gstbytereader.h:
369         * win32/common/libgstbase.def:
370         API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
371         to get a pointer to the data at the current position and have
372         a guaranteed size.
373
374 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
375
376         * configure.ac:
377         Fix a bug in the output of the configure script summary
378         when --gst-disable-registry is supplied
379
380 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
381
382         * libs/gst/base/gstbitreader.c:
383         * libs/gst/base/gstbytereader.c:
384         Fix the names of 2 functions in the docs strings.
385
386 2008-10-21  Wim Taymans  <wim.taymans@collabora.co.uk>
387
388         * libs/gst/base/gstbasetransform.c:
389         (gst_base_transform_prepare_output_buffer),
390         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
391         Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
392         refcount problems as seen in banshee and maybe also in farsight2.
393         Remove atomic int now that we need to take the lock anyways.
394
395 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
396
397         * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
398         (gst_base_sink_default_prepare_seek_segment),
399         (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
400         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
401         (gst_base_sink_query):
402         Implement more seeking in pull mode.
403         Use pad convert functions to convert position to the requested format.
404         Fix position/duration reporting in pull mode.
405         Implement position and duration reporting in other formats than time.
406
407         * libs/gst/base/gstbasesink.h:
408         Add member to keep track of when the segment is playing.
409
410 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
411
412         * gst/gstpad.c: (gst_pad_configure_src):
413         When we use gst_pad_alloc_buffer() without wanting to set the caps we
414         also don't need to check if the caps are compatible because the caller
415         presumably is going to perform its own custom checks. Fixes some cases
416         where basetransform elements would error out when it was not needed.
417
418 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
419
420         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
421         Update comment.
422
423         * libs/gst/base/gstbasetransform.c:
424         (gst_base_transform_handle_buffer),
425         (gst_base_transform_reconfigure):
426         Add some debug info.
427
428         * win32/common/libgstbase.def:
429         Add new method.
430
431 2008-10-19  Stefan Kost  <ensonic@users.sf.net>
432
433         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
434           Remove duplicated assignment and log a message in failure case.
435
436 2008-10-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
437
438         Patch by: Dig Ge <dig.ge.cn at gmail com>
439
440         * tests/examples/helloworld/helloworld.c: (main):
441           Fix copy'n'paste bug in hello world example (#556900).
442
443 2008-10-17  Wim Taymans  <wim.taymans@collabora.co.uk>
444
445         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
446         (gst_base_sink_query):
447         Query the total number of bytes when activating the pad in pull mode.
448         Implement duration query in pull mode by using the installed pad convert
449         function to convert from bytes to the requested format.
450
451 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
452
453         * docs/libs/gstreamer-libs-sections.txt:
454         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
455         (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
456         (gst_base_sink_event), (gst_base_sink_perform_seek),
457         (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
458         (gst_base_sink_send_event), (gst_base_sink_change_state):
459         * libs/gst/base/gstbasesink.h:
460         Add method to commit the state in subclasses.
461         Refactor the flush_start and flush_stop code because we need it for
462         flushing while seeking too.
463         Implement the beginnings of seeking in pull mode.
464         Use the segment last_stop field for the pulling offset.
465         Fix the pause method in pull mode.
466         Configure the segment to BYTES for pull mode.
467         API: GstBaseSink::gst_base_sink_do_preroll()
468
469 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
470
471         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
472         Update some docs.
473
474 2008-10-14  Tim-Philipp Müller  <tim.muller at collabora co uk>
475
476         * gst/gstquark.c: (_priv_gst_quarks_initialize):
477           Fix printf format warning.
478
479 2008-10-14  Sebastian Dröge  <slomo@circular-chaos.org>
480
481         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
482         Fix flow aggregation of tee. Error out immediately for all flow returns
483         except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
484         and return OK if at least one pad is linked.
485
486         Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
487         and otherwise returned the flow return of the last pad, which is wrong.
488         
489         * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
490         (GST_START_TEST), (tee_suite):
491         Add unit tests for the flow aggregation.
492
493 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
494
495         * docs/design/part-TODO.txt:
496         Remove item from the todo list because it was fixed with the latency
497         state change rewrites.
498
499         * docs/design/part-seeking.txt:
500         * docs/design/part-segments.txt:
501         Update some docs.
502
503         * gst/gstevent.c: (gst_event_new_new_segment_full),
504         (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
505         (gst_event_parse_buffer_size), (gst_event_new_qos),
506         (gst_event_parse_qos), (gst_event_new_seek),
507         (gst_event_parse_seek), (gst_event_new_latency),
508         (gst_event_parse_latency):
509         Use quarks to construct and parse events.
510
511         * gst/gstquark.c: (_priv_gst_quarks_initialize):
512         * gst/gstquark.h:
513         Add some more quarks to the table.
514         Emit a warning when the quark tables are not in sync.
515
516         * tests/check/gst/gstbus.c: (GST_START_TEST):
517         Add an assert.
518
519 2008-10-13  Stefan Kost  <ensonic@users.sf.net>
520
521         * plugins/elements/Makefile.am:
522         * plugins/indexers/Makefile.am:
523           Don't install static libs for plugins. Fixes #550851 for core.
524
525 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
526
527         * gst/gstbus.c: (gst_bus_source_finalize),
528         (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
529         (gst_bus_enable_sync_message_emission),
530         (gst_bus_disable_sync_message_emission),
531         (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
532         Fix deadlock, g_source_get_id() cannot be called in finalize.
533         Keep track of the watch source by keeping a pointer to the source object
534         instead.
535         Use the bus lock to protect access to the pointer to the current
536         watch source.
537
538 2008-10-13  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
539
540         Base on Patch by: Olivier Crete <tester at tester dot ca>
541
542         * gst/gstbus.c: (gst_bus_source_finalize),
543         (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
544         Only allow one bus watch to be set at a time. This is necessary
545         because the dispatcher pops the message from the bus and the second
546         watcher will then get NULL or the next message (and the first won't
547         get this next message then, etc). If more than one "watcher" is
548         required signal watches should be used. Fixes bug #526044.
549
550 2008-10-12  Jan Schmidt  <jan.schmidt@sun.com>
551
552         * tools/gst-launch.c:
553         Change the printing of the 'buffering...' output to avoid putting
554         a \r in a translateable string (flagged by the TP).
555
556 2008-10-10  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
557
558         * gst/gstxml.c:
559         Clarify that the save_thyself() and restore_thyself() virtual
560         functions of GstObject need to be overriden, not
561         gst_object_(save|restore)_thyself() which is impossible.
562         Fixes bug #555700.
563
564 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
565
566         * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
567         Revert a patch from 21 months ago that broke caps negotiation in pull
568         mode. Basically, having a buffer pass over a pad will trigger the
569         setcaps function when caps change, just like in push mode.
570
571 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
572
573         * docs/design/part-negotiation.txt:
574         Update the docs some more.
575
576         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
577         If we pull a buffer with non-trivial caps, suggest those caps with the
578         max probability.
579
580 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
581
582         * docs/design/part-TODO.txt:
583         Add another limitation of pad-blocking with segment seeks not pushing
584         EOS events.
585
586 2008-10-10  Jan Schmidt  <jan.schmidt@sun.com>
587
588         * win32/common/libgstbase.def:
589         * win32/common/libgstreamer.def:
590         Add new symbols to the win32 defs files
591
592 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
593
594         * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
595         (gst_bin_handle_message_func):
596         The message src can be NULL, don't try to print the object names in that
597         case.
598
599         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
600         Add some more debug info.
601
602         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
603         (GST_START_TEST):
604         Add some debug.
605         Fix the test, pull based sinks go ASYNC to PAUSED, just like other
606         scheduling modes.
607
608 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
609
610         * docs/design/part-negotiation.txt:
611         Small doc update.
612
613         * docs/libs/gstreamer-libs-sections.txt:
614         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
615         (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
616         (gst_base_sink_init), (gst_base_sink_set_blocksize),
617         (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
618         (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
619         (gst_base_sink_loop), (gst_base_sink_pad_activate),
620         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
621         (gst_base_sink_change_state):
622         * libs/gst/base/gstbasesink.h:
623         Add blocksize property and methods to control the amount of data
624         to pull.
625         Negotiate first before activating upstream in pull mode so that they can
626         negotiate themselves.
627         When we operate in pull mode, we only accept the caps that we
628         negotiated.
629         Make the sink go ASYNC to PAUSED, like all other sinks.
630         API: GstBaseSink::gst_base_sink_set_blocksize()
631         API: GstBaseSink::gst_base_sink_get_blocksize()
632         API: GstBaseSink::blocksize
633
634         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
635         (gst_base_src_set_live), (gst_base_src_is_live),
636         (gst_base_src_set_format), (gst_base_src_query_latency),
637         (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
638         (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
639         (gst_base_src_set_property), (gst_base_src_get_property):
640         * libs/gst/base/gstbasesrc.h:
641         Add typechecking in public API functions.
642         Add methods to control the blocksize in subclasses.
643         API: GstBaseSrc::gst_base_src_set_blocksize()
644         API: GstBaseSrc::gst_base_src_get_blocksize()
645
646 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
647
648         * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
649         (buffer_probe), (event_probe), (GST_START_TEST):
650         We now see 3 events go through our pad, since basesink now sends
651         upstream latency events.
652
653 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
654
655         * gst/gstpipeline.c: (gst_pipeline_change_state):
656         Release the object lock before trying to flush the bus.
657
658 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
659
660         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
661         Forward LATENCY events upstreams so that elements know about the total
662         pipeline latency. Fixes #555307.
663
664 2008-10-08  Jan Schmidt  <jan.schmidt@sun.com>
665
666         * plugins/elements/gstqueue.c:
667         Allow through queries when we don't know how
668         to adjust them (not TIME or BYTES), as otherwise it's
669         not possible to query the current position in order
670         to seek in other formats at all.
671
672 2008-10-08  Andy Wingo  <wingo@pobox.com>
673
674         * docs/gst/gstreamer-sections.txt: Placate doc pendants.
675
676 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
677
678         * gst/gstghostpad.c:
679         * gst/gstghostpad.h:
680         Unbreak -good build, private is a reserved c++ keyword.
681
682 2008-10-08  Andy Wingo  <wingo@pobox.com>
683
684         * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
685         * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
686         removal: re-add GST_GHOST_PAD_CAST to the header.
687
688         * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
689         (GstGhostPadClass): Publically expose these structures so as to
690         allow easy subclassing from C. Hide the member data behind a
691         private opaque data pointer.
692
693         * gst/gstghostpad.c: Adapt to store instance data in the type
694         instance's private data region, not in the public struct.
695
696 2008-10-08  Andy Wingo  <wingo@pobox.com>
697
698         * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
699         template via g_object_get(), be sure to unref it.
700
701         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
702
703 2008-10-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
704
705         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
706         If we can't get a cache file don't try to save something to it.
707         Dereferencing NULL pointers usually isn't a good idea.
708
709 2008-10-07  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
710
711         * tests/check/Makefile.am:
712         * tests/check/gst/gstabi.c:
713         * tests/check/gst/struct_sparc.h:
714         * tests/check/libs/libsabi.c:
715         * tests/check/libs/struct_sparc.h:
716         Add Sparc ABI checks
717
718         * tests/check/gst/gstvalue.c: (GST_START_TEST):
719         Cast signed integer to unsigned to avoid a compiler warning.
720
721 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
722
723         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
724         (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
725         (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
726         (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
727         (gst_byte_reader_peek_int24_be):
728         Use new GST_READ_UINT24_(LE|BE) macros.
729
730 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
731
732         * docs/gst/gstreamer-sections.txt:
733         * gst/gstutils.h:
734         Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
735         as it's too easy to break the ISO C strict aliasing rules with simple
736         casts to the corresponding type and this would introduce hard to debug
737         bugs. Fixes bug #545714.
738
739         API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
740
741 2008-10-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
742
743         * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
744         * gst/gstghostpad.c: (gst_ghost_pad_construct):
745           Add 'Since' bits to gtk-doc chunks for new API.
746
747 2008-10-06  Thijs Vermeir  <thijsvermeir@gmail.com>
748
749         * docs/gst/gstreamer-sections.txt:
750         Fix documentation
751
752 2008-10-06  Andy Wingo  <wingo@pobox.com>
753
754         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
755         that will be called on the malloc_data to free it. Basically a way
756         to avoid subclassing when all you need is a different free
757         function, i.e. free() instead of g_free().
758
759         * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
760         calling the free function.
761         (gst_buffer_init): Initialize the free function to g_free.
762
763 2008-10-06  Andy Wingo  <wingo@pobox.com>
764
765         * gst/gstghostpad.h:
766         * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
767         finishes the initialization of ghost pad. Useful for language
768         bindings and subclassers of GstGhostPad. Fixes #539108.
769         (gst_ghost_pad_new_full): Use the new constructor.
770
771 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
772
773         Base on Patch by: Olivier Crete <tester at tester dot ca>
774
775         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
776         (gst_bin_remove_func), (update_degree),
777         (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
778         Keep track of pads that are being linked/unlinked and resync the state
779         changes.
780
781         * gst/gstpad.c: (gst_pad_get_direction),
782         (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
783         (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
784         (gst_pad_link_prepare), (gst_pad_link),
785         (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
786         (gst_pad_check_pull_range), (gst_pad_get_range),
787         (gst_pad_pull_range):
788         Some code cleanups, use macros to check pad direction.
789         Don't need to take the lock on the pad direction.
790         Post structure change when pads are linked/unlinked.
791         Change some checks into _return_if_fail().
792
793         * tests/check/gst/gstbin.c:
794         (test_link_structure_change_state_changed_sync_cb),
795         (GST_START_TEST), (gst_bin_suite):
796         Add testcase for pad link/unlinke resync during a state change.
797         Fixes #510354.
798
799 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
800
801         * docs/gst/gstreamer-sections.txt:
802         * gst/gstmessage.c: (gst_message_new_structure_change),
803         (gst_message_parse_structure_change):
804         * gst/gstmessage.h:
805         Implement STRUCTURE_CHANGED messages. These messages will be used to
806         signal the parent bin of link/unlink operations that could require a
807         resync when doing a state change. See ##510354.
808         API: gst_message_new_structure_change()
809         API: gst_message_parse_structure_change()
810
811 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
812
813         * gst/gstquark.c:
814         * gst/gstquark.h:
815         Add some more quarks for new message. See #510354.
816
817 2008-10-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
818
819         * docs/libs/gstreamer-libs-docs.sgml:
820         * docs/libs/gstreamer-libs-sections.txt:
821         * libs/gst/base/Makefile.am:
822         * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
823         (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
824         (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
825         (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
826         (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
827         (gst_bit_reader_skip_to_byte):
828         * libs/gst/base/gstbitreader.h:
829         * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
830         (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
831         (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
832         (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
833         (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
834         (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
835         (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
836         (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
837         (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
838         (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
839         (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
840         (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
841         * libs/gst/base/gstbytereader.h:
842         * tests/check/Makefile.am:
843         * tests/check/libs/bitreader.c: (GST_START_TEST),
844         (gst_bit_reader_suite):
845         * tests/check/libs/bytereader.c: (GST_START_TEST),
846         (gst_byte_reader_suite):
847         API: Add bit reader and byte reader classes, including documentation
848         and an extensive unit test suite. Fixes bug #553554.
849
850 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
851
852         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
853         (gst_base_sink_query):
854         Improve position reporting while flushing and other intermediate state
855         changes. Fixes #553874.
856
857 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
858
859         Patch by: Antoine Tremblay <hexa00 at gmail dot com>
860
861         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
862         Original patch by : Simon Descaries
863         Fix small refount leak in caps compatibility check.
864         Fixes #551676.
865
866 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
867
868         * docs/pwg/advanced-request.xml:
869           Fix 0.8 api usage in example. Fixes #554561
870
871         * docs/pwg/appendix-porting.xml:
872           Change 0.9 to 0.10 here.
873
874 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
875
876         * docs/manual/basics-data.xml:
877           Change "event-event interaction" to "element-element interaction".
878           Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
879           updates.
880
881 2008-10-05  Jan Schmidt  <jan.schmidt@sun.com>
882
883         * configure.ac:
884         Back to development -> 0.10.21.1
885
886 === release 0.10.21 ===
887
888 2008-10-02  Jan Schmidt <jan.schmidt@sun.com>
889
890         * configure.ac:
891           releasing 0.10.21, "Take These Things From Me"
892
893 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
894
895         * configure.ac:
896         0.10.20.4 pre-release
897
898 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
899
900         * libs/gst/base/gstbasetransform.c:
901         * plugins/elements/gstcapsfilter.c:
902         * tests/check/Makefile.am:
903         * tests/check/elements/.cvsignore:
904         * tests/check/elements/capsfilter.c:
905         Fix assertion in basetransform when the subclass chooses not to
906         allocate a buffer in prepare_buffer(), and make capsfilter error out
907         cleanly if requested to apply caps that don't completely specify the
908         buffer. Fixes #551509
909
910 2008-09-24  Wim Taymans  <wim.taymans@collabora.co.uk>
911
912         * libs/gst/base/gstbasetransform.c:
913         (gst_base_transform_prepare_output_buffer):
914         Take new caps ref because our old one might have been gone when the
915         subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
916
917 2008-09-15  Stefan Kost  <ensonic@users.sf.net>
918
919         * configure.ac:
920           Do not probe availability of check unit test library when cross
921           compiling, as test would not work anyway. Also cleanup verbose output
922           of the check test. Fixes #551952.
923
924 2008-09-14  Wim Taymans  <wim.taymans@collabora.co.uk>
925
926         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
927
928         * gst/gstelement.c: (gst_element_sync_state_with_parent):
929         Avoid leaking the parent ref when we fail changing the state of the
930         element using gst_element_sync_state_with_parent(). Fixes #551978.
931
932 2008-09-11  Tim-Philipp Müller  <tim.muller at collabora co uk>
933
934         * docs/manual/intro-motivation.xml::
935           Remove some bits that no longer apply, update others (#551642).
936
937 2008-09-10  Jan Schmidt  <jan.schmidt@sun.com>
938
939         * configure.ac:
940         0.10.20.2 pre-release
941
942         * po/LINGUAS:
943         * po/id.po:
944         * po/pt_BR.po:
945
946         New translations.
947
948 2008-09-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
949
950         * win32/common/config.h.in:
951           Add GST_DATADIR, hard-code cpu to x86.
952
953         * win32/common/libgstreamer.def:
954           Spaces to tabs.
955
956 2008-09-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
957
958         * gst/gsttaglist.h:
959           Fix Since: markers for new geo tags.
960
961 2008-09-02  Stefan Kost  <ensonic@users.sf.net>
962
963         * gst/gsttaglist.h:
964           Fix actual tag name define after renaming from altitude to elevation.
965
966 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
967
968         * gst/gstpad.c: (add_unref_pad_to_list),
969         (gst_pad_get_internal_links_default):
970         Add fallback when calling the deprecated function on an element that
971         implements the new internal_link handler.
972
973 2008-09-01  Stefan Kost  <ensonic@users.sf.net>
974
975         * docs/gst/gstreamer-sections.txt:
976         * gst/gsttaglist.c:
977         * gst/gsttaglist.h:
978           Add new tags for geo location and clarify purpose of existing location
979           tag. Fixes #481169
980
981 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
982
983         Patch by: Olivier Crete <tester at tester dot ca>
984
985         * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
986         (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
987         Use thread-safe internal links iterator. Fixes #549504.
988
989 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
990
991         Based on patch by: Olivier Crete <tester at tester dot ca>
992
993         * docs/gst/gstreamer-sections.txt:
994         * win32/common/libgstreamer.def:
995         * gst/gstpad.c: (gst_pad_init),
996         (gst_pad_set_iterate_internal_links_function),
997         (int_link_iter_data_free), (iterate_pad),
998         (gst_pad_iterate_internal_links_default),
999         (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
1000         * gst/gstpad.h:
1001         Add threadsafe replacement functions for getting internal links of an
1002         element. Deprecate the old internal links functions.
1003         API:GstPad::gst_pad_set_iterate_internal_links_function()
1004         API:GstPad::GstPadIterIntLinkFunction
1005         API:GstPad::gst_pad_iterate_internal_links()
1006         API:GstPad::gst_pad_iterate_internal_links_default()
1007
1008         * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
1009         (gst_proxy_pad_init):
1010         Implement threadsafe internal links.
1011
1012         * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
1013         Unit test for internal links on tee. See #549504.
1014
1015 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1016
1017         * tests/check/Makefile.am:
1018         libs/transform1 test requires libs/test_transform.c
1019
1020 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1021
1022         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1023         Die evil deadlock, die !
1024
1025 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
1026
1027         * gst/gstutils.c: (gst_element_get_compatible_pad):
1028         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1029         * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
1030         Fix all leaks due to the bug in gst_pad_template_new() by which it does
1031         not steal the refcount of the given caps as stated.
1032
1033         REVERT THIS COMMIT ONCE FIXED !
1034         REVERT THIS COMMIT ONCE FIXED !
1035         REVERT THIS COMMIT ONCE FIXED !
1036         REVERT THIS COMMIT ONCE FIXED !
1037         REVERT THIS COMMIT ONCE FIXED !
1038         REVERT THIS COMMIT ONCE FIXED !
1039
1040 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1041
1042         * gst/gstiterator.c:
1043         * gst/gstiterator.h:
1044         After 3 years it's about time to revise the documentation of the
1045         iterator objects.
1046
1047 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
1048
1049         * gst/gstpad.c: (gst_pad_get_internal_links_default):
1050         Make the internal links function less thread-unsafe and add some
1051         comments, dunno why.
1052
1053 2008-08-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1054
1055         * gst/gst_private.h:
1056           Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
1057           build with --disable-gst-debug.
1058
1059 2008-08-28  David Schleef  <ds@schleef.org>
1060
1061         * gst/gstpadtemplate.c: Revert last change, since it breaks
1062           a few plugins, ffmpeg, alaw, and mulaw.  Code is correct,
1063           but shouldn't be enabled until we've released fixed versions
1064           of -good and -ffmpeg.
1065
1066 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1067
1068         * gst/gstobject.c:
1069           Put the gst_object_get_name() back in.
1070
1071 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1072
1073         * gst/gstpadtemplate.c:
1074           The old behaviour was that gst_pad_template_new() takes ownership of
1075           the caps. As we now call g_object_new() which calls g_object_set() and
1076           which copies the caps, we have to unref them to not leak them. Fixes
1077           make valgrid for me.
1078
1079 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
1080
1081         * gst/gsturi.c:
1082           Don't segfault on input like "tel:+1-123-555-1234".
1083
1084 2008-08-27  Stefan Kost  <ensonic@users.sf.net>
1085
1086         * gst/gstobject.c:
1087           Due to popular request also include ObjectType in
1088           gst_object_get_path_string(). Makes gst-launch -v bit more useful.
1089
1090 2008-08-26  David Schleef  <ds@schleef.org>
1091
1092         * gst/gstutils.c: Remove check in gst_pad_query_convert() that
1093           src_val must be positive, because that's not a requirement.
1094           This causes problems with converting negative granulepos
1095           values for Dirac.
1096         * gst/gstquery.c: Same, gst_query_new_convert().
1097
1098 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1099
1100         * gst/gstclock.c: (gst_clock_add_observation):
1101         Add some more debugging to the clock slaving code.
1102
1103         * win32/common/libgstbase.def:
1104         Add new basetransform method.
1105
1106 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1107
1108         * gst/gstbin.c: (gst_bin_element_set_state):
1109         Take the (recursive) state lock between getting the locked state of an
1110         element and changing the element state. This allows the application to
1111         lock an element's state and then change its state without races.
1112
1113 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1114
1115         * gst/gstbin.c: (gst_bin_element_set_state):
1116         When an element is in the locked state we still want to update the
1117         base_time of the element.
1118
1119 2008-08-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1120
1121         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1122         Use the result from gst_pad_set_caps() instead of assuming the element
1123         always accepted the caps computed by the default negotiate function.
1124
1125 2008-08-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1126
1127         * docs/libs/gstreamer-libs-sections.txt:
1128         * libs/gst/base/gstbasetransform.c:
1129         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1130         (gst_base_transform_chain), (gst_base_transform_suggest),
1131         (gst_base_transform_reconfigure):
1132         * libs/gst/base/gstbasetransform.h:
1133         Implement method for reconfiguring basetransform.
1134         API: GstBaseTransform::gst_base_transform_reconfigure()
1135
1136 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1137
1138         patch by: Murray Cumming <murrayc@murrayc.com>
1139
1140         * gst/gstutils.c:
1141           Mention that this is just like gst_buffer_merge() but with extra
1142           unreffing for C coders. Advise language bindings not to wrap it.
1143           Fixes Bug #533856.
1144           
1145           Also fix file comment.
1146
1147 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1148
1149         reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
1150
1151         * plugins/elements/gstfakesink.c:
1152         * plugins/elements/gstfakesrc.c:
1153           Call super::event() when not handling it. Fixes #544855.
1154
1155 2008-08-19  Michael Smith <msmith@songbirdnest.com>
1156
1157         Patch by: Alessandro Decina <alessandro@nnva.org>
1158         * plugins/elements/gstfilesrc.c:
1159           Use 64 bit variants of stat functions on win32, to enable support
1160           of large files there.
1161           Fixes #547277.
1162
1163 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1164
1165         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
1166         (gst_base_sink_event), (gst_base_sink_chain_unlocked),
1167         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1168         (gst_base_sink_get_position), (gst_base_sink_change_state):
1169         Improve position reporting in the flushing state.
1170         Also report the position when we are not yet prerolled but we
1171         have a newsegment event. Fixes #543444.
1172         Improve the pull-based negotiation code.
1173
1174         * tests/check/elements/fakesink.c: (GST_START_TEST),
1175         (fakesink_suite):
1176         Add testcase for position reporting while flushing in PAUSED and
1177         PLAYING.
1178
1179         * tests/check/generic/sinks.c: (GST_START_TEST):
1180         Update unit-test, we can now query the position as soon as we receive a
1181         NEWSEGMENT event.
1182
1183 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1184
1185         Based on patch by: Jason Zhao <e3423c at motorola dot com>
1186
1187         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
1188         When the subclass event handler releases the PREROLL_LOCK, we could be
1189         in the flushing state and we have to ignore the event. Fixes #548394.
1190
1191 2008-08-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1192
1193         * tools/gst-launch.1.in:
1194           Document GST_REGISTRY_UPDATE environment variable.
1195
1196 2008-08-18  Wim Taymans  <wim.taymans@collabora.co.uk>
1197
1198         * libs/gst/base/gstbasetransform.c:
1199         (gst_base_transform_prepare_output_buffer):
1200         If the element is configured in passthrough mode but the
1201         prepare_output_buffer gave us a new output buffer, discard that buffer
1202         and reuse the input buffer.
1203
1204 2008-08-15  Wim Taymans  <wim.taymans@collabora.co.uk>
1205
1206         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1207
1208         * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
1209         (gst_tee_request_new_pad), (gst_tee_release_pad),
1210         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
1211         * plugins/elements/gsttee.h:
1212         Protect pad_alloc with a new lock so that we can be sure that nothing is
1213         performing a pad_alloc when removing the pad. Fixes #547835.
1214
1215         * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
1216         (buffer_alloc_harness_teardown), (app_thread_func),
1217         (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
1218         Added testcase for shutdown race.
1219
1220 2008-08-14  Thijs Vermeir  <thijsvermeir@gmail.com>
1221
1222         * gst/gstpad.h:
1223         Add doc
1224
1225 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1226
1227         * libs/gst/base/gstbasetransform.c:
1228         (gst_base_transform_prepare_output_buffer),
1229         (gst_base_transform_buffer_alloc):
1230         Go over the buffer_alloc function again and make sure we always end up
1231         allocating a buffer.
1232         Add some more docs.
1233         Avoid doing pad alloc when we have a pending suggestion because we
1234         cannot yet deal with changing caps in that case. Fixes #547728
1235
1236 2008-08-14  Stefan Kost  <ensonic@users.sf.net>
1237
1238         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1239
1240         * docs/manual/advanced-clocks.xml:
1241         * docs/manual/clocks.png:
1242         * docs/manual/diagrams-clocks.svg:
1243           Add one more image showing different times together with a describing
1244           paragraph. Fixes #547729.
1245
1246 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1247
1248         * win32/common/libgstbase.def:
1249         Add new method.
1250
1251 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1252
1253         * libs/gst/base/gstbasetransform.c:
1254         (gst_base_transform_transform_caps),
1255         (gst_base_transform_prepare_output_buffer),
1256         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
1257         Don't overwrite the outsize when calculating the expected size of a new
1258         buffer because we still need it in case we cannot process the new
1259         buffer.
1260         When converting the size of the new buffer to an upstream size, actually
1261         use the expected size of the buffer, not some other random value.
1262         Use an atomic int to signal that a new upstream caps suggestion is
1263         available.
1264         When we can convert the current buffer to a new format, check if the
1265         buffer size is of the expected size and allocate a new buffer of the
1266         expected size when this is not the case. Fixes #546883.
1267
1268         * tests/check/libs/transform1.c: (GST_START_TEST):
1269         remove ifdeffed code from the unit test.
1270
1271 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1272
1273         * pkgconfig/gstreamer-uninstalled.pc.in:
1274         * pkgconfig/gstreamer.pc.in:
1275           Remove -lgstcontrol-0.10 which never worked anyway as the lib is
1276           called gstcontroller-0.10.
1277
1278 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1279
1280         * gst/gstchildproxy.h:
1281         * gst/gstpreset.h:
1282           Remove double interface from doc-string.        
1283
1284 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1285
1286         * libs/gst/base/gstbasesrc.c:
1287         * libs/gst/base/gstbasetransform.c:
1288           Fix headings in docs and gtk-doc warnings.
1289
1290 2008-08-11  Michael Smith <msmith@songbirdnest.com>
1291
1292         * gst/gstregistrybinary.c:
1293           Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
1294           libc.
1295           Fixes #544776.
1296
1297 2008-08-11  Edward Hervey  <edward.hervey@collabora.co.uk>
1298
1299         * libs/gst/base/gstbasetransform.c:
1300         (gst_base_transform_buffer_alloc):
1301         Fix a "may be used unitialized" warning.
1302
1303 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1304
1305         * docs/gst/gstreamer-sections.txt:
1306         * gst/gstpreset.h:
1307           Document preset-iface vmethods.
1308
1309 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1310
1311         * docs/manual/advanced-interfaces.xml:
1312           Turn thoughts about HAL into a note-tag. Remove mentioning that is
1313           only used to discover devices.
1314
1315 2008-08-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
1316
1317         Patch by: Frederic Crozat <fcrozat@mandriva.org>
1318
1319         * gst/gst.c: (init_pre):
1320         Make sure gettext returns translations in UTF-8 encoding rather
1321         than in the current locale encoding (#546822).
1322
1323 2008-08-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1324
1325         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1326         Fix subset test.
1327
1328         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1329         Improve unit test subset tests and add a testcase for the subset failure
1330         cases.
1331
1332         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1333         Improve subtraction unit test.
1334
1335 2008-08-07  Stefan Kost  <ensonic@users.sf.net>
1336
1337         * plugins/elements/gsttee.c:
1338           Unlock, instead of locking again.
1339
1340 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1341
1342         * gst/gstpad.h:
1343         Clarify the docs a bit more.
1344
1345 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1346
1347         * tests/examples/metadata/read-metadata.c:
1348           Don't leak old taglist.
1349
1350 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1351
1352         Patch by: Olivier Crete <tester at tester dot ca>
1353
1354         * gst/gststructure.c:
1355         (gst_structure_fixate_field_nearest_fraction):
1356         Avoid overflows in fixation code when dealing with MAXINT values, which
1357         v4l2src seems to do.
1358         Fixes #546328.
1359
1360         * tests/check/gst/gststructure.c: (GST_START_TEST):
1361         Make a unit test to check the fix. 
1362
1363 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1364
1365         * plugins/elements/gstcapsfilter.c: (copy_func),
1366         (gst_capsfilter_set_property):
1367         Use new caps suggestion feature of basetransform to request a caps
1368         negotiation upstream.
1369
1370 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1371
1372         * docs/libs/gstreamer-libs-sections.txt:
1373         Add new function:
1374         API: GstBaseTransform::gst_base_transform_suggest()
1375
1376         * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1377         (gst_base_transform_init), (gst_base_transform_transform_caps),
1378         (gst_base_transform_transform_size),
1379         (gst_base_transform_configure_caps),
1380         (gst_base_transform_can_transform),
1381         (gst_base_transform_find_transform), (gst_base_transform_setcaps),
1382         (gst_base_transform_prepare_output_buffer),
1383         (gst_base_transform_buffer_alloc),
1384         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1385         (gst_base_transform_chain), (gst_base_transform_activate),
1386         (gst_base_transform_set_passthrough),
1387         (gst_base_transform_is_passthrough),
1388         (gst_base_transform_set_in_place),
1389         (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
1390         (gst_base_transform_set_qos_enabled),
1391         (gst_base_transform_is_qos_enabled),
1392         (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
1393         (gst_base_transform_reconfigure):
1394         * libs/gst/base/gstbasetransform.h:
1395         Rewrite of basetransform to perform negotiation outside of the
1396         buffer_alloc functions.  Fixes #545853.
1397
1398         * tests/check/libs/transform1.c: (GST_START_TEST),
1399         (buffer_alloc_ct2):
1400         Update unit test.
1401
1402 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1403
1404         * tests/check/gst/gstpreset.c:
1405           Only run preset tests when $HOME is writable. Preliminary fix for
1406           #545433.
1407
1408 2008-08-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1409
1410         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1411         (gst_bin_change_state_func), (bin_handle_async_done),
1412         (gst_bin_handle_message_func):
1413         Fix race for bins that simulate ASYNC state changes by inserting
1414         ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
1415         pending ASYNC messages even when the bin does not have ASYNC children.
1416         We note detect this behaviour because we will receive an ASYNC message
1417         that is originating from the bin itself. 
1418         Fixes races with decodebin2 state changes.
1419
1420         * tests/check/gst/gstbin.c: (GST_START_TEST):
1421         Add some more debug.
1422
1423 2008-08-04  Tim-Philipp Müller  <tim.muller at collabora co uk>
1424
1425         * gst/gsttaglist.c: (_gst_tag_initialize):
1426           Fix typo.
1427
1428 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1429
1430         * gst/gsttaglist.c:
1431           Argh. actually save the text before committing. Now adds
1432           gst_tag_merge_strings_with_comma() to gst_tag_register().
1433
1434 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1435
1436         * gst/gsttaglist.c:
1437         * gst/gsttaglist.h:
1438           Do as tim pointed out and actually register the new tag. Also improve
1439           te docs and use gst_tag_merge_strings_with_comma() method to allow
1440           retriving all keywords merged in one list.
1441
1442 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1443
1444         * configure.ac:
1445         * docs/gst/gstreamer.types:
1446           Revert 'accidential' change of the configure option removal. We still
1447           need to generate the types file in configure --disable-load-save.
1448
1449 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1450
1451         * docs/gst/gstreamer-sections.txt:
1452         * gst/gsttaglist.h:
1453           Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
1454
1455 2008-08-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1456
1457         * gst/gstpadtemplate.c:
1458           (gst_pad_template_class_init), (gst_static_pad_template_get),
1459           (gst_pad_template_new), (gst_pad_template_pad_created),
1460           (gst_pad_template_set_property), (gst_pad_template_get_property):
1461           Add "name-template", "direction", "presence" and "caps" properties,
1462           so that gst_pad_template_new() is just a thin wrapper around
1463           g_object_new(), which is better for bindings. (Fixes: #539772)
1464
1465 2008-07-31  Michael Smith <msmith@songbirdnest.com>
1466
1467         * gst/gsturi.c:
1468           Be more liberal in what URIs we accept.
1469           Do not unescape bits of the URI for no apparent reason before passing to
1470           the element. Fixes #545352.
1471
1472 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1473
1474         Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
1475
1476         * gst/gst.c:
1477         Include gstconfig.h as macros from it are used. Fixes bug #545607.
1478
1479 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1480
1481         * configure.ac:
1482         * docs/gst/gstreamer-sections.txt:
1483         * docs/gst/gstreamer.types:
1484         * docs/gst/gstreamer.types.in:
1485         * gst/Makefile.am:
1486         * gst/gst.c:
1487         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
1488         * gst/gstconfig.h.in:
1489         * gst/gstelement.c: (gst_element_get_index):
1490         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1491         (gst_registry_binary_load_feature),
1492         (gst_registry_binary_read_cache):
1493         * gst/gstregistryxml.c: (load_feature),
1494         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1495         * plugins/Makefile.am:
1496         * tools/gst-indent:
1497         * tools/gst-inspect.c: (print_index_info), (print_element_list),
1498         (print_plugin_features), (print_element_features):
1499         * tools/gst-xmlinspect.c: (print_event_masks),
1500         (print_element_info):
1501         * win32/common/gstconfig.h:
1502         Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
1503
1504         Disabling the indexers and URI handler code will only reduce the
1505         required amount of memory by a very small amount but on the other hand
1506         requires much more maintaince work. Apart from that many places of
1507         code are broken when disabling them.
1508
1509         Disabling the enum types doesn't reduce the required amount of memory
1510         by more than a few bytes and makes it hard to fix bugs like #539772,
1511         i.e. use the enums as GObject properties.
1512
1513 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1514
1515         * docs/design/part-TODO.txt:
1516         Add some thoughts and problems with upstream renegotiation.
1517
1518 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1519
1520         * gst/gstpad.c: (gst_pad_acceptcaps_default),
1521         (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1522         Remove silly redundant debug.
1523         Add some more debug info.
1524         Clarify the docs regarding new caps received from pad_alloc.
1525
1526 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1527
1528         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1529         (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1530         Make setting the caps more threadsafe.
1531
1532 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1533
1534         * docs/design/part-element-transform.txt:
1535         Update docs.
1536
1537 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1538
1539         * plugins/elements/gstqueue.c: (gst_queue_init),
1540         (gst_queue_acceptcaps):
1541         Add and use a custom acceptcaps function instead of falling back to the
1542         potentially less optimized default implementation.
1543
1544 2008-07-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1545
1546         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1547           Only sanity-check the buffer size if requested_caps == buffer_caps
1548           (ie. don't take pad caps into account, they're not relevant here)
1549
1550 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1551
1552         * plugins/elements/gsttee.c:
1553         * plugins/elements/gsttee.h:
1554           Reverting as not everything is clear yet. Needs some general design
1555           work.
1556
1557 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1558
1559         * ChangeLog:
1560           ChangeLog surgery for tee commit.
1561
1562 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1563
1564         * docs/gst/gstreamer-sections.txt:
1565           Cleanup section-file.
1566
1567 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1568
1569         * plugins/elements/gsttee.c:
1570         * plugins/elements/gsttee.h:
1571           Relay tag events in tee. Fixes parts of #474016.
1572           Downgrades 3 reoccurring debugs to log.
1573
1574 2008-07-28  Michael Smith <msmith@songbirdnest.com>
1575
1576         * configure.ac:
1577         * libs/gst/Makefile.am:
1578           Build the net library if we have winsock2.
1579
1580 2008-07-26  Stefan Kost  <ensonic@users.sf.net>
1581
1582         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1583
1584         * docs/manual/advanced-threads.xml:
1585         * docs/manual/diagrams-pipelines.svg:
1586         * docs/manual/hello-world.png:
1587         * docs/manual/linked-elements.png:
1588         * docs/manual/mime-world.png:
1589         * docs/manual/queue.png:
1590         * docs/manual/thread-buffering.png:
1591         * docs/manual/thread-synchronizing.png:
1592           Replace one diagram with two separate ones and updates others.
1593           Fixes #542401.
1594
1595 2008-07-25  Thijs Vermeir  <thijsvermeir@gmail.com>
1596
1597         * gst/gstelement.h:
1598         Fix link in documentation.
1599
1600 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1601
1602         * gst/gstmessage.c:
1603         Fix confusing documentation.
1604
1605 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1606
1607         * libs/gst/base/gstbasesrc.h:
1608         revert the changes to the header file for the ABI.
1609
1610 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1611
1612         * libs/gst/base/gstbasesrc.c:
1613         * libs/gst/base/gstbasesrc.h:
1614         Don't cache the seekable status.
1615         Fixes bug #544174
1616
1617 2008-07-24  Rene Stadler  <mail@renestadler.de>
1618
1619         * docs/manual/advanced-autoplugging.xml: Add fakesink to example
1620         code to close the pipeline graph.  This prevents the program from
1621         printing internal data flow errors.
1622
1623 2008-07-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1624
1625         * docs/manual/basics-bus.xml:
1626         Correct typo. Fixes bug #544320.
1627
1628 2008-07-22  Michael Smith <msmith@songbirdnest.com>
1629
1630         * configure.ac:
1631           Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
1632           Add check (taken from -base) for winsock, adds WIN32_LIBS
1633         * gst/Makefile.am:
1634           Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
1635           winsock.
1636           Define GST_EXPORTS when building libgstreamer (only used on win32)
1637         * gst/gst_private.h:
1638         * gst/gstinfo.h:
1639           Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
1640           for symbols that we need to export in both these files.
1641         * gst/gstpoll.c:
1642           Include gst_private.h higher up to avoid some compile problems on win32.
1643
1644 2008-07-22  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1645
1646         * gst/gstvalue.c:
1647         Fix typos.
1648
1649 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1650
1651         * gst/gstcaps.c:
1652         Previous commit was wrong NULL caps does not exist
1653         and indicate an error, so also add a FIXME to
1654         gst_caps_is_equal where NULL caps are accepted.
1655
1656 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1657
1658         * gst/gstcaps.c:
1659         Allow passing of NULL to gst_caps_union
1660
1661 2008-07-21  Thijs Vermeir  <thijsvermeir@gmail.com>
1662
1663         * gst/gstghostpad.c:
1664         Add in doc that gst_ghost_pad_set_target can accept
1665         NULL to clear target
1666
1667 2008-07-15  Michael Smith <msmith@songbirdnest.com>
1668
1669         * gst/gstplugin.c:
1670         * gst/gstregistry.c:
1671           GstRegistryPool doesn't exist; don't refer to it in docs.
1672           Don't refer to functions that don't exist in docs, it's
1673           unhelpful.
1674
1675 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1676
1677         * gst/gst.c:
1678         Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
1679
1680 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1681
1682         Patch by: Tristan Matthews <le dot businessman at gmail dot com>
1683
1684         * docs/pwg/building-testapp.xml:
1685         Don't use an undeclared variable in the example program.
1686         Fixes bug #542573.
1687
1688 2008-07-12  Stefan Kost  <ensonic@users.sf.net>
1689
1690         * gst/gstdebugutils.c:
1691           Squeeze ghost-pad links and remove <> from classname labels to save
1692           more horizontal space.
1693
1694 2008-07-11  Stefan Kost  <ensonic@users.sf.net>
1695
1696         * gst/gstdebugutils.c:
1697           Give request and sometimes pads a different shpe style. Condense the
1698           graphs a little more.
1699
1700 2008-07-09  Michael Smith <msmith@songbirdnest.com>
1701
1702         * configure.ac:
1703           Don't require flex and bison if the parser is disabled.
1704
1705 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1706
1707         * libs/gst/controller/gstinterpolationcontrolsource.c:
1708         (_list_find_sorted_custom):
1709         Don't use declarations after statements.
1710
1711 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1712
1713         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1714         Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
1715         of the the child-added / -removed signals as GstChildProxy
1716         only supports GstObjects.
1717
1718 2008-07-07  Thijs Vermeir  <thijsvermeir@gmail.com>
1719
1720         * gst/gstdebugutils.c:
1721         Fix memleak
1722
1723 2008-07-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1724
1725         Patch by: Alessandro Decina <alessandro at nnva dot org>
1726
1727         * gst/gstpoll.c:
1728         Fix "ignored return value" compiler warning with newer glibc.
1729
1730 2008-07-05  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1731
1732         * gst/gstchildproxy.c:
1733         Fix copy&paste error in gst_child_proxy_removed() documentation.
1734
1735 2008-07-02  Tim-Philipp Müller  <tim.muller at collabora co uk>
1736
1737         * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
1738           Print error debug message if plugin description fields that should
1739           be set are NULL.
1740
1741         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
1742           Don't crash if the string to serialise is NULL (it really should
1743           not be, but apparently this used to work with the xml registry ...).
1744
1745 2008-07-02  Thijs Vermeir  <thijsvermeir@gmail.com>
1746
1747         * tools/gst-plot-timeline.py:
1748         Fix parsing of log messages
1749
1750 2008-07-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1751
1752         * win32/common/libgstbase.def::
1753           Sort alphabetically so make check-exports doesn't barf.
1754
1755 2008-07-01  Stefan Kost  <ensonic@users.sf.net>
1756
1757         * gst/gstevent.c:
1758           Use gst_format_get_name() to improve debug output.
1759
1760         * gst/gstpreset.c:
1761           Remove #ifdef'ed code. Add TODO comment.
1762
1763         * gst/gstsegment.c:
1764           Add debug output to ease spotting format != segment.format assertions.
1765
1766 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1767
1768         * tests/check/libs/gdp.c: (gst_dp_suite):
1769         Also enable the GDP unit test again on PPC now that the bug
1770         is fixed.
1771
1772 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1773
1774         * libs/gst/dataprotocol/dataprotocol.c:
1775         Don't write to the same region of memory as a uint64 and uint16
1776         as this breaks strict aliasing rules and apparantly breaks on PPC
1777         and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
1778
1779 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
1780
1781         * libs/gst/controller/gstinterpolationcontrolsource.c:
1782           Optimize list handling. Use own find function. Exploit that fact that
1783           the list is sorted. Also pass back the node before, so that we can
1784           insert quickly. Have a fast path for append.
1785
1786 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
1787
1788         * docs/design/draft-framestep.txt:
1789         * docs/design/part-negotiation.txt:
1790           Fix two typos.
1791
1792 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
1793
1794         * configure.ac:
1795           Show configuration sumary after configure run. Based on patch by
1796           Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
1797
1798 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
1799
1800         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1801
1802         * docs/manual/advanced-autoplugging.xml:
1803         * docs/manual/advanced-threads.xml:
1804         * docs/manual/basics-bins.xml:
1805         * docs/manual/basics-elements.xml:
1806         * docs/manual/basics-helloworld.xml:
1807         * docs/manual/basics-pads.xml:
1808           Add scale factor for pdf output.
1809
1810         * docs/manual/intro-basics.xml:
1811           Switched sections "pads" and "bins" and added a pipeline diagram.
1812
1813         * docs/manual/intro-gstreamer.xml:
1814           Added more info on gstreamer.
1815
1816         * docs/manual/intro-motivation.xml:
1817           Commented out the whole section "current problem", which sounds
1818           historical and somehow osolete; it could be turned in a positive
1819           way and reused to improve the design principles.
1820
1821         * docs/manual/intro-preface.xml:
1822           - Update URLs to library.gnome.org. 
1823           - Do not mention GTK+ in preliminary reading (irrelevant). 
1824           - Mention Plugin Writer's Manual and further reading only in the
1825             previous section.
1826           - Added a list of most relevant GObject/glib topics.
1827
1828         * docs/manual/Makefile.am:
1829         * docs/manual/bin-element-ghost.fig:
1830         * docs/manual/bin-element-ghost.png:
1831         * docs/manual/bin-element-noghost.fig:
1832         * docs/manual/bin-element-noghost.png:
1833         * docs/manual/bin-element.fig:
1834         * docs/manual/bin-element.png:
1835         * docs/manual/filter-element-multi.fig:
1836         * docs/manual/filter-element-multi.png:
1837         * docs/manual/filter-element.fig:
1838         * docs/manual/filter-element.png:
1839         * docs/manual/gstreamer-overview.png:
1840         * docs/manual/hello-world.fig:
1841         * docs/manual/hello-world.png:
1842         * docs/manual/linked-elements.fig:
1843         * docs/manual/linked-elements.png:
1844         * docs/manual/mime-world.fig:
1845         * docs/manual/mime-world.png:
1846         * docs/manual/queue.fig:
1847         * docs/manual/queue.png:
1848         * docs/manual/simple-player.png:
1849         * docs/manual/sink-element.fig:
1850         * docs/manual/sink-element.png:
1851         * docs/manual/src-element.fig:
1852         * docs/manual/src-element.png:
1853         * docs/manual/diagrams-general.svg:
1854         * docs/manual/diagrams-pipelines.svg:
1855           Removed .fig, added .png counterpart.
1856           
1857           Fixes: #539137
1858
1859 2008-06-26  Thijs Vermeir  <thijsvermeir@gmail.com>
1860
1861         * plugins/elements/gstmultiqueue.c:
1862         * plugins/elements/gstmultiqueue.h:
1863         revert extra-size-buffers stuff, caused some race conditions
1864         and extra-size-buffers is not used anymore. Docs needs some updates
1865
1866 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
1867
1868         * win32/common/config.h:
1869         * win32/common/gstenumtypes.c:
1870         * win32/common/gstenumtypes.h:
1871         * win32/common/gstversion.h:
1872           Update win32 files.
1873
1874 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
1875
1876         * gst/gstdebugutils.h: (GstDebugGraphDetails),
1877           (GST_DEBUG_BIN_TO_DOT_FILE):
1878           Add missing Since' markers to gtk-doc blurbs.
1879
1880 2008-06-26  Wim Taymans  <wim.taymans@collabora.co.uk>
1881
1882         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1883         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1884         (set_caps_1), (set_caps_ct1), (transform_ct1),
1885         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1886         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
1887         (transform_size_ct2), (buffer_alloc_ct2):
1888         Add some more tests with switching caps in buffer_alloc.
1889
1890 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1891
1892         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1893         (gst_test_trans_class_init), (result_sink_chain),
1894         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
1895         (gst_test_trans_push), (gst_test_trans_pop):
1896         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1897         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1898         (set_caps_1), (set_caps_ct1), (transform_ct1),
1899         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1900         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
1901         (transform_size_ct2), (buffer_alloc_ct2),
1902         (gst_basetransform_suite):
1903         More tests, prepare for tests with switching caps in buffer_alloc.
1904
1905 2008-06-25  Thijs Vermeir  <thijsvermeir@gmail.com>
1906
1907         * plugins/elements/gstmultiqueue.c:
1908         * plugins/elements/gstmultiqueue.h:
1909         Fix dead-lock in underrun_cb
1910
1911 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1912
1913         * docs/design/part-states.txt:
1914         Fix device open/close docs.
1915
1916 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1917
1918         * ChangeLog:
1919           Mention bugnumber for last commit.
1920
1921 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1922
1923         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1924
1925         * docs/manual/manual.xml:
1926         - Reorganised the previous "introduction" bundle into Foreword,
1927         Introduction, and About GStreamer. The two first are <preface>
1928         docbook elements. The later is the first part of the book.
1929         - added intro-gstreamer.xml (content partially from
1930         intro-preface.xml)
1931         - moved appendix-win32.xml into appendix-integration.xml
1932
1933         * docs/manual/intro-preface.xml: gstreamer section moved...
1934         * docs/manual/intro-gstreamer.xml: ...here. new file.
1935
1936         * docs/manual/appendix-win32.xml: removed file. Content moved...
1937         * docs/manual/appendix-integration.xml: ...here.
1938         
1939         * docs/manual/highlevel-components.xml: section about GstEditor moved...
1940         * docs/manual/appendix-checklist.xml: ...here.
1941         
1942         Fixes: 538764
1943
1944 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1945
1946         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1947
1948         * docs/manual/basics-helloworld.xml:
1949         * docs/manual/hello-world.fig:
1950           - Explicitely include glib.h.
1951           - Do not use global variables.
1952           - Use g_printerr() instead of g_print().
1953           - Minor formating/renaming to increase readibility.
1954           - Renamed new_pad() to on_pad_added()
1955           - Improved explenatory comments.
1956           - renamed ogg parser to ogg demuxer
1957           - Use "autoaudiosink" instead of "alsasink".
1958           Fixes: #538619
1959
1960 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1961
1962         * ChangeLog:
1963           Remove cvs conflict marker.
1964
1965 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1966
1967         * docs/README:
1968           Document that for plgin-docs we extraxt he short-desc from the element
1969           details.
1970
1971         * docs/design/part-states.txt:
1972           Tell that devices should be closed in PAUSED -> READY.
1973
1974         * docs/manual/README:
1975           Document how tests in the manual are handled.
1976
1977         * docs/manuals.mak:
1978           Typo in comment.
1979
1980 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1981
1982         * gst/gstbin.c: (bin_query_latency_fold):
1983         Only care about latency min and max when the sink is actually a live
1984         sink.
1985
1986 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1987
1988         * docs/design/part-block.txt:
1989         Fix typo.
1990
1991         * docs/design/part-element-transform.txt:
1992         Add notes about why transform needs to know input/output sizes.
1993         Add some issues that need to be solved.
1994         Add some more use cases.
1995
1996         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1997         (gst_test_trans_class_init), (result_sink_chain),
1998         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
1999         (gst_test_trans_push), (gst_test_trans_pop):
2000         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
2001         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
2002         (set_caps_1), (set_caps_ct1), (transform_ct1),
2003         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
2004         (gst_basetransform_suite):
2005         Add suport for different pad templates and buffer-alloc.
2006         Add more checks for caps and buffer-alloc.
2007         Add checks for proxy buffer alloc.
2008         Add unit test for copy transform.
2009
2010 2008-06-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2011
2012         Patch by: Luc Pionchon  <luc.pionchon@nokia.com>
2013
2014         * docs/manual/appendix-integration.xml:
2015         * docs/manual/appendix-licensing.xml:
2016         * docs/manual/basics-elements.xml:
2017         * docs/manual/basics-helloworld.xml:
2018         * docs/manual/basics-pads.xml:
2019         * docs/manual/highlevel-components.xml:
2020         * docs/manual/highlevel-xml.xml:
2021         * docs/manual/intro-basics.xml:
2022         * docs/manual/intro-preface.xml:
2023           Typo and formatting fixes (#538594).
2024
2025 2008-06-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2026
2027         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2028         Fix some memory leaks and uses of object instances that we don't
2029         actually own.
2030
2031 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2032
2033         * plugins/elements/gstmultiqueue.c:
2034         Add functionality to extra-size-buffers property.
2035
2036 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
2037
2038         * plugins/elements/gstmultiqueue.c:
2039         Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
2040         activate the pads if they are added in STATE_NULL.
2041
2042 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2043
2044         * docs/libs/gstreamer-libs-sections.txt:
2045         Add new API to doc
2046         * libs/gst/check/gstcheck.c:
2047         * libs/gst/check/gstcheck.h:
2048         API: gst_check_teardown_pad_by_name
2049
2050 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
2051
2052         * libs/gst/check/gstcheck.c:
2053         * libs/gst/check/gstcheck.h:
2054         Also setup request pads and allow setup pads by name (#537812)
2055         API: gst_check_setup_src_pad_by_name
2056         API: gst_check_setup_sink_pad_by_name
2057
2058 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2059
2060         * tests/check/gst/gstbuffer.c:
2061         * tests/check/pipelines/parse-launch.c:
2062           Use HAVE_VALGRIND_H some more.
2063
2064 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2065
2066         * scripts/cvs-update.sh:
2067           Pass arguments to make.
2068           Run autoregen.sh if Makefile is not there.
2069
2070 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
2071
2072         * configure.ac:
2073         * gst/gstinfo.c:
2074           Don't assume that <valgrind/valgrind.h> exists just because
2075           the binary is there.
2076
2077 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2078
2079         * tests/check/Makefile.am:
2080         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
2081         (gst_test_trans_class_init), (gst_test_trans_init),
2082         (gst_test_trans_set_data), (result_sink_chain),
2083         (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
2084         (gst_test_trans_pop):
2085         * tests/check/libs/transform1.c: (GST_START_TEST),
2086         (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
2087         Add some test basetransform element and the beginnings of various
2088         unit tests for it.
2089
2090 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2091
2092         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2093         Increase code readability.
2094         Don't try to compare buffer offsets when ther are invalid.
2095
2096 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2097
2098         * docs/design/Makefile.am:
2099           Dist some more design docs.
2100
2101         * docs/random/moving-plugins:
2102           Small addition: good plugins mustn't have functional code
2103           within assertion macros.
2104
2105 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2106
2107         * docs/design/draft-framestep.txt:
2108         Some ideas about a framestep API
2109
2110         * docs/design/part-element-transform.txt:
2111         Start design and use cases for basetransform in order to get it
2112         fixed soon.
2113
2114 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2115
2116         * gst/gsttaglist.h:
2117           In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
2118           be in UTF-8 encoding.
2119
2120 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2121
2122         * gst/gstbus.c:
2123           Make it known that gst_bus_poll() is pure evil (fixes #538810).
2124
2125 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2126
2127         * plugins/elements/gstcapsfilter.c:
2128         * plugins/elements/gstfakesink.c:
2129         * plugins/elements/gstfakesrc.c:
2130         * plugins/elements/gstfdsink.c:
2131         * plugins/elements/gstfdsrc.c:
2132         * plugins/elements/gstfilesink.c:
2133         * plugins/elements/gstfilesrc.c:
2134         * plugins/elements/gstidentity.c:
2135         * plugins/elements/gstmultiqueue.c:
2136         * plugins/elements/gstqueue.c:
2137         * plugins/elements/gsttee.c:
2138         * plugins/elements/gsttypefindelement.c:
2139           Remove short_description. Add basic docs for gsttypefindelement.
2140           Simplify markup for fakesrc/fdsrc.
2141
2142 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2143
2144         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2145         Added Since doc.
2146
2147 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2148
2149         Patch by: Joel Larsson <tilljoel at gmail dot com>
2150
2151         * docs/plugins/gstreamer-plugins.args:
2152         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
2153         (gst_fd_src_init), (gst_fd_src_update_fd),
2154         (gst_fd_src_set_property), (gst_fd_src_get_property),
2155         (gst_fd_src_create):
2156         * plugins/elements/gstfdsrc.h:
2157         Add timeout property like udpsrc. Fixes #538628.
2158         Add some more docs and example pipelines.
2159
2160 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2161
2162         * docs/libs/gstreamer-libs-sections.txt:
2163         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2164         (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
2165         (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
2166         (gst_base_sink_do_sync):
2167         * libs/gst/base/gstbasesink.h:
2168         * win32/common/libgstbase.def:
2169         Add method to allow sinks to specify additional delay between the sync
2170         times and the actual rendering of the data.
2171         API: gst_base_sink_set_render_delay()
2172         API: gst_base_sink_get_render_delay()
2173
2174 2008-06-20  Jan Schmidt  <jan.schmidt@sun.com>
2175
2176         * configure.ac:
2177         Bump version number back to dev -> 0.10.20.1
2178
2179 2008-06-20  Sebastian Dröge  <slomo@circular-chaos.org>
2180
2181         * docs/gst/gstreamer-sections.txt:
2182         * gst/gsttaglist.c: (_gst_tag_initialize):
2183         * gst/gsttaglist.h:
2184         API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
2185         Fixes bug #538568.
2186
2187 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2188
2189         * libs/gst/controller/gstcontroller.c:
2190           Revert one change, that make ret value possible uninitialized.
2191
2192 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2193
2194         * libs/gst/controller/gstcontroller.c:
2195           Use freeze/thaw notify to sync notify emission a bit (its also more
2196           efficient). Move debug output to LOG (is called a lot in a loop).
2197           Always unset g_values if the have been initialized.
2198
2199 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2200
2201         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2202         (gst_base_sink_wait_eos), (gst_base_sink_event):
2203         If we have not seen a buffer before EOS, use the segment values to
2204         report the current position instead of invalid positions.
2205
2206 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2207
2208         * docs/plugins/tmpl/.cvsignore:
2209         * tests/check/gst/.cvsignore:
2210           Ignore more.
2211
2212 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2213
2214         * libs/gst/controller/gstinterpolation.c:
2215         * libs/gst/controller/gstinterpolationcontrolsource.c:
2216         * tests/check/libs/controller.c:
2217           Rewrite handling of default values. Fix overflow with unsigned types
2218           in linear interpolation. Remove now obsolete _first_value() function.
2219           Add more tests. Fixes #538201.
2220
2221 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2222
2223         * libs/gst/base/gstbasetransform.c:
2224         (gst_base_transform_class_init), (gst_base_transform_init),
2225         (gst_base_transform_transform_caps),
2226         (gst_base_transform_prepare_output_buffer):
2227         Add debug info.
2228         When a buffer is writable, its metadata is also writable so we don't
2229         need to subbuffer (which then makes the buffer not-writable anymore).
2230
2231 === release 0.10.20 ===
2232
2233 2008-06-18  Jan Schmidt <jan.schmidt@sun.com>
2234
2235         * configure.ac:
2236           releasing 0.10.20, "You Crazy Diamond"
2237
2238 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2239
2240         * configure.ac:
2241         0.10.19.3 pre-release
2242
2243 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2244
2245         * configure.ac:
2246         * gst/gstpreset.c:
2247         Rename DATADIR to GST_DATADIR to avoid build problems
2248         on win32. Patch By: David Schleef <ds@schleef.org>
2249         Fixes: #536857
2250
2251 2008-06-05  Sebastian Dröge  <slomo@circular-chaos.org>
2252
2253         * configure.ac:
2254         Explicitely link with -ldl if dladdr() is found there. Before it was
2255         implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
2256         -ldl has moved from Libs to Libs.private. Fixes bug #536744.
2257
2258 2008-06-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2259
2260         * gst/gsterror.c: (_gst_stream_errors_init):
2261           Fix typo (spotted by Fabricio Godoy, #536723).
2262
2263 2008-06-05  Jan Schmidt  <jan.schmidt@sun.com>
2264
2265         * configure.ac:
2266         0.10.19.2 pre-release
2267
2268 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2269
2270         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
2271         (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
2272         Add some debug.
2273         Make sure we don't generate invalid QoS messages.
2274
2275 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2276
2277         * gst/gstevent.c: (gst_event_new_qos):
2278         Add some assert and docs for invalid input to the qos function.
2279
2280 2008-05-30  Wim Taymans  <wim.taymans@collabora.co.uk>
2281
2282         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2283         (gst_base_sink_get_position):
2284         The reported position must always be smaller than the last seen
2285         timestamps (or timestamp + duration for reverse).
2286
2287 2008-05-30  Sebastian Dröge  <slomo@circular-chaos.org>
2288
2289         Patch by: Rob Bradford <rob at robster dot org dot uk>
2290
2291         * gst/gstregistry.c: (gst_registry_scan_path_level):
2292         Don't recurse into .debug directories as some distros install
2293         the debugging symbols next to the plugins in .debug directories
2294         and dlopen() crashes on them sometimes. Fixes bug #508070.
2295
2296         Add FIXME for 0.11 to not recurse into directories at all because
2297         it's very inconsistent to the behaviour of other PATH environment
2298         variables.
2299
2300 2008-05-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2301
2302         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2303         (gst_base_sink_get_position_last), (gst_base_sink_get_position):
2304         Fix position query range checks in reverse playback.
2305
2306 2008-05-29  Sebastian Dröge  <slomo@circular-chaos.org>
2307
2308         * gst/gstelement.c:
2309         * gst/gstelement.h:
2310         Deprecated gst_element_get_pad() as it can't be used sanely. It's not
2311         clear of the reference to the resulting pad must be released later
2312         or not, resulting in possible leaks. Fixes bug #533865.
2313
2314 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2315
2316         Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2317
2318         * gst/gstelementfactory.c:
2319         Small doc fix. Fixes #535285.
2320
2321 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2322
2323         Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
2324
2325         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2326         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2327         (gst_base_src_loop), (gst_base_src_set_flushing),
2328         (gst_base_src_change_state):
2329         Make sending an EOS event to the basesrc non-blocking even if the
2330         implementation does blocking waits in the create function. This is done
2331         by unlocking the create function when EOS is sent.
2332         Fixes #535218.
2333
2334 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2335
2336         * tools/gst-inspect.c: (print_element_properties_info):
2337         If possible print the element type of GValueArray properties.
2338
2339 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2340
2341         * gst/gstiterator.c:
2342         Remove an unused field from the private GstListIterator struct.
2343
2344 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2345
2346         * libs/gst/controller/gstcontroller.c:
2347           Add parameter guards.
2348
2349 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2350
2351         * tests/check/gst/gstpipeline.c:
2352           Revert test change and add comment why it should not work.
2353
2354 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2355
2356         * tests/check/gst/gstpipeline.c:
2357           Extending the test a little to verify that we also get the NULL state-
2358           change message.
2359
2360 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2361
2362         * gst/gstpreset.c: (gst_preset_default_get_meta),
2363           (gst_preset_get_preset_names), (gst_preset_get_property_names),
2364           (gst_preset_load_preset), (gst_preset_save_preset),
2365           (gst_preset_rename_preset), (gst_preset_delete_preset),
2366           (gst_preset_set_meta):
2367           Add Since: markers to docs blurbs.
2368
2369         * win32/common/libgstreamer.def:
2370           Add recently-added API.
2371
2372 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2373
2374         Patch by: Stefan Kost  <ensonic@users.sf.net>
2375
2376         * configure.ac:
2377         Add DATADIR for storing presets.
2378
2379         * docs/gst/gstreamer-docs.sgml:
2380         * docs/gst/gstreamer-sections.txt:
2381         * docs/gst/gstreamer.types.in:
2382         Add GstPreset to docs.
2383
2384         * gst/Makefile.am:
2385         * gst/gst.h:
2386         * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
2387         (preset_open_and_parse_header), (preset_parse_version),
2388         (preset_merge), (preset_get_keyfile),
2389         (gst_preset_default_get_preset_names),
2390         (gst_preset_default_get_property_names),
2391         (gst_preset_default_load_preset),
2392         (gst_preset_default_save_presets_file),
2393         (gst_preset_default_save_preset),
2394         (gst_preset_default_rename_preset),
2395         (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
2396         (gst_preset_default_get_meta), (gst_preset_default_randomize),
2397         (gst_preset_default_reset), (gst_preset_get_preset_names),
2398         (gst_preset_get_property_names), (gst_preset_load_preset),
2399         (gst_preset_save_preset), (gst_preset_rename_preset),
2400         (gst_preset_delete_preset), (gst_preset_set_meta),
2401         (gst_preset_get_meta), (gst_preset_class_init),
2402         (gst_preset_base_init), (gst_preset_get_type):
2403         * gst/gstpreset.h:
2404         Add GstPreset to core. Fixes #396779
2405
2406         * tests/check/Makefile.am:
2407         * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
2408         (gst_preset_test_set_property), (gst_preset_test_class_init),
2409         (gst_preset_test_base_init), (gst_preset_test_get_type),
2410         (gst_preset_test_plugin_init), (GST_START_TEST),
2411         (remove_preset_file), (test_setup), (test_teardown),
2412         (gst_preset_suite):
2413         Add GstPreset unit tests.
2414
2415 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2416
2417         * gst/gstpad.c: (gst_pad_event_default_dispatch):
2418         The default event function on a sinkpad should return TRUE when
2419         there are no internal links but should collect the return values from
2420         the internal links otherwise.
2421
2422 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2423
2424         * plugins/elements/gsttypefindelement.c:
2425         (gst_type_find_element_src_event),
2426         (gst_type_find_element_handle_event):
2427         Use faster and safer _pad_push_event().
2428
2429 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2430
2431         * docs/gst/gstreamer-sections.txt:
2432         * gst/gstutils.c: (element_find_unlinked_pad),
2433           (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
2434         * gst/gstutils.h:
2435           API: add gst_bin_find_unlinked_pad()
2436           API: deprecate gst_bin_find_unconnected_pad() (#401456)
2437
2438 2008-05-26  Peter Kjellerstedt  <pkj@axis.com>
2439
2440         * gst/gstclock.c:
2441         * gst/gstclock.h:
2442         * gst/gsttask.c:
2443         * gst/gsttask.h:
2444         Fixed a bunch of typos.
2445
2446 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2447
2448         * gst/gstpad.h:
2449         * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
2450           (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
2451           (gst_parse_bin_from_description_full):
2452         * gst/gstutils.h:
2453           'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2454
2455 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2456
2457         * docs/pwg/advanced-tagging.xml:
2458           Small docs update, can't be bothered to rewrite the nonsensical
2459           examples right now.
2460
2461 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2462
2463         * gst/gstevent.h:
2464           Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2465
2466 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2467
2468         * gst/parse/grammar.y:
2469           Remove unneeded casts.
2470
2471 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2472
2473         * gst/parse/grammar.y:
2474         * tests/check/pipelines/parse-launch.c:
2475           Get all missing elements from a parse launch string if possible
2476           (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2477
2478 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2479
2480         * tests/check/Makefile.am:
2481         * tests/check/pipelines/parse-launch.c:
2482           Add some unit tests for the new gst_parse_launch*_full() API.
2483           (Exposes a previously-existing memory leak in the error code
2484           path, so adding to VALGRIND_TO_FIX for now).
2485
2486 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2487
2488         * docs/gst/gstreamer-sections.txt:
2489         * gst/gst.c: (init_post):
2490         * gst/gst_private.h: (_GstParseContext):
2491         * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
2492           (gst_parse_context_free), (gst_parse_context_get_missing_elements),
2493           (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
2494           (gst_parse_launch_full):
2495         * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
2496           (GstParseFlags), (GstParseContext):
2497         * gst/gstutils.c: (gst_parse_bin_from_description),
2498           (gst_parse_bin_from_description_full):
2499         * gst/gstutils.h:
2500         * gst/parse/grammar.y:
2501         * gst/parse/types.h:
2502         * win32/common/libgstreamer.def:
2503           Add new gst_parse_*_full API (#528178):
2504           API: gst_parse_launch_full()
2505           API: gst_parse_launchv_full()
2506           API: gst_parse_bin_from_description_full()
2507           API: gst_parse_context_new()
2508           API: gst_parse_context_free()
2509           API: gst_parse_context_get_missing_elements()
2510
2511 2008-05-23  Stefan Kost  <ensonic@users.sf.net>
2512
2513         patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
2514
2515         * docs/faq/gst-uninstalled:
2516           Also support ffmpeg in gst-uninstalled.
2517
2518 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2519
2520         * configure.ac:
2521         After discussion on IRC use the binary registry as default
2522         but allow to disable it with --disable-binary-registry.
2523
2524         * win32/common/libgstreamer.def:
2525         Add the two new symbols for the binary registry.
2526
2527 2008-05-22  Tim-Philipp Müller  <tim.muller at collabora co uk>
2528
2529         * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2530         * gst/gstutils.c: (gst_parse_bin_from_description):
2531         * gst/parse/grammar.y: (graph):
2532           More guards against bad input; typo fix; some minor clean-ups.
2533
2534 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2535
2536         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2537
2538         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2539         If nothing else can be used, use the last buffer's start time as
2540         the segment's last stop. Fixes bug #534258.
2541
2542 2008-05-21  Tim-Philipp Müller  <tim.muller at collabora co uk>
2543
2544         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2545           Move size sanity check to the right place: downstream may return
2546           a buffer with a smaller size if the buffer caps are different than
2547           the requested ones, as may happen when doing reverse negotiation.
2548
2549 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2550
2551         * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
2552         (gst_file_sink_render):
2553         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
2554         (gst_file_src_start):
2555         Small cleanups. Add note adbout g_fopen() on windows and why we don't
2556         use it yet.
2557
2558 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2559
2560         * gst/gstpad.c: (gst_pad_load_and_link):
2561         * gst/gstutils.c: (gst_element_link_pads),
2562         (gst_element_unlink_pads):
2563         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2564         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2565         (gst_check_teardown_sink_pad),
2566         (gst_check_element_push_buffer_list):
2567         * tests/check/elements/fakesink.c: (GST_START_TEST):
2568         * tests/check/elements/filesink.c:
2569         * tests/check/elements/filesrc.c: (GST_START_TEST):
2570         * tests/check/elements/multiqueue.c: (setup_multiqueue),
2571         (mq_sinkpad_to_srcpad):
2572         * tests/check/elements/tee.c: (GST_START_TEST):
2573         * tests/check/generic/sinks.c: (GST_START_TEST):
2574         * tests/check/gst/gstbin.c: (GST_START_TEST):
2575         * tests/check/gst/gstevent.c: (GST_START_TEST):
2576         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2577         * tests/check/gst/gstpipeline.c: (GST_START_TEST):
2578         * tests/check/gst/gstquery.c: (GST_START_TEST):
2579         * tests/check/gst/gstutils.c: (GST_START_TEST):
2580         * tests/check/libs/basesrc.c: (GST_START_TEST):
2581         * tests/check/pipelines/parse-launch.c: (run_delayed_test),
2582         (gst_parse_test_element_change_state):
2583         Don't use gst_element_get_pad().
2584
2585 2008-05-21  Felipe Contreras  <felipe.contreras@gmail.com>
2586
2587         * docs/Makefile.am:
2588         Fix installing plugin documentation when gtk-doc is disabled.
2589
2590 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2591
2592         * docs/manual/advanced-autoplugging.xml:
2593         * docs/manual/basics-helloworld.xml:
2594         * docs/manual/basics-pads.xml:
2595         * docs/manual/highlevel-components.xml:
2596         Avoid using a bad function in the example code.
2597
2598 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2599
2600         * gst/gstclock.c: (gst_clock_set_calibration):
2601         Fix debug of the new clock rate.
2602
2603 2008-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2604
2605         * win32/common/libgstbase.def:
2606         Add gst_base_sink_wait_clock() to the exported symbols.
2607
2608 2008-05-20  Sebastian Dröge  <slomo@circular-chaos.org>
2609
2610         Patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
2611
2612         * libs/gst/base/gstbasetransform.c:
2613         (gst_base_transform_sink_event):
2614         Unref events that the GstBaseTransform::event vfunc didn't want to
2615         have forwarded by the base class. Closes a leak in identity.
2616         Fixes bug #446763.
2617
2618 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2619
2620         * docs/libs/gstreamer-libs-sections.txt:
2621         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
2622         * libs/gst/base/gstbasesink.h:
2623         Expose a method that was previously used internally to synchronize
2624         against the clock because it can be useful for subclasses too.
2625         API: GstBaseSink::gst_base_sink_wait_clock()
2626
2627 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2628
2629         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
2630           Add sanity check to make sure we don't get smaller buffers
2631           than requested (and fallback to normal buffer alloc if we do).
2632
2633 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2634
2635         * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
2636         (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
2637         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
2638         Refactor adjusting the running_time with latency and offset into a
2639         separate method.
2640         When doing clipping, we still want to use the subclass get_times method,
2641         just in case the DURATION or TIMESTAMP are not set.
2642
2643 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2644
2645         * docs/gst/gstreamer-sections.txt:
2646         * gst/gsttypefind.c: (gst_type_find_suggest_simple):
2647         * gst/gsttypefind.h:
2648         * win32/common/libgstreamer.def:
2649           API: add gst_type_find_suggest_simple(), #533740.
2650
2651 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2652
2653         * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
2654           Use right error code when typefinding fails, so we can use
2655           the default (translated) error messages.
2656
2657 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2658
2659         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
2660         (gst_base_src_start):
2661         When the subclass did not set caps on outgoing buffers, configure the
2662         caps we negotiated on the source pad.
2663         When the typefind helper does not find caps, error out properly instead
2664         of doing things with NULL caps.
2665
2666 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2667
2668         * gst/gsttypefind.h:
2669           Tabs to spaces, oh yes!
2670
2671 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2672
2673         * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
2674           Add David's and Benjamin's tests for array intersection to the
2675           unit test suite (#147931).
2676
2677 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2678
2679         * gst/gstevent.c:
2680           Document that gst_event_new_tag() and gst_event_new_navigation()
2681           take ownership of the taglist/structure passed to them. (#533635).
2682
2683 2008-05-17  Jan Schmidt  <jan.schmidt@sun.com>
2684
2685         * docs/Makefile.am:
2686         Don't descend into the plugins dir if plugin docs building
2687         is disabled.
2688
2689         * docs/README:
2690         Add a note about the new type:GTypeName syntax for the plugin
2691         documentation .types file.
2692
2693 2008-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2694
2695         * gst/gstmessage.c: (gst_message_new_error),
2696         (gst_message_new_warning), (gst_message_new_info):
2697         * gst/gstmessage.h:
2698         Mark the debug string parameters as const. Fixes bug #533490.
2699
2700 2008-05-16  Sebastian Dröge  <slomo@circular-chaos.org>
2701
2702         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2703         Sort buffer cache list by end offsets. This makes sure that we don't
2704         stop to search for a cached buffer that contains the requested data
2705         too early.
2706         Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
2707         more efficient. Fixes bug #459862.
2708
2709 2008-05-14  Stefan Kost  <ensonic@users.sf.net>
2710
2711         * gst/gstinfo.c:
2712           Explain why we copy the list.
2713
2714         * gst/gstpipeline.c:
2715           Improve docs.
2716
2717         * gst/gstutils.c:
2718           Add one debug-log statement to help tracing probelms with linking pads.
2719
2720 2008-05-12  Stefan Kost  <ensonic@users.sf.net>
2721
2722         * tests/check/gst/gstinfo.c:
2723         Add a test for removing the default log handler. Seems to fail under
2724         windows.
2725
2726 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2727
2728         * gst/gstpad.c: (gst_pad_peer_accept_caps):
2729         Release pad lock before calling out to avoid a possible deadlock.
2730
2731 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2732
2733         * gst/parse/grammar.y:
2734         Remove unneeded value unset.
2735
2736         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2737         Add unit test for de/serialization of caps.
2738
2739 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2740
2741         * plugins/elements/gstfakesink.c:
2742         (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
2743         * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
2744         (gst_fake_src_class_init):
2745         Use custom marshalers that take GstMiniObject as first parameter.
2746         Using OBJECT as parameter while a GstMiniObject is given will lead
2747         to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
2748
2749 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2750
2751         * plugins/elements/gsttypefindelement.c:
2752         (gst_type_find_element_handle_event),
2753         (gst_type_find_element_send_cached_events),
2754         (gst_type_find_element_change_state):
2755         Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
2756         immediately.
2757
2758 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2759
2760         * plugins/elements/gsttypefindelement.c:
2761         (gst_type_find_handle_src_query), (stop_typefinding),
2762         (gst_type_find_element_handle_event),
2763         (gst_type_find_element_send_cached_events),
2764         (gst_type_find_element_change_state):
2765         Forward FLUSH_START events immediately and clean up instead of
2766         caching them.
2767
2768 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2769
2770         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2771
2772         * libs/gst/base/gstbasetransform.c:
2773         (gst_base_transform_buffer_alloc):
2774         Check the caps of the buffer returned by gst_pad_alloc_buffer() and
2775         fall back to default negotiation in the chain function if the caps
2776         are different from what was requested. Fixes bug #526768.
2777
2778 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
2779
2780         * gst/gstsegment.c:
2781         * tests/check/gst/gstsegment.c:
2782           No, let's not use g_slice_{dup|copy} here, since they only exist
2783           since GLib 2.14 and we still depend only on >= 2.12. Also add
2784           unit test for gst_segment_copy().
2785
2786 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
2787
2788         * gst/gstutils.h: (GST_BOILERPLATE_FULL):
2789           Try to fix 'dereferencing type-punned pointer will break strict
2790           aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
2791           changed the default GType typedef from gulong to gsize at some point,
2792           but kept GType typedef'ed to gulong for C++ for ABI reasons; the
2793           g_once_* functions all take a gsize * though, so work around the type
2794           mismatch for C++ by doing everything in gsize and casting to GType
2795           later.
2796
2797 2008-05-09  Jan Schmidt  <jan.schmidt@sun.com>
2798
2799         * plugins/elements/gstmultiqueue.c:
2800         Add documentation for the signals to push our core plugin docs
2801         coverage back up to 100%.
2802
2803 2008-05-08  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2804
2805         * gst/gstinfo.h (GST_FUNCTION):
2806           Reverted GST_FUNCTION to the old version as we don't want the
2807           full signature in C++ code. Also added support for MSVC.
2808
2809 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2810
2811         * gst/gstutils.h:
2812         Intern the type name string, similar to what G_DEFINE_TYPE does.
2813
2814 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2815
2816         * gst/gstutils.h:
2817         Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
2818
2819 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2820
2821         Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
2822
2823         * libs/gst/base/gstbasetransform.c:
2824         (gst_base_transform_buffer_alloc):
2825         Don't passthrough buffer allocation too easily if the caps change.
2826         This breaks when working in passthrough mode and upstream changes
2827         it's caps. Fixes bug #526768.
2828
2829 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2830
2831         * gst/gstinfo.c (gst_debug_log_valist):
2832           Improved the __FILE__ part of debug output for MSVC.
2833
2834 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2835
2836         * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
2837           Declaration after statement fix for compilers like MSVC.
2838
2839 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2840
2841         * win32/common/config.h.in:
2842           Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
2843           use the real thing than having "???" unconditionally.
2844
2845 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2846
2847         * gst/gstinfo.h (GST_FUNCTION):
2848           Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
2849
2850 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
2851
2852         * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
2853         Small code cleanup.
2854
2855         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2856         (gst_base_sink_set_flushing):
2857         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
2858         Fix some comments.
2859
2860 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
2861
2862         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2863         (gst_fake_src_init), (gst_fake_src_set_property),
2864         (gst_fake_src_get_property), (gst_fake_src_start):
2865         * plugins/elements/gstfakesrc.h:
2866         Added format property to control the format of the newsegment events.
2867         API: GstFakeSrc:format
2868
2869 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
2870
2871         * win32/common/libgstreamer.def:
2872         Add gst_pad_has_name() to the exported symbols.
2873
2874 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
2875
2876         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2877         * libs/gst/base/gstbasetransform.c:
2878         (gst_base_transform_prepare_output_buffer):
2879         Don't allow negative sizes when allocating new buffers.
2880         Fixes bug #461253.
2881
2882 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2883
2884         Patch by: Sjoerd Simons <sjoerd at luon net>
2885
2886         * gst/gstbus.c: (gst_bus_source_dispatch):
2887           Don't print a warning if the queue is empty when we try to pop
2888           here. That could happen if another thread or callback set the
2889           bus to flushing between the source's check/prepare and the
2890           dispatch being called (#531538).
2891
2892 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2893
2894         * plugins/elements/gstmultiqueue.c:
2895           Small docs fix.
2896         
2897 2008-05-05  Sebastian Dröge  <slomo@circular-chaos.org>
2898
2899         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2900         Add unit test for deserializing uint64s and check some really large
2901         numbers in the int64 test.
2902
2903 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
2904
2905         * tools/gst-inspect.c: (n_print), (print_hierarchy),
2906         (print_interfaces), (print_element_properties_info),
2907         (print_signal_info):
2908         Use "%s" as format string instead of printing strings directly.
2909
2910 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
2911
2912         * gst/gstclock.c: (gst_clock_set_calibration):
2913         Make some checks actually useful.
2914
2915         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
2916         Remove some unused code. Unsigned integers tend to be >= 0.
2917
2918 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
2919
2920         * gst/gstminiobject.c: (gst_value_get_mini_object):
2921           Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
2922           function was not in the unscheduled 0.10.19 release.
2923
2924 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
2925
2926         * gst/gstregistry.c: (gst_registry_scan_path_level):
2927           Only print one log message per non-plugin file.
2928
2929 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
2930
2931         * gst/gstinfo.c: (gst_debug_log_default):
2932           Fix alignment of debug log columns on 64-bit.
2933
2934 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
2935
2936         * docs/libs/Makefile.am:
2937         * docs/libs/gstreamer-libs-sections.txt:
2938           Ignore private controller headers for docs.
2939
2940 2008-05-03  Sebastian Dröge  <slomo@circular-chaos.org>
2941
2942         * libs/gst/controller/gstcontrollerprivate.h:
2943         * libs/gst/controller/gsthelper.c:
2944         * libs/gst/controller/gstinterpolation.c:
2945         * libs/gst/controller/gstinterpolationcontrolsource.c:
2946         (gst_interpolation_control_source_set_interpolation_mode):
2947         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
2948         * libs/gst/controller/lib.c:
2949         Move some private declarations into private headers.
2950
2951 2008-05-02  Sebastian Dröge  <slomo@circular-chaos.org>
2952
2953         * gst/gstdebugutils.c: (debug_dump_element_pad):
2954         Remove some code that is unused after Stefan's refactoring and uses
2955         uninitialized variables now, resulting in a compiler warning.
2956
2957 2008-05-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
2958
2959         * gst/gstregistry.c: (gst_registry_scan_path_level):
2960           Run g_str_has_suffix() only on the file name, not the
2961           entire file path.
2962
2963 2008-04-30  Tim-Philipp Müller  <tim.muller at collabora co uk>
2964
2965         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
2966           Since we're not called only from the chain function any longer,
2967           we can't assume that there's always data in the queue, so move
2968           the is_full check to the beginning of the loop (otherwise we'd
2969           hit the assert when changing the limit properties while the
2970           queue is empty or not running yet).
2971           Also, only set a discont if items were actually removed from
2972           the queue.
2973
2974         * tests/check/elements/queue.c: (test_leaky_downstream):
2975           Test case for the above.
2976
2977 2008-04-30  Wim Taymans  <wim.taymans@collabora.co.uk>
2978
2979         Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
2980
2981         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
2982         (gst_queue_chain), (queue_capacity_change),
2983         (gst_queue_set_property):
2984         When changing thr max capacity of a leaky queue, immediatly drop buffers
2985         instead of waiting for a push on the sinkpad. Fixes #530637.
2986
2987 2008-04-30  Stefan Kost  <ensonic@users.sf.net>
2988
2989         * gst/gstdebugutils.c:
2990           Refactor code and fix handling of ghostpads and their proxypads.
2991
2992 2008-04-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2993
2994         * docs/gst/gstreamer-sections.txt:
2995         * gst/gstevent.c: (gst_event_has_name):
2996         * gst/gstevent.h:
2997         * tests/check/gst/gstevent.c: (GST_START_TEST):
2998         Add method to conveniently check the name of a custom event with
2999         gst_event_has_name().
3000         Reformat the event docs so that related methods are put together instead
3001         of the default alphabetical sort.
3002         Update unit test with new method.
3003         API: GstEvent::gst_event_has_name()
3004
3005 2008-04-28  Michael Smith <msmith@songbirdnest.com>
3006
3007         * libs/gst/check/Makefile.am:
3008           Don't add an explicit link to libgstreamer-0.10.la; it's already
3009           included in GST_OBJ_LIBS.
3010
3011 2008-04-28  Sebastian Dröge  <slomo@circular-chaos.org>
3012
3013         * gst/gst.c:
3014         Register GstClock type from a type-safe context. Fixes bug #530317.
3015
3016 2008-04-25  Michael Smith <msmith@songbirdnest.com>
3017
3018         Patch by Edward Hervey <edward.hervey@collabora.co.uk>
3019         * tools/gst-run.c:
3020           Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
3021
3022 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3023
3024         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
3025         (gst_bin_dispose):
3026         Use the GLib stuff to create a private structure.
3027         Add some locking around some dispose methods to make them a little
3028         safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
3029
3030 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3031
3032         * libs/gst/base/gstbasesink.h:
3033         * libs/gst/base/gstbasesrc.h:
3034         * libs/gst/base/gstbasetransform.h:
3035         * libs/gst/base/gstcollectpads.h:
3036           Fix doc typos and unify caps a bit.
3037
3038 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
3039
3040         * tools/gst-launch.1.in:
3041           Forgot to also add the envvar docs here.
3042
3043 2008-04-25  Tim-Philipp Müller  <tim at centricular dot net>
3044
3045         * gst/gst.c: (init_post), (gst_deinit):
3046         * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
3047           (test_concurrent_create), (gst_pipeline_suite):
3048           Ref some more classes in gst_init() to work around thread-safety
3049           issues in pre-2.16 GLibs, and add basic unit test.
3050
3051 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
3052
3053         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
3054         (gst_base_sink_send_event):
3055         Rearrange the latency query code. We always want to do the upstream
3056         query, even if we are not live so that the upstream elements can get the
3057         latency results too. If we fail doing the query and we are live, we
3058         return TRUE afterwards.
3059
3060 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3061
3062         patch by: Jason Zhao <e3423c@motorola.com>
3063
3064         * docs/gst/running.xml:
3065         * gst/gst.c:
3066           Enable/disable scan_and_update_registry() based on commandline switch
3067           or environment variable. Fixes #520468.
3068           
3069         * ChangeLog:
3070           Fix typo in my previous commit.
3071
3072 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3073
3074         * gst/gstregistrybinary.c:
3075           Add a warning if we hit unhandled factories when saving.
3076           More debug logging detail, but move to LOG category.
3077
3078 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
3079
3080         * gst/gstregistry.c:
3081           Tell the *truth* when improving the documentation.
3082
3083 2008-04-23  Sebastian Dröge  <slomo@circular-chaos.org>
3084
3085         * gst/gstelementfactory.c: (gst_element_factory_make):
3086         Unref the factory after it was used the last time, not before.
3087
3088         * gst/gstindexfactory.c: (gst_index_factory_make):
3089         Improve debugging a bit and don't leak a ref to the index factory with
3090         each call.
3091
3092 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3093
3094         * gst/gstregistry.c:
3095           Improve the documentation.
3096
3097 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3098
3099         * gst/gstsegment.c:
3100           The glib macro seems to be borked. Use g_slice_copy directly and cast
3101           in the hope that this fixes the warning on 64bit.
3102
3103 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3104
3105         * gst/gstsegment.c:
3106           Document the new function. Use g_slice_dup() (no need for
3107           gst_segment_init()).    
3108
3109 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3110
3111         * docs/gst/gstreamer-sections.txt:
3112           Move GParamSepc macros to standart section.
3113   
3114         * gst/gstbin.c:
3115           Dn't document _get_type - its in private section in docs anyway and
3116           this doc-blob was incomplete.
3117
3118         * gst/gstclock.h:
3119           Fix wrong symbol names in docs.
3120
3121         * gst/gstmacros.h:
3122           Add once doc sentence.
3123
3124         * tests/check/gst/.cvsignore:
3125           Ignore more.
3126
3127 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3128
3129         * docs/gst/Makefile.am:
3130           And remove those libs here.
3131
3132 2008-04-21  Tim-Philipp Müller  <tim at centricular dot net>
3133
3134         * docs/libs/Makefile.am:
3135           Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
3136
3137 2008-04-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3138
3139         Patch by: Olivier Crete <tester at tester dot ca>
3140
3141         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3142         Add the min-threshold to the min latency if possible. Fixes #529148.
3143
3144 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3145
3146         * docs/gst/gstreamer.types.in:
3147           Stupid editor, I removed that line as it should go in yet.
3148
3149 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3150
3151         * docs/gst/gstreamer.types.in:
3152         * docs/libs/gstreamer-libs.types:
3153           Remove library types fro core docs and have them in libs docs.
3154           Reformat and cleanup. Add comment for miniobject types.
3155
3156 2008-04-20  Tim-Philipp Müller  <tim at centricular dot net>
3157
3158         * gst/gsturi.c: (gst_uri_get_protocol):
3159           Fix leak: g_strdown operates on the string in place, while
3160           g_ascii_strdown() returns a newly-allocated string.
3161
3162 2008-04-20  Sebastian Dröge  <slomo@circular-chaos.org>
3163
3164         * tools/gst-inspect.c: (print_uri_handler_info),
3165         (print_element_info):
3166         Print the URI protocols and the URI type supported by the element.
3167
3168 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3169
3170         * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
3171         Use g_value_take_string() instead of the deprecated
3172         g_value_set_string_take_ownership().
3173
3174 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3175
3176         * gst/gstregistrybinary.c: (_gst_crc32):
3177         Return the old CRC instead of 0 if we give a NULL buffer
3178         or a buffer with a length of 0.
3179
3180 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3181
3182         * gst/gsturi.c: (gst_uri_protocol_check_internal),
3183         (gst_uri_get_protocol), (gst_uri_has_protocol),
3184         (gst_uri_construct), (gst_uri_handler_set_uri):
3185         A valid URI scheme can also include '+', '-' and '.' additional
3186         to alphanumeric characters as per RFC 3986 Section 3.1.
3187
3188         Handle URI schemes case insensitive in all places and convert
3189         to lower-case when constructing an URI or setting an URI with
3190         the GstURIHandler interface. Fixes bug #528868.
3191         All elements can still assume (as before) that they will
3192         get passed URIs with a lower-case URI scheme by the GstURIHandler
3193         interface.
3194
3195 2008-04-17  Tim-Philipp Müller  <tim at centricular dot net>
3196
3197         * gst/gstcaps.c: (gst_static_caps_get):
3198         * gst/gstclock.c: (gst_clock_entry_new):
3199           Don't use g_atomic_set_int where it's not needed.
3200
3201 2008-04-17  Wim Taymans  <wim.taymans@collabora.co.uk>
3202
3203         * gst/gstvalue.c: (gst_value_deserialize_caps):
3204         * gst/parse/grammar.y:
3205         Fix 2 caps leaks.
3206
3207 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3208
3209         * gst/gstutils.c: (gst_atomic_int_set):
3210         Use g_atomic_int_set() here too instead of assignment +
3211         g_atomic_int_get().
3212
3213 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3214         
3215         * gst/gstutils.c:
3216         * gst/gstutils.h:
3217         API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
3218         now that we depend on new enough GLib.
3219
3220         * gst/gstcaps.c: (gst_static_caps_get):
3221         * gst/gstclock.c: (gst_clock_entry_new):
3222         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
3223         (gst_debug_set_default_threshold), (_gst_debug_category_new),
3224         (gst_debug_category_set_threshold):
3225         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3226         (gst_base_sink_set_qos_enabled):
3227         * libs/gst/net/gstnettimeprovider.c:
3228         (gst_net_time_provider_set_property):
3229         Use g_atomic_int_set() instead of gst_atomic_int_set().
3230
3231 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3232
3233         * gst/gstquery.c:
3234           Also use G_GINT64_CONSTANT for the queries.
3235
3236 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3237
3238         * gst/gstmessage.c:
3239           Use G_GINT64_CONSTANT in varargs function.
3240
3241 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3242
3243         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
3244         Initialize the registry magic with zeroes.
3245
3246 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3247
3248         * gst/gstregistrybinary.c: (_gst_crc32),
3249         (gst_registry_binary_write),
3250         (gst_registry_binary_initialize_magic),
3251         (gst_registry_binary_write_cache),
3252         (gst_registry_binary_check_magic),
3253         (gst_registry_binary_read_cache):
3254         * gst/gstregistrybinary.h:
3255         Add crc32 checksum to the binary registry file and check this before
3256         accepting a registry file.
3257
3258         Also free the data list when writing to the registry file fails.
3259
3260 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3261
3262         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3263         (gst_registry_binary_load_feature),
3264         (gst_registry_binary_load_plugin):
3265         If an element supports the Uri interface, returns a valid pointer
3266         to the supported URI protocols but this pointer contains nothing
3267         don't try to save that as it will corrupt the registry.
3268
3269         Don't unref the plugin if we added it to the registry already but
3270         fail to load a feature as gst_registry_add_plugin() takes ownership
3271         of the plugin.
3272
3273         Improve debugging a bit.
3274
3275 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3276
3277         * gst/gsttaglist.h:
3278           Clarify some tag item docs after discussion on irc.
3279
3280 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3281
3282         * docs/gst/gstreamer-docs.sgml:
3283           Remove commented out plugins (they have their own docs). Update
3284           comments.
3285
3286 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3287
3288         * docs/gst/gstreamer-docs.sgml:
3289         * docs/gst/gstreamer-sections.txt:
3290         * gst/gstparamspecs.c:
3291         * gst/gstparamspecs.h:
3292           Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
3293           docs to own section.
3294
3295         * gst/gstvalue.c:
3296           This now only documents GValue.
3297           
3298         * docs/libs/gstreamer-libs-sections.txt:
3299         * libs/gst/controller/gstcontroller.h:
3300           Remove GST_PARAM_CONTROLLABLE.
3301
3302 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3303
3304         * docs/README:
3305           Correct file path. Tell about how to use -overrides.txt.
3306         * docs/design/draft-tagreading.txt:
3307           Small design update.
3308
3309 2008-04-14  Sebastian Dröge  <slomo@circular-chaos.org>
3310
3311         * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
3312         (gst_registry_binary_load_plugin):
3313         Fix a typo in a debug message and revert change from yesterday as
3314         gst_registry_add_plugin() will only fail if something is really wrong
3315         already and we can't survive it anyway.
3316
3317 2008-04-14  Tim-Philipp Müller  <tim at centricular dot net>
3318
3319         * gst/gst.c: (init_post), (gst_deinit):
3320           Pre-register GstGError GType from a thread-safe context
3321           (fixes #527967); unref enum type classes in deinit.
3322
3323 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3324
3325         Patch by: Rene Stadler <mail at renestadler de>
3326
3327         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3328           Merging an empty list with another list in KEEP_ALL mode should
3329           yield an empty list as result and not the second list (#512578).
3330
3331         * tests/check/gst/gsttagsetter.c:
3332           Add unit test for tag merge modes and the aforementioned bug.
3333
3334 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3335
3336         Patch by: Rene Stadler <mail at renestadler de>
3337
3338         * gst/gsttaglist.h:
3339           Fix description to match the order in the table (#512577).
3340   
3341 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3342
3343         Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>
3344
3345         * libs/gst/net/gstnettimepacket.h:
3346         * docs/libs/gstreamer-libs-sections.txt:
3347           Define socklen_t as int if it's not defined yet. Fixes compilation
3348           with MSVC6 and other versions where socklen_t is not defined in
3349           the windows headers (#518022).
3350
3351 2008-04-13  Sebastian Dröge  <slomo@circular-chaos.org>
3352
3353         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3354         If gst_registry_add_plugin() fails our reference to the plugin is
3355         invalid so don't try to use it anymore and instead error out.
3356
3357 2008-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3358
3359         * tools/gst-xmlinspect.c: (print_element_info), (main):
3360           De-cruft a bit. If no argument is specified, print all elements in
3361           XML syntax rather than a freestyle list of elements like gst-inspect.
3362           Also, don't print XML header chunk unless we actually have something
3363           to print (ie. don't print it before an error message); print error
3364           message to stderr not stdout. Remove support for printing plugin
3365           info (it would just output something freestyle along the lines of
3366           gst-inspect so far), which fixes #514507. Also add license header.
3367
3368 2008-04-11  Julien Moutte  <julien@fluendo.com>
3369
3370         Mac OS X love...
3371         * configure.ac: Merge platform specific defines, introduce a new
3372         define on OS X to remember that forking when updating registry is
3373         unsafe.
3374         * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
3375         module.
3376         * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
3377         is defined.
3378         * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
3379         condition that leads to absolutely no plugins being registered on
3380         OS X.
3381
3382 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3383
3384         Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3385
3386         * gst/gstutils.c: (gst_pad_add_data_probe),
3387           (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
3388           (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
3389           (gst_pad_add_buffer_probe_full):
3390         * gst/gstutils.h:
3391         * docs/gst/gstreamer-sections.txt:
3392         * win32/common/libgstreamer.def:
3393           Add gst_pad_add_*_probe_full() functions with a notify callback that
3394           lets the caller free the data it passes to the probe functions. This
3395           is useful for bindings such as gst-python or gstreamermm (#526814).
3396           API: gst_pad_add_data_probe_full
3397           API: gst_pad_add_buffer_probe_full
3398           API: gst_pad_add_event_probe_full
3399
3400         * tests/check/gst/gstutils.c:
3401           Add minimal unit test to make sure freeing the data actually works
3402           as expected.
3403
3404         * tests/benchmarks/.cvsignore:
3405           Random cvsignore addendum.
3406
3407 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3408
3409         * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
3410           (GST_DEBUG_BIN_TO_DOT_FILE):
3411           Mention GstDebugGraphDetails enum type in doc blurb so we get a link
3412           to it in the docs (since these are macros the types of the arguments
3413           won't be shown in the docs otherwise).
3414
3415 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3416
3417         * gst/gstpad.c:
3418           Do not abort on out of memory for pad_alloc_buffer.
3419
3420 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3421
3422         * libs/gst/check/gstcheck.c:
3423           Remove blank line between symbol name ad parameters to fix gtkdoc
3424           warning.
3425
3426 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3427
3428         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3429
3430         * docs/gst/gstreamer-sections.txt:
3431         * gst/gstsegment.c:
3432         * gst/gstsegment.h:
3433         * win32/common/libgstreamer.def:
3434           Expose gst_segment_copy() to make things easier for the c++ bindings.
3435           Fixes #518932.
3436           API: gst_segment_copy()
3437
3438 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3439
3440         * gst/gst.c: (gst_init_get_option_group), (init_post):
3441           Fix const position; ref GType classes for enum types to work
3442           around thread-safety issues in GLib versions < 2.16.
3443
3444 2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3445
3446         * docs/design/part-buffering.txt:
3447         Fix some typos and set the estimated total for push mode to -1.
3448
3449         * gst/gstquery.c: (gst_query_new_buffering):
3450         Set buffering-left to 0 as we're not buffering by default.
3451
3452         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3453         Implement BUFFERING query.
3454
3455 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3456
3457         Based on patch by: Milosz Derezynski <internalerror gmail com>
3458
3459         * gst/gsterror.c: (_gst_stream_errors_init):
3460         * gst/gsterror.h:
3461           Add two new error codes for encrypted content. Fixes #524659.
3462           API: GST_STREAM_ERROR_DECRYPT
3463           API: GST_STREAM_ERROR_DECRYPT_NOKEY
3464
3465 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3466
3467         * gst/gstquery.h:
3468           Fix typo.
3469
3470         * win32/common/libgstreamer.def:
3471           Add new functions.
3472
3473 2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>
3474
3475         * plugins/elements/gstidentity.c: (gst_identity_event),
3476         (gst_identity_start):
3477         Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
3478         event after processing some data. Fixes bug #526042.
3479
3480 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3481
3482         * docs/gst/gstreamer-sections.txt:
3483         * gst/gstquery.c: (gst_query_parse_latency),
3484         (gst_query_set_buffering_percent),
3485         (gst_query_parse_buffering_percent),
3486         (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
3487         * gst/gstquery.h:
3488         Rename _avail -> _range
3489         API: gst_query_set_buffering_range
3490         API: gst_query_parse_buffering_range
3491
3492 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3493
3494         * docs/design/part-buffering.txt:
3495         * gst/gstquark.c:
3496         * gst/gstquark.h:
3497         * gst/gstquery.c: (gst_query_parse_latency),
3498         (gst_query_new_buffering), (gst_query_set_buffering_percent),
3499         (gst_query_parse_buffering_percent):
3500         * gst/gstquery.h:
3501         Add busy field and quark for the buffering query so that the app can
3502         only use the query to see if buffering is in progress.
3503
3504 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3505
3506         * docs/gst/gstreamer-sections.txt:
3507         * gst/gstmessage.c: (gst_message_set_buffering_stats),
3508         (gst_message_parse_buffering_stats):
3509         * gst/gstmessage.h:
3510         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3511         (gst_query_parse_latency), (gst_query_new_buffering),
3512         (gst_query_set_buffering_percent),
3513         (gst_query_parse_buffering_percent),
3514         (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
3515         (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
3516         * gst/gstquery.h:
3517         Reorder the message docs and headers for clarity.
3518         Add aditional buffering stats API for messages.
3519         Add buffering query.
3520         Convert some leftover queries to use GstQuark.
3521         API: gst_message_set_buffering_stats
3522         API: gst_message_parse_buffering_stats
3523         API: GST_QUERY_BUFFERING
3524         API: GstBufferingMode
3525         API: gst_query_new_buffering
3526         API: gst_query_set_buffering_percent
3527         API: gst_query_parse_buffering_percent
3528         API: gst_query_set_buffering_stats
3529         API: gst_query_parse_buffering_stats
3530
3531 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3532
3533         * gst/gstmessage.c: (gst_message_new_error),
3534         (gst_message_new_warning), (gst_message_new_info),
3535         (gst_message_new_buffering), (gst_message_new_state_changed),
3536         (gst_message_new_clock_provide), (gst_message_new_clock_lost),
3537         (gst_message_new_new_clock), (gst_message_new_segment_start),
3538         (gst_message_new_segment_done), (gst_message_new_duration),
3539         (gst_message_new_async_start), (gst_message_parse_buffering),
3540         (gst_message_parse_state_changed),
3541         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3542         (gst_message_parse_new_clock), (gst_message_parse_error),
3543         (gst_message_parse_warning), (gst_message_parse_info),
3544         (gst_message_parse_segment_start),
3545         (gst_message_parse_segment_done), (gst_message_parse_duration),
3546         (gst_message_parse_async_start):
3547         Use GstQuark for messages.
3548
3549 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3550
3551         * gst/gstquark.c: (_priv_gst_quarks_initialize):
3552         * gst/gstquark.h:
3553         Add some more quarks needed for messages and queries.
3554
3555 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3556
3557         * docs/design/part-buffering.txt:
3558         Remove the "none" buffering mode, STREAM is a good default.
3559         Move estimated-time to the avail query, that's when it will be needed.
3560         Other small typo fixes and updates.
3561
3562 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3563
3564         * gst/gstindex.c: (gst_index_resolver_get_type):
3565           Don't put descriptions into the nick field of a GEnumValue: it's not
3566           meant for that and some language bindings rely on the nick field to
3567           construct constants and the like. Fixes #526705.
3568
3569 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3570
3571         * NEWS:
3572         * RELEASE:
3573         * gstreamer.doap:
3574           Merge other changes from 0.10.19 release branch.
3575
3576 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
3577
3578         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3579
3580         * configure.ac:
3581         Actually build dlls when cross-compiling with mingw32.
3582         Fixes bug #526247.
3583
3584 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
3585
3586         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3587
3588         * gst/gstpoll.c:
3589         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
3590
3591 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
3592
3593         * docs/design/draft-latency.txt:
3594         Fix typo.
3595
3596         * docs/design/part-buffering.txt:
3597         Update design docs with more buffering ideas.
3598
3599 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
3600
3601         * configure.ac:
3602           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
3603
3604 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3605
3606         * configure.ac:
3607           Revert part that belongs to the preset patch.
3608
3609 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3610
3611         * configure.ac:
3612           Add qoutes to the define. Fixes # 525961.
3613
3614 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
3615
3616         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
3617         (gst_file_index_load), (gst_file_index_add_id),
3618         (gst_file_index_get_assoc_entry):
3619         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
3620         (gst_mem_index_free_id), (gst_mem_index_add_id),
3621         (gst_mem_index_index_format):
3622         Use GSlice when possible.
3623
3624 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
3625
3626         * libs/gst/controller/gstinterpolationcontrolsource.c:
3627         (gst_control_point_free),
3628         (gst_interpolation_control_source_set_internal):
3629         Use GSlice for allocating the control points.
3630
3631 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
3632
3633         * plugins/elements/gsttypefindelement.c:
3634         (gst_type_find_element_class_init),
3635         (gst_type_find_element_set_property),
3636         (gst_type_find_element_get_property),
3637         (gst_type_find_element_activate):
3638         * plugins/elements/gsttypefindelement.h:
3639         Cleanup properties.
3640         Fix pad leak when peer query fails.
3641         We can still typefind when the peer returns -1.
3642         Add property to force caps and bypass typefinding. This will be used in
3643         uridecodebin.
3644         API::force-caps
3645
3646 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3647
3648         * configure.ac:
3649         Require GLib 2.12.
3650
3651         * gst/glib-compat-private.h:
3652         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
3653         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
3654         Unconditionally use GSlice for allocation.
3655
3656         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
3657         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
3658         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
3659         (gst_structure_free):
3660         Use GSlice for allocation.
3661
3662 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3663
3664         * gst/parse/Makefile.am:
3665         * gst/parse/grammar.tab.pre.c:
3666         * gst/parse/grammar.tab.pre.h:
3667         * gst/parse/lex._gst_parse_yy.pre.c:
3668         Require a new enough flex and bison and remove the parser hacks to use
3669         a pre-regenerated version.
3670
3671 2008-04-01  Julien Moutte  <julien@fluendo.com>
3672
3673         patch by: Jason Zhao <E3423C@motorola.com>
3674
3675         * configure.ac: Add a configure switch to disable option parsing
3676         in gst_init.
3677         Fixes #522882.
3678
3679 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3680
3681         * configure.ac:
3682         * gst/gstregistry.c:
3683           MacOS has plugins under .so or under .dylib. Add detection for MacOS
3684           and handle this case.
3685
3686         * gst/gst.c:
3687           Add a comment here describing, why we stat each plugin and not try to
3688           be smart.
3689
3690 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
3691
3692         * libs/gst/base/gstbasetransform.c:
3693         (gst_base_transform_prepare_output_buffer):
3694         Also unset the GAP flag on buffers if we're working inplace but
3695         the element is not GAP-aware.
3696
3697         Mark a comment as FIXME 0.11.
3698
3699 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3700
3701         * gst/gst.c:
3702           Fix type in log message and add one to ease seeing how long registry
3703           cache verification takes.
3704
3705         * gst/gstregistry.c:
3706           Only test plugin filenames against G_MODULE_SUFFIX.
3707
3708 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3709
3710         * gst/gstdebugutils.c:
3711           Improve handling ghost/proxy pads.
3712
3713 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
3714
3715         * docs/gst/gstreamer-sections.txt:
3716         * gst/gstpad.c:
3717         * gst/gstpad.h:
3718           Expose macro to docs and fix link to it.
3719
3720 2008-03-27  Michael Smith <msmith@fluendo.com>
3721
3722         * libs/gst/dataprotocol/dataprotocol.c:
3723         (gst_dp_packet_from_event_1_0):
3724           When calculating GDP body CRC, use the correct pointer. 
3725           Fixes part of #522401.
3726
3727 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3728
3729         Patch by: Mark Nauwelaerts <manauw at skynet be>
3730
3731         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3732         (gst_identity_init), (gst_identity_prepare_output_buffer):
3733         Identity is not always a passthrough element, it can modify the buffer
3734         timestamps when it has a datarate and operates in single-segment mode.
3735         We therefore make it an in_place filter with a custom buffer prepare
3736         function that conditionally makes the input buffer metadata writable
3737         when needed.  Fixes #523985.
3738
3739 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3740
3741         Patch by: Mark Nauwelaerts <manauw at skynet be>
3742
3743         * gst/gstclock.h:
3744         * libs/gst/base/gstbasesrc.h:
3745         * libs/gst/base/gstbasetransform.c:
3746         * libs/gst/check/gstcheck.c:
3747         Small documentation fixes. Fixes #523978.
3748
3749 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3750
3751         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3752         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3753         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
3754
3755 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3756
3757         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
3758         (single_queue_underrun_cb):
3759         When trying to make room in the queue, bump the max allowed buffers
3760         bigger than the current amount of buffers in the queue. this fixes some
3761         nasty deadlocks in multiqueue when dynamically changing the limits of
3762         the queue.
3763
3764 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3765
3766         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3767
3768         * gst/gstcaps.c: (gst_caps_set_simple),
3769         (gst_caps_set_simple_valist), (gst_caps_intersect):
3770         * gst/gstcaps.h:
3771         Constify the field gchar * params in set_simple and friends.
3772         Fixes #522326.
3773
3774 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3775
3776         * gst/gstvalue.c: (gst_value_transform_object_string):
3777         Transform a GstObject to a more meaningfull string that includes the
3778         object type in addition to its name.
3779
3780 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
3781
3782         * ChangeLog:
3783           ChangeLog surgery to add bugnumber to commit.
3784
3785 2008-03-23  Rene Stadler  <mail@renestadler.de>
3786
3787         * libs/gst/base/gstbasetransform.c:
3788         (gst_base_transform_set_gap_aware): Fix confusing documentation.
3789
3790 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3791
3792         * gst/gstregistrybinary.c: (gst_registry_binary_write):
3793         Rename constant everywhere and don't forget one occurence.
3794
3795 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3796
3797         * gst/gstregistrybinary.c: (gst_registry_binary_write):
3798         Align memory to the pointer size even if the architecture allows
3799         unaligned memory access. Unaligned memory access usually comes with
3800         performance penality.
3801
3802 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3803
3804         * gst/gstregistrybinary.c: (gst_registry_binary_write),
3805         (gst_registry_binary_check_magic),
3806         (gst_registry_binary_load_pad_template),
3807         (gst_registry_binary_load_feature),
3808         (gst_registry_binary_load_plugin):
3809         Align memory to the pointer size instead of always 32 bit. Fixes
3810         unaligned memory accesses on ia64 and friends.
3811
3812         * gst/gstregistrybinary.h:
3813         Bump binary registry format version for this as it changes the
3814         format on those architectures that don't have unaligned access
3815         and 64 bit pointers.
3816
3817 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3818
3819         * docs/pwg/advanced-dparams.xml:
3820         * docs/pwg/building-props.xml:
3821         * docs/pwg/other-source.xml:
3822         * gst/glib-compat.h:
3823         * gst/gstbin.c: (gst_bin_class_init):
3824         * gst/gstclock.c: (gst_clock_class_init):
3825         * gst/gstindex.c: (gst_index_class_init):
3826         * gst/gstobject.c: (gst_object_class_init):
3827         * gst/gstpad.c: (gst_pad_class_init):
3828         * gst/gstpipeline.c: (gst_pipeline_class_init):
3829         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3830         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
3831         * libs/gst/base/gstbasetransform.c:
3832         (gst_base_transform_class_init):
3833         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
3834         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
3835         (_gst_check_fault_handler_sighandler),
3836         (_gst_check_fault_handler_setup), (gst_check_init):
3837         * libs/gst/controller/gstcontroller.c:
3838         (_gst_controller_class_init):
3839         * libs/gst/controller/gstlfocontrolsource.c:
3840         (gst_lfo_control_source_class_init):
3841         * libs/gst/net/gstnetclientclock.c:
3842         (gst_net_client_clock_class_init):
3843         * libs/gst/net/gstnettimeprovider.c:
3844         (gst_net_time_provider_class_init):
3845         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
3846         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3847         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3848         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
3849         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
3850         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
3851         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
3852         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3853         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
3854         * plugins/elements/gstqueue.c: (gst_queue_class_init):
3855         * plugins/elements/gsttee.c: (gst_tee_class_init):
3856         * plugins/elements/gsttypefindelement.c:
3857         (gst_type_find_element_class_init):
3858         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
3859         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
3860         use it everywhere for GParamSpecs that use static strings (i.e. all).
3861         This gives us less memory usage, fewer allocations and thus less
3862         memory defragmentation. Fixes bug #523806.
3863
3864 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3865
3866         * gst/gstminiobject.c: (gst_value_dup_mini_object),
3867         (gst_param_spec_mini_object):
3868         * gst/gstminiobject.h:
3869         * win32/common/libgstreamer.def:
3870         * docs/gst/gstreamer-sections.txt:
3871         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
3872         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
3873         GstParamSpecMiniObject into a public header for this.
3874
3875         This make GstMiniObject a bit more consistent with GObject and makes
3876         it possible to extend the param specs.
3877
3878         gst_value_dup_mini_object is mainly useful for set_property methods.
3879
3880         Fixes bug #523798.
3881
3882         * tools/gst-inspect.c: (print_element_properties_info):
3883         Print something useful for GstMiniObject properties and not just
3884         "unknown type".
3885
3886 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
3887
3888         * docs/gst/gstreamer-sections.txt:
3889         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
3890         (gst_registry_binary_check_magic):
3891         * gst/gstregistrybinary.h:
3892         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
3893         and add it to the (private part) of the docs to fix the build.
3894
3895 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
3896
3897         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
3898         (gst_registry_binary_check_magic),
3899         (gst_registry_binary_read_cache):
3900         * gst/gstregistrybinary.h:
3901         Don't use GST_MAJORMINOR for the binary registry version. Instead
3902         hardcode a value that must be changed whenever the format changes
3903         in an incompatible way.
3904         Also don't GST_ERROR when there is a version mismatch, just
3905         regenerate the registry silently.
3906
3907 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
3908
3909         * configure.ac:
3910         Back to development - 0.10.18.1
3911
3912 === release 0.10.18 ===
3913
3914 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
3915
3916         * configure.ac:
3917           releasing 0.10.18, "So far away"
3918
3919 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
3920
3921         * configure.ac:
3922         * win32/common/config.h:
3923         0.10.17.4 pre-release
3924
3925 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
3926
3927         Patch by: Ole André Vadla Ravnås
3928             <ole dot andre dot ravnas at tandberg dot com>
3929
3930         * docs/gst/gstreamer-sections.txt:
3931         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
3932         (gst_poll_update_winsock_event_mask),
3933         (gst_poll_prepare_winsock_active_sets),
3934         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
3935         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
3936         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
3937         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
3938         (gst_poll_check_ctrl_commands), (gst_poll_wait):
3939         * gst/gstpoll.h:
3940         * win32/common/libgstreamer.def:
3941         Add new function gst_poll_fd_ignored() for improved Windows
3942         compatibility.
3943         Various minor fixes and cleanups. See #520808.
3944
3945 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
3946
3947         * gst/gstindex.c: (gst_index_entry_free):
3948         * gst/gstindex.h:
3949           Don't free key strings which we don't own. Fixes crash in
3950           gst_index_entry_free() (#522741).
3951
3952         * tests/check/Makefile.am:
3953         * tests/check/gst/.cvsignore:
3954         * tests/check/gst/gstindex.c: (test_index_entries),
3955           (gst_index_suite), (gst_index):
3956           Add unit test for the above.
3957
3958 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
3959
3960         * win32/common/libgstreamer.def:
3961         Remove symbols that were removed recently. Fixes bug #521740.
3962
3963 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
3964
3965         * configure.ac:
3966         * win32/common/config.h:
3967         0.10.17.3 pre-release
3968
3969 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3970
3971         Patch by: Ole André Vadla Ravnås
3972             <ole dot andre dot ravnas at tandberg dot com>
3973
3974         * docs/gst/gstreamer-sections.txt:
3975         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
3976         (gst_poll_update_winsock_event_mask), (gst_poll_new),
3977         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
3978         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
3979         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
3980         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
3981         (gst_poll_fd_can_write), (gst_poll_wait),
3982         (gst_poll_set_controllable), (gst_poll_restart),
3983         (gst_poll_set_flushing):
3984         * gst/gstpoll.h:
3985         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
3986         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
3987         (gst_net_time_provider_new):
3988         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
3989         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
3990         * tests/benchmarks/gstpollstress.c: (main):
3991         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
3992         Remove GstPollMode from the API, it does not make sense to let the
3993         application control this.
3994         Add support for Win32.
3995         Fix the testsuite. Fixes #520671.
3996
3997 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
3998
3999         Patch by: Ole André Vadla Ravnås
4000             <ole dot andre dot ravnas at tandberg dot com>
4001
4002         * gst/gstregistrybinary.c:
4003         Include io.h for write() and close() when building with MSVC. Fixes
4004         bug #520877.
4005
4006 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
4007
4008         * configure.ac:
4009         * gst/gst_private.h:
4010         * gst/gstconfig.h.in:
4011         * gst/gstregistry.h:
4012         * gst/gstregistrybinary.c:
4013         * win32/common/gstconfig.h:
4014           Move registry backend API to private headers where we can. Add
4015           fixme-0.11 comments for the others. Add stubs for the xml backend when
4016           using the binary to ensure they functions exists (they should not be
4017           used though). Fixes #520756.
4018
4019 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
4020
4021         * configure.ac:
4022         * win32/common/config.h:
4023         0.10.17.2 prelease
4024
4025 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4026
4027         * gst/gstregistrybinary.c: (gst_registry_binary_write),
4028         (gst_registry_binary_read_cache):
4029         * gst/gstregistryxml.c: (gst_registry_save):
4030         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
4031         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
4032         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4033         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
4034         Switch to using portabl gsize/gssize instead of size_t/ssize_t
4035         Fixes #520152
4036
4037 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
4038
4039         * gst/gstminiobject.c:
4040         Import gst_private.h before any other header that might include other
4041         glib headers. This fixes the build on windows using native compilers.
4042
4043 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4044
4045         * win32/common/gstconfig.h:
4046           Add here too, just for completeness.
4047
4048 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
4049
4050         * configure.ac:
4051         * gst/gstconfig.h.in:
4052         * gst/gstregistry.h:
4053           Fix broken use of config.h-defined preprocessor directive in a public
4054           header file. Add a corresponding define to gstconfig.h, since we can't
4055           really remove those function declarations from the header file now
4056           (or can we? and why are they there in the first place?).
4057
4058 2008-03-03  Andy Wingo  <wingo@pobox.com>
4059
4060         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
4061         the new warning.
4062
4063         * gst/gststructure.c (gst_structure_from_string): Warn if
4064         structure_from_string didn't consume the whole string, but the
4065         caller did not provide an end pointer.
4066
4067 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
4068
4069         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
4070
4071         * gst/gstregistryxml.c: (read_string), (load_feature):
4072           Strings allocated by libxml2 should be freed with xmlFree(), not
4073           with g_free(). Fixes issues on windows in certain contexts (#519698).
4074
4075 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
4076
4077         * gst/gstinterface.c: (gst_element_implements_interface):
4078           Don't crash if the element supports the interface queried, but does
4079           not implement GstImplementsInterface. Fixes #519584.
4080
4081         * tests/check/Makefile.am:
4082         * tests/check/gst/.cvsignore:
4083         * tests/check/gst/gstinterface.c:
4084           Add unit test for the above.
4085
4086 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4087
4088         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4089         Small doc update.
4090
4091 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4092
4093         * gst/gstsegment.c: (gst_segment_set_seek),
4094         (gst_segment_to_stream_time):
4095         Improve some comment.
4096         Update variables where it makes more sense.
4097
4098 2008-02-29  Rene Stadler  <mail@renestadler.de>
4099
4100         * gst/gsturi.c: (gst_uri_handler_get_protocols):
4101         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
4102         URIHandlers implemented using language bindings.
4103
4104 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4105
4106         * gst/gstelementfactory.h:
4107         * tests/check/elements/fakesink.c:
4108         * tests/check/elements/fakesrc.c: (setup_fakesrc):
4109         * tests/check/elements/fdsrc.c: (setup_fdsrc):
4110         * tests/check/elements/filesink.c: (setup_filesink):
4111         * tests/check/elements/filesrc.c: (setup_filesrc):
4112         * tests/check/elements/identity.c: (setup_identity):
4113         * tests/check/elements/tee.c:
4114         * tests/check/generic/sinks.c:
4115         * tests/check/generic/states.c: (setup), (teardown):
4116         * tests/check/gst/gst.c:
4117         * tests/check/gst/gstabi.c:
4118         * tests/check/gst/gstbin.c:
4119         * tests/check/gst/gstbus.c: (pull_messages):
4120         * tests/check/gst/gstcaps.c:
4121         * tests/check/gst/gstelement.c:
4122         * tests/check/gst/gstevent.c:
4123         * tests/check/gst/gstghostpad.c:
4124         * tests/check/gst/gstiterator.c:
4125         * tests/check/gst/gstmessage.c:
4126         * tests/check/gst/gstminiobject.c: (my_foo_init):
4127         * tests/check/gst/gstobject.c: (thread_name_object),
4128         (gst_object_suite):
4129         * tests/check/gst/gstpad.c:
4130         * tests/check/gst/gstplugin.c:
4131         * tests/check/gst/gstpoll.c:
4132         * tests/check/gst/gstquery.c:
4133         * tests/check/gst/gstsegment.c:
4134         * tests/check/gst/gststructure.c:
4135         * tests/check/gst/gstsystemclock.c:
4136         * tests/check/gst/gsttask.c:
4137         * tests/check/gst/gstutils.c:
4138         * tests/check/gst/gstvalue.c:
4139         * tests/check/gst/struct_hppa.h:
4140         * tests/check/gst/struct_i386.h:
4141         * tests/check/gst/struct_ppc32.h:
4142         * tests/check/gst/struct_ppc64.h:
4143         * tests/check/gst/struct_x86_64.h:
4144         * tests/check/libs/adapter.c: (create_and_fill_adapter):
4145         * tests/check/libs/basesrc.c:
4146         * tests/check/libs/controller.c: (GST_START_TEST):
4147         * tests/check/libs/gdp.c:
4148         * tests/check/libs/gstnetclientclock.c:
4149         * tests/check/libs/gstnettimeprovider.c:
4150         * tests/check/libs/libsabi.c:
4151         * tests/check/libs/struct_hppa.h:
4152         * tests/check/libs/struct_i386.h:
4153         * tests/check/libs/struct_ppc32.h:
4154         * tests/check/libs/struct_ppc64.h:
4155         * tests/check/libs/struct_x86_64.h:
4156         * tests/check/pipelines/cleanup.c:
4157         * tests/check/pipelines/simple-launch-lines.c:
4158         * tests/check/pipelines/stress.c:
4159         And correct even more valid sparse warnings.
4160
4161         * win32/common/libgstreamer.def:
4162         Add gst_poll_fd_init to the list of symbols.
4163
4164 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4165
4166         * gst/gstconfig.h.in:
4167         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
4168         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
4169         (gst_check_log_critical_func), (gst_check_drop_buffers),
4170         (gst_check_element_push_buffer_list):
4171         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
4172         (gst_controller_get_type):
4173         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
4174         (gst_object_get_controller), (gst_object_get_control_source):
4175         * libs/gst/controller/gstinterpolationcontrolsource.c:
4176         (gst_interpolation_control_source_new):
4177         * libs/gst/controller/gstlfocontrolsource.c:
4178         (gst_lfo_control_source_new):
4179         * libs/gst/dataprotocol/dataprotocol.c:
4180         (gst_dp_event_from_packet_0_2):
4181         * plugins/elements/gstfdsrc.c:
4182         * plugins/elements/gstmultiqueue.c:
4183         * plugins/elements/gsttee.c:
4184         * plugins/elements/gsttypefindelement.c:
4185         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
4186         (gst_file_index_add_association):
4187         * plugins/indexers/gstmemindex.c:
4188         * tests/benchmarks/gstpollstress.c: (mess_some_more):
4189         * tests/check/elements/queue.c: (setup_queue):
4190         * tests/check/gst/gstpipeline.c:
4191         * tests/check/libs/collectpads.c: (setup), (teardown),
4192         (gst_collect_pads_suite):
4193         * tests/examples/adapter/adapter_test.c:
4194         * tests/examples/metadata/read-metadata.c: (make_pipeline):
4195         * tests/examples/xml/createxml.c:
4196         * tests/examples/xml/runxml.c:
4197         * tools/gst-inspect.c:
4198         * tools/gst-run.c:
4199         Correct all relevant warnings found by the sparse semantic code
4200         analyzer. This include marking several symbols static, using
4201         NULL instead of 0 for pointers, not using variable sized arrays
4202         on the stack, moving variable declarations to the beginning of
4203         a block and using "foo (void)" instead of "foo ()" for declarations.
4204
4205 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4206
4207         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4208         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4209         Don't reset GstPollFDs, this is not necessary at all.
4210
4211         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4212         (delayed_restart), (delayed_control):
4213         Use GST_POLL_FD_INIT.
4214
4215 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4216
4217         * gst/gstpoll.c: (gst_poll_fd_init):
4218         * gst/gstpoll.h:
4219         Added Since tags.
4220
4221         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4222         Use some more init macros.
4223
4224 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4225
4226         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4227         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4228         Use init macros and functions.
4229
4230 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4231
4232         * docs/gst/gstreamer-sections.txt:
4233         * gst/gstpoll.c: (gst_poll_fd_init):
4234         * gst/gstpoll.h:
4235         Add INIT macro and _init method for initializing the GstPollFD.
4236
4237 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
4238
4239         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
4240         (gst_fd_sink_update_fd):
4241         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4242         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4243         (delayed_restart), (delayed_control):
4244         Initialize some uninitialized variables as spotted by valgrind.
4245
4246 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4247
4248         * tests/benchmarks/Makefile.am:
4249         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
4250         (main):
4251         Add poll stress test.
4252
4253 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4254
4255         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4256
4257         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4258         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
4259         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
4260         * plugins/elements/gstfdsink.h:
4261         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4262         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
4263         (gst_fd_src_unlock_stop), (gst_fd_src_create),
4264         (gst_fd_src_uri_set_uri):
4265         * plugins/elements/gstfdsrc.h:
4266         Port to GstPoll. See #505417.
4267
4268 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
4269
4270         * win32/common/libgstreamer.def:
4271         Add new gst_poll_ symbols to win32 defs.
4272
4273 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4274
4275         * docs/libs/gstreamer-libs-sections.txt:
4276         * libs/gst/net/gstnetclientclock.c:
4277         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
4278         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4279         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4280         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4281         * libs/gst/net/gstnetclientclock.h:
4282         * libs/gst/net/gstnettimeprovider.c:
4283         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
4284         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4285         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4286         (gst_net_time_provider_new):
4287         * libs/gst/net/gstnettimeprovider.h:
4288         Use a private stuct to not break ABI.
4289
4290 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4291
4292         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4293
4294         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
4295         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4296         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4297         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4298         * libs/gst/net/gstnetclientclock.h:
4299         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
4300         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4301         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4302         (gst_net_time_provider_new):
4303         * libs/gst/net/gstnettimeprovider.h:
4304         Massive code removal and cleanups because of GstPoll.
4305         Fixes #505417.
4306
4307 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4308
4309         * configure.ac:
4310         Add checks for poll, ppoll and pselect.
4311
4312         * docs/gst/gstreamer-docs.sgml:
4313         * docs/gst/gstreamer-sections.txt:
4314         Add docs for GstPoll.
4315
4316         * gst/Makefile.am:
4317         * gst/gst.h:
4318         * gst/gstpoll.c: (find_index), (selectable_fds),
4319         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
4320         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
4321         (gst_poll_set_mode), (gst_poll_get_mode),
4322         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
4323         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4324         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
4325         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
4326         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
4327         (gst_poll_fd_can_write), (gst_poll_wait),
4328         (gst_poll_set_controllable), (gst_poll_restart),
4329         (gst_poll_set_flushing):
4330         * gst/gstpoll.h:
4331         Add generic poll abstraction. We ideally don't want to have this in core
4332         here but in glib intead...
4333         This code will be used in various network elements and ultimately for
4334         the nanosecond precision monotonic clock (that's why it's here in core).
4335         It'll allow us to implement cancelable socket operations for windows too.
4336
4337         * tests/check/Makefile.am:
4338         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4339         (delayed_stop), (delayed_restart), (delayed_flush),
4340         (delayed_control), (gst_poll_suite):
4341         Add GstPoll unit test.
4342
4343 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
4344
4345         * gst/gstfilter.c:
4346           Improve documentation of gst_filter_run(). Fixes #518627.
4347
4348 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4349
4350         * docs/README:
4351           Add a few lines about the new 'check-inspected-versions' target.
4352
4353 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4354
4355         * tests/check/gst/gstevent.c:
4356           Add qos to the event test. Rename tcase/tsuite; is not only about
4357           custom events.
4358
4359 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4360
4361         * plugins/elements/gstqueue.c:
4362           Ensure that buffer metadata is writeable, before modifying. Spotted by
4363           Mike.
4364
4365 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
4366
4367         * plugins/elements/gstqueue.c:
4368         * plugins/elements/gstqueue.h:
4369           When dropping buffers in leaky modes, mark next buffers we sent as
4370           DISCONT.
4371
4372 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4373
4374         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
4375           Also, if mmap() fails that would be a READ error, not OPEN_READ.
4376
4377 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4378
4379         * plugins/elements/Makefile.am:
4380         * plugins/elements/gstbufferstore.c:
4381         * plugins/elements/gstbufferstore.h:
4382         * plugins/elements/gsttypefindelement.h:
4383           Remove GstBufferStore, no idea why we were still building it.
4384           It's not used anywhere and superseded by GstAdapter.
4385
4386         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4387           (gst_file_src_create_mmap):
4388         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
4389           Printf format fixes for 64-bit integers.
4390
4391 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4392
4393         * configure.ac:
4394         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
4395         We're not in 0.8 times anymore.
4396
4397 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
4398
4399         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
4400         (gst_check_element_push_buffer_list):
4401         * libs/gst/check/gstcheck.h:
4402         Make the declaration in the header for
4403         gst_check_element_push_buffer_list match the implementation.
4404
4405         Fix up spelling, grammar and wording of the documentation in a few
4406         places, and add the Since keyword to new API functions.
4407         Use g_list_delete_link instead of g_list_remove in
4408         gst_check_drop_buffers, since it's immeasurably more efficient.
4409
4410         * tests/check/elements/fakesrc.c: (GST_START_TEST):
4411         Use new gst_check_drop_buffers function where appropriate.
4412
4413         * win32/common/libgstbase.def:
4414         * win32/common/libgstreamer.def:
4415         Add new symbols gst_collect_pads_take_buffer, 
4416         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
4417         exports
4418
4419         Changelog surgery to add API keyword to new gst_check API.
4420
4421 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4422
4423         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
4424         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
4425         Update pre-generated flex files with flex 2.3.34.
4426
4427 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4428
4429         * gst/gstminiobject.c:
4430           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
4431           friendly to subclasses and not require them to know all internals
4432           of their parent class.
4433
4434 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4435
4436         * docs/libs/gstreamer-libs-sections.txt:
4437         * libs/gst/base/gstcollectpads.c:
4438         * libs/gst/base/gstcollectpads.h:
4439           Add sub-buffer functions to collectpads. Fixes #516187.
4440           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
4441
4442 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4443
4444         * gst/gstbuffer.c:
4445           Copy selected buffer-flags when creating subbuffers.
4446           Fixes #516395.
4447
4448 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
4449
4450         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
4451         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
4452         * gst/gstmessage.c: (gst_message_class_init),
4453         (gst_message_finalize):
4454         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
4455         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
4456         (gst_mmap_buffer_finalize):
4457         Properly chain up finalize functions to the parent class.
4458
4459 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
4460
4461         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
4462
4463         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
4464         (gst_index_set_resolver_full):
4465         * gst/gstindex.h:
4466         Add new function with option to dispose of user_data in resolver.
4467         Actually call the dispose function when finalizing the object and not
4468         just when changing the resolver/filter.
4469         API: GstIndex::gst_index_set_resolver_full()
4470
4471         * docs/gst/gstreamer-sections.txt:
4472         Add new function to docs. Fixes #515469.
4473
4474 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
4475
4476         * gst/gstindex.c: (gst_index_finalize):
4477         Chain up finalize to the parent class. Fixes leaking the GstObject
4478         name and other things.
4479
4480 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
4481
4482         * configure.ac:
4483         Make DISABLE_DEPRECATED defined *only* during CVS, not during
4484         pre-releases or releases.
4485
4486         * docs/faq/gst-uninstalled:
4487         Add gst-plugins-gl
4488
4489         * docs/random/release:
4490         Change one of the steps - we only upload core & base to Gnome FTP
4491
4492 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
4493
4494         * gst/gstconfig.h.in:
4495           Add 'id' for example.
4496
4497         * gst/gstpad.c:
4498         * gst/gstutils.c:
4499         * plugins/elements/gstfdsink.c:
4500           Link to signals. Doc and comment fixes.
4501
4502 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
4503
4504         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
4505         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
4506           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
4507           unused and unimplemented; finally, it is plugin features, not
4508           plugins, that have ranks.
4509           
4510 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4511
4512         * gst/gstpluginfeature.h:
4513           Clarify GstRank range docs.
4514
4515 2008-02-05  David Schleef  <ds@schleef.org>
4516
4517         * gst/gst.c: Add a separate gst_deinitialized that prevents
4518           gst_init() from being called after gst_deinit().  Fixes #509559
4519
4520 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4521
4522         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4523         (gst_bin_class_init):
4524         * gst/gstelement.c: (gst_element_base_class_init),
4525         (gst_element_class_add_pad_template):
4526         * gst/gstpadtemplate.c: (gst_pad_template_init):
4527         * gst/gstpipeline.c: (gst_pipeline_get_type),
4528         (gst_pipeline_base_init), (gst_pipeline_class_init):
4529         * libs/gst/base/gstbasesink.c:
4530         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4531         (gst_base_src_base_init), (gst_base_src_class_init):
4532         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4533         (gst_capsfilter_class_init):
4534         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4535         (gst_fake_sink_class_init):
4536         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4537         (gst_fake_src_class_init):
4538         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4539         (gst_fd_sink_class_init):
4540         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4541         (gst_fd_src_class_init):
4542         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4543         (gst_file_sink_class_init):
4544         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4545         (gst_file_src_class_init):
4546         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4547         (gst_identity_class_init):
4548         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4549         (gst_multi_queue_class_init):
4550         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4551         (gst_queue_class_init):
4552         * plugins/elements/gsttee.c: (gst_tee_base_init),
4553         (gst_tee_class_init):
4554         * plugins/elements/gsttypefindelement.c:
4555         (gst_type_find_element_base_init),
4556         (gst_type_find_element_class_init):
4557         * tests/check/gst/gstelement.c: (gst_element_suite):
4558         Revert previous changes to the behaviour of GstPadTemplates, etc
4559         and the possiblity to call them in class_init as it breaks too
4560         many elements. Reopens bug #491501.
4561
4562         Should be applied again for 0.11, thus added a few FIXME 0.11 at
4563         several places.
4564
4565 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4566
4567         * tools/gst-launch.c:
4568         Dump one graph per pipeline state-change and state change name
4569         (if GST_DEBUG_DUMP_DOT_DIR is set).
4570
4571 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
4572
4573         * gst/gstpad.c:
4574         * tests/check/gst/gstpad.c:
4575         Be sure that we have a new copy of the caps and not
4576         reffed caps from a template
4577
4578 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4579
4580         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4581         * gst/gstpipeline.c: (gst_pipeline_get_type),
4582         (gst_pipeline_class_init):
4583         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
4584         (gst_base_sink_class_init):
4585         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4586         (gst_base_src_class_init):
4587         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4588         (gst_base_transform_class_init):
4589         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4590         (gst_collect_pads_class_init):
4591         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
4592         * libs/gst/net/gstnettimeprovider.c:
4593         (gst_net_time_provider_base_init),
4594         (gst_net_time_provider_class_init):
4595         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4596         (gst_capsfilter_class_init):
4597         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4598         (gst_fake_sink_class_init):
4599         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4600         (gst_fake_src_class_init):
4601         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4602         (gst_fd_sink_class_init):
4603         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4604         (gst_fd_src_class_init):
4605         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4606         (gst_file_sink_class_init):
4607         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4608         (gst_file_src_class_init):
4609         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4610         (gst_identity_class_init):
4611         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4612         (gst_multi_queue_class_init):
4613         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4614         (gst_queue_class_init):
4615         * plugins/elements/gsttee.c: (gst_tee_base_init),
4616         (gst_tee_class_init):
4617         * plugins/elements/gsttypefindelement.c:
4618         (gst_type_find_element_base_init),
4619         (gst_type_find_element_class_init):
4620         Don't use base_init where not absolutely necessary. For example it's
4621         not necessary anymore for adding pad templates or setting element
4622         details.
4623
4624         Leave empty base_init functions in several places as GST_BOILERPLATE
4625         still defines and uses them.
4626
4627 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4628
4629         * gst/gstelement.c: (gst_element_base_class_init),
4630         (gst_element_class_add_pad_template):
4631         * gst/gstpadtemplate.c:
4632         Make it possible (and recommended) to set element details and add
4633         pad templates in the class_init functions by copying the details/pad
4634         templates in GstElement's base_init.
4635
4636         Also make it possible to replace existing pad templates by adding
4637         a new one with the same name. This was done in a hackish fashion
4638         in same elements before already.
4639
4640         Don't reference pad templates that are added a second time. A
4641         new pad template has a refcount of one and is not floating anymore
4642         and to be owned by the element's class. Make this more explicit by
4643         mentioning it in the docs of gst_element_class_add_pad_template().
4644
4645         These changes are backwards compatible. Fixes bug #491501.
4646
4647         * tests/check/gst/gstelement.c:
4648         Add unit test for setting element details, adding pad templates and
4649         replacing them in a subclass.
4650
4651 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
4652
4653         * tools/gst-inspect.c: (print_interfaces),
4654         (print_element_properties_info), (print_pad_info),
4655         (print_signal_info), (print_element_info):
4656         Fix a few memory leaks.
4657
4658 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4659
4660         * docs/libs/gstreamer-libs-sections.txt:
4661         * libs/gst/check/gstcheck.c:
4662         * libs/gst/check/gstcheck.h:
4663         Add more functions for unit testing: gst_check_drop_buffers,
4664         gst_check_caps_equal, gst_check_element_push_buffer_list,
4665         gst_check_element_push_buffer
4666         API: gst_check_drop_buffers
4667         API: gst_check_caps_equal
4668         API: gst_check_element_push_buffer_list
4669         API: gst_check_element_push_buffer
4670
4671 2008-02-01  Julien Moutte  <julien@fluendo.com>
4672
4673         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
4674         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
4675         (gst_index_finalize), (gst_index_entry_free),
4676         (gst_index_add_association): Fix memory leaks.
4677         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
4678         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
4679         (gst_mem_index_free_format), (gst_mem_index_free_id),
4680         (gst_mem_index_finalize): Fix memory leaks.
4681         * win32/common/config.h: Updated to CVS HEAD.
4682
4683 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4684
4685         * docs/README:
4686           Some more details about how the plugin docs works.
4687
4688         * docs/plugins/gstreamer-plugins-sections.txt:
4689           Whitespace cleanup.
4690
4691 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4692
4693         * gst/parse/grammar.tab.pre.c:
4694         * gst/parse/grammar.tab.pre.h:
4695         * gst/parse/grammar.y:
4696         * gst/parse/lex._gst_parse_yy.pre.c:
4697           Add delayed set-property. This allows to set properties on dynamicaly
4698           created objects (pads in videomxer). Fixes #509391.
4699
4700 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4701
4702         * gst/gstutils.c:
4703         Check if caps are not NULL (fix bug #510194)
4704
4705 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4706
4707         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
4708         (gst_base_sink_get_position_paused):
4709         Add fixme regarding EOS in pull mode.
4710         Fix position reporting in PAUSED for negative rates.
4711
4712 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4713
4714         * gst/gstminiobject.c: (gst_mini_object_replace):
4715         When replacing a miniobject, do a quick equality check first so that we
4716         can avoid a ref/unref pair.
4717
4718 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4719
4720         * docs/design/part-synchronisation.txt:
4721         Update some docs.
4722
4723         * docs/plugins/Makefile.am:
4724         * docs/plugins/gstreamer-plugins-docs.sgml:
4725         * docs/plugins/gstreamer-plugins-sections.txt:
4726         * plugins/elements/gstmultiqueue.c:
4727         Add multiqueue to the docs.
4728
4729 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4730
4731         * configure.ac:
4732           Back to CVS
4733
4734 === release 0.10.17 ===
4735
4736 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
4737
4738         * configure.ac:
4739           releasing 0.10.17, "Due Negligence"
4740
4741 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4742
4743         * gst/gstutils.c:
4744         Revert caps != NULL check temporarily for 0.10.17 release.
4745
4746 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
4747
4748         * gst/gstutils.c:
4749         Check if caps are not NULL (fix bug #510194)
4750
4751 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4752
4753         * gst/gstutils.c:
4754         Fix compilation on systems that have posix timers but no
4755         monotonic clock.
4756         Fixes: #512715
4757         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
4758         dot net>
4759
4760 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4761
4762         * tools/gst-inspect.c:
4763         Revert previous commit in preparation for an impromptu 0.10.17 release
4764
4765 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
4766
4767         * tools/gst-inspect.c: (print_interfaces),
4768         (print_element_properties_info), (print_pad_info),
4769         (print_signal_info), (print_element_info):
4770         Fix a few memory leaks.
4771
4772 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
4773
4774         * configure.ac:
4775         Back to CVS
4776
4777 === release 0.10.16 ===
4778
4779 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
4780
4781         * configure.ac:
4782           releasing 0.10.16, "Special Dispensation"
4783
4784 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
4785
4786         * configure.ac:
4787           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
4788           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
4789           not fail when trying to crosscompile on OpenEmbedded (#511750).
4790
4791 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
4792
4793         * docs/manuals.mak:
4794         Use $(MAKE) instead of make to fix the build if GNU make is
4795         called different. Fixes bug #510747.
4796
4797 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
4798
4799         * gst/gstplugin.c: (_gst_plugin_initialize):
4800           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
4801           again, which I broke two commits ago when changing the API
4802           of gst_plugin_register_static(): the g_list_foreach() in
4803           _gst_plugin_register_static still assumed the old function
4804           signature and would therefore fail (re-fixes #510187).
4805
4806         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
4807           (_gst_plugin_register_static), (gst_plugin_register_static):
4808           Revert the (technically correct) change to call g_thread_init() from
4809           the pre-main() constructor. This will break programs which call
4810           g_thread_init() without an if (!g_thread_supported()) guard in their
4811           main function. We could just blame it on GLib or the application, but
4812           it's probably best to just avoid this altogether and simply not use
4813           any GLib functions here and use plain old malloc() with a simple
4814           array to store the plugins to register later when gst_init() is
4815           finally called (re-fixes #510187).
4816
4817         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
4818           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
4819           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
4820           (GST_START_TEST), (gst_plugin_suite):
4821           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
4822           works.
4823
4824 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
4825
4826         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
4827           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
4828           This makes gtk-doc complain, but results in slightly better
4829           compiler errors. The old _gst_plugin_register_static() is
4830           still guarded, so there'll be a compiler warning about that
4831           instead. Fixes #510187 too.
4832
4833 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
4834
4835         * gst/gst.c: (init_post):
4836         * gst/gstplugin.c: (_gst_plugin_register_static),
4837           (gst_plugin_register_static), (_gst_plugin_initialize):
4838         * gst/gstplugin.h: (GstPluginFilter):
4839           Change API of gst_plugin_register_static() to not take
4840           a GstPluginDesc, but rather just take all the arguments
4841           in a GstPluginDesc directly. This is more intuitive and
4842           avoids certain mistakes when porting code from
4843           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
4844           Fixes #510187.
4845
4846         * tests/check/gst/gstplugin.c:
4847           Fix up for changed API.
4848
4849 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4850
4851         * docs/faq/legal.xml:
4852           Update FAQ, Totem actually has an exception these days.
4853
4854 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
4855
4856         * win32/common/libgstreamer.def:
4857         Add new API declarations
4858
4859 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
4860
4861         * gst/gstminiobject.c:
4862           Spelling fixes for the API docs.
4863
4864 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
4865
4866         * libs/gst/base/gstbasetransform.c:
4867           Fix long property description for QoS.
4868
4869 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
4870
4871         * gst/gst.c:
4872         _gst_trace_on is already provided by gsttrace.h, no need to declare
4873         it ourselves.
4874
4875         * docs/libs/gstreamer-libs-sections.txt:
4876         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
4877         and remove strange tcase_add_test which is outputting a warning.
4878
4879         * libs/gst/check/gstcheck.c:
4880         * libs/gst/check/gstcheck.h:
4881         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
4882         and define them in gstcheck.c instead of having every .c file whcih
4883         includes gstcheck.h be defining its own copy and relying on symbol
4884         interposing to marry them all, which doesn't work on Solaris.
4885
4886         * tests/check/elements/identity.c: (GST_START_TEST):
4887         Don't define 'buffers' locally, it comes from libgstcheck.
4888
4889         * tests/check/generic/sinks.c: (send_buffer):
4890         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
4891
4892         * tests/check/gst/gststructure.c: (GST_START_TEST):
4893         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
4894         * tests/check/gst/gstutils.c: (GST_START_TEST):
4895         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4896         Add a bunch of casts to make various constants fit the types
4897         they're being assigned to.
4898
4899 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
4900
4901         * gst/gstchildproxy.c:
4902           Improve docs and add some ideas for making this more general-purpose.
4903
4904 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
4905
4906         * gst/gst_private.h: (GST_CAT_TYPES):
4907           Add GST_CAT_TYPES, for consistency, and so that the other
4908           debug categories don't make fun of it. Spotted by Saur on IRC.
4909
4910 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
4911
4912         * gst/parse/Makefile.am:
4913           Move types.h from EXTRA_DIST to noinst_HEADERS.
4914
4915 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
4916
4917         * autogen.sh:
4918           Add -Wno-portability to the automake parameters to stop warnings
4919           about GNU make extensions being used. We require GNU make in almost
4920           every Makefile anyway.
4921
4922         * configure.ac:
4923           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
4924           at the same time is required for per target flags.
4925
4926 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4927
4928         * gst/gstmacros.h:
4929           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
4930           __GNUC__ is defined before using it.
4931
4932 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4933
4934         * docs/gst/gstreamer-sections.txt:
4935         * gst/gst.c: (init_post):
4936         * gst/gstplugin.c: (_gst_plugin_register_static),
4937           (gst_plugin_register_static), (_gst_plugin_initialize),
4938           (gst_plugin_register_func):
4939         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
4940           API: add gst_plugin_register_static() and deprecate
4941           GST_PLUGIN_DEFINE_STATIC, since it's not portable
4942           (#498924).
4943           Also, in _gst_plugin_register_static(), make sure to call
4944           g_thread_init() before calling GLib functions such as
4945           g_list_append() if we're not initialised yet, since that
4946           may lead to random crashes with older GSlice/GLib versions.
4947
4948         * tests/check/gst/gstplugin.c:
4949           Adapt unit test to above changes.
4950
4951 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4952
4953         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
4954         * gst/gstcaps.c: (gst_caps_to_string):
4955         * gst/gststructure.c: (GST_ASCII_IS_STRING),
4956           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
4957           Yet another gratuitous GString micro-optimisation: add a (private)
4958           function that serialises a structure appending to an existing
4959           GString, so that when we serialise caps we don't need to alloc+free
4960           a throwaway GString for each structure (each of which also entailing
4961           multiple reallocs on the way); also use g_string_sized_new() in
4962           various places with an approximate string length to avoid reallocs
4963           within GString. See #500143.
4964
4965 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4966
4967         * gst/gststructure.c: (gst_structure_id_set_value):
4968           Always check UTF-8 conformance of structure strings and not only
4969           if the debugging system is enabled; reasoning: the behaviour of
4970           the actual code shouldn't really change depending on whether the
4971           debugging system is enabled or not (#508291).
4972
4973 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
4974
4975         * Makefile.am:
4976           Remove old coverage target in favour of "make lcov".
4977
4978 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
4979
4980         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
4981         (gst_base_src_loop):
4982         The start segment for reverse playback goes from start to last_stop.
4983
4984 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
4985
4986         Patch by: Peter Kjellerstedt <pkj axis com>
4987
4988         * gst/gstclock.h:
4989         Cast the results from the timeval/spec_to_time macros to what the
4990         docs say it casts to, a GstClockTime. fixes #508175.
4991
4992 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
4993
4994         * gst/gstbuffer.c:
4995         Update some comments.
4996
4997         * tools/gst-inspect.c: (print_element_properties_info):
4998         Improve printing of flags.
4999
5000 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
5001
5002         * libs/gst/base/gstbasetransform.c:
5003           (gst_base_transform_transform_size):
5004           Print element name with g_warning() if there's a problem
5005           with the unit size.
5006
5007 2008-01-07  David Schleef  <ds@schleef.org>
5008
5009         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
5010
5011         * libs/gst/controller/gstcontroller.h:
5012         * libs/gst/controller/gstcontrolsource.h:
5013         * libs/gst/controller/gstinterpolationcontrolsource.h:
5014         * libs/gst/controller/gstlfocontrolsource.h:
5015         * libs/gst/dataprotocol/dataprotocol.h:
5016           Fix empty prototypes.  Fixes bug #507957.
5017
5018 2008-01-07  David Schleef  <ds@schleef.org>
5019
5020         * docs/faq/dependencies.xml: Fix typo.
5021
5022 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
5023
5024         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
5025         (gst_base_src_loop):
5026         Don't update the last_stop position in do_seek, that's the position we
5027         did a seek to.
5028         Read backwards when we have a negative rate.
5029
5030         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
5031         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
5032         (filesrc_suite):
5033         Add check for reverse reading.
5034
5035 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
5036
5037         Patch by: Alexis Ballier <aballier at gentoo org>
5038
5039         * tests/check/gst/gstabi.c:
5040         * tests/check/gst/struct_ppc64.h:
5041         * tests/check/libs/libsabi.c:
5042         * tests/check/libs/struct_ppc64.h:
5043           Decide which header to include based on the userland ABI target
5044           and not the kernel/cpu. Fix up structure sizes of ppc64 header
5045           for 64-bit userland (#503590).  Might need something similar for
5046           x86 too.
5047
5048 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
5049
5050         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
5051           Log the reason why fopen fails in addition to the fact that it failed.
5052           
5053 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
5054
5055         * gst/parse/parse.l:
5056         Use "%option never-interactive" to prevent useless calls to isatty()
5057         on every input when parsing. Also use "%option noinput" to not define
5058         the static input/yyinput functions which we don't use anyway. This
5059         removes a compiler warning with gcc 4.3 and saves some bytes in the
5060         library.
5061         
5062         * gst/parse/lex._gst_parse_yy.pre.c:
5063         Regenerated for the above change.
5064
5065 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
5066
5067         * gst/gstpad.c: (fixate_value):
5068         Don't crash when trying to fixate and empty list.
5069         Fixes #506643.
5070
5071 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
5072
5073         * docs/faq/gst-uninstalled:
5074         Clarify the comments to make the usage of this script and what it
5075         does easier to understand.
5076
5077 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
5078
5079         * tools/gst-plot-timeline.py:
5080         Add more options to gst-plot-timeline
5081
5082 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
5083
5084         * docs/design/part-synchronisation.txt:
5085         Some more info on how the stream_time in GstBaseSink is done.
5086
5087 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
5088
5089         * tests/check/generic/sinks.c: (gst_sinks_suite):
5090           Put back the tcase_set_timeout(), apparently it's needed after
5091           all; fix it up in a way that makes things work with valgrind too.
5092
5093 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
5094
5095         * gst/gstdebugutils.c:
5096           Add warning when failed to open file for writing.
5097
5098 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5099
5100         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
5101
5102         * gst/gstvalue.c: (gst_value_is_fixed):
5103           Optimisation: bail out of the loop as early as possible (#500143).
5104
5105 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5106
5107         * gst/gstcaps.c: (gst_caps_to_string):
5108         * gst/gstinfo.c: (gst_debug_construct_term_color):
5109         * gst/gstparse.c: (gst_parse_launchv):
5110         * gst/gstutils.c: (gst_util_dump_mem):
5111         * gst/gstvalue.c: (gst_value_serialize_any_list),
5112           (gst_value_transform_any_list_string):
5113           Bunch of gratuitous nano-optimisations.
5114
5115 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5116
5117         * tests/check/generic/sinks.c: (async_done_func),
5118           (async_done_eos_func):
5119           Fix leak in unit test (bus sync handler must unref the message
5120           if it returns GST_BUS_DROP). Don't fiddle with the default test
5121           timeout, this is smaller than the current preconfigured value
5122           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
5123           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
5124
5125 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5126
5127         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5128
5129         * configure.ac:
5130         Check for stdio_ext.h for the filesink changes.
5131
5132         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
5133         (gst_file_sink_class_init), (gst_file_sink_init),
5134         (gst_file_sink_dispose), (gst_file_sink_set_property),
5135         (gst_file_sink_get_property), (gst_file_sink_open_file),
5136         (gst_file_sink_close_file):
5137         * plugins/elements/gstfilesink.h:
5138         Add two properties to control the buffering mode and size.
5139         API: GstFileSink::buffer-mode
5140         API: GstFileSink::buffer-size
5141         Fixes #500150.
5142
5143 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5144
5145         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
5146         Add some more docs to explain why a FIXME was wrongly added. 
5147
5148 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
5149
5150         * gst/gstobject.c:
5151           Fix typo in the gst_object_{ref,unref} documentation.
5152
5153 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5154
5155         * tests/check/libs/controller.c:
5156         * tests/check/libs/typefindhelper.c:
5157         * tests/check/pipelines/parse-launch.c:
5158           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
5159           going to be deprecated (see #498924).
5160
5161 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5162
5163         * gst/gsttypefind.c: (gst_type_find_register):
5164           Make gst_type_find_register work for static typefind functions,
5165           ie. allow passing plugin == NULL (prerequisite for #498924).
5166
5167         * gst/gstelementfactory.c: (gst_element_register):
5168           Small docs addition.
5169
5170 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
5171
5172         * gst/gstpad.c: (gst_pad_dispose):
5173         Really unlink the peer pad instead of setting the peer pointer to NULL
5174         when we dispose the pad.
5175         This correctly calls the unlink functions and makes sure that the peer
5176         does not have a handle to invalid memory. See #504671.
5177
5178         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5179         Add testsuite for above case.
5180
5181 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
5182
5183         Patch by: Peter Kjellerstedt <pkj axis com>
5184
5185         * libs/gst/check/gstcheck.h:
5186           Fix detection of the check version we're compiling against (would
5187           otherwise break if check goes v0.10.0); correctly report the
5188           name of the failed test again in case of failure, instead of
5189           just 'tf' (fixes #504499).
5190
5191 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5192
5193         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
5194         (gst_base_src_get_range), (gst_base_src_pad_get_range),
5195         (gst_base_src_loop), (gst_base_src_set_flushing),
5196         (gst_base_src_change_state):
5197         Allow sending EOS to the source to make it send out an EOS event from
5198         the streaming thread.
5199         Update docs and deprecate the old NULL/READY shutdown method.
5200
5201         * tests/check/libs/basesrc.c: (GST_START_TEST),
5202         (gst_basesrc_suite):
5203         Add unit test for controlled shutdown.
5204
5205 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5206
5207         * docs/design/part-synchronisation.txt:
5208         Small updates.
5209
5210         * gst/gstsegment.c: (gst_segment_set_seek),
5211         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5212         (gst_segment_to_running_time):
5213         The seek format can be different from the segment format when the start
5214         and stop values are not to be updated, when we only do a rate change for
5215         example.
5216
5217         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5218         (gst_segment_suite):
5219         Add a testcase for the rate-only seeks, checking that the format is
5220         correctly ignored when start and stop are not updated.
5221
5222 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
5223
5224         Patch by: Matthias Bolte <photon at mail dot upb dot de>
5225
5226         * win32/vs8/grammar.vcproj:
5227         * win32/vs8/libgstcontroller.vcproj:
5228         * win32/vs8/libgstreamer.vcproj:
5229         Fix compilation with VS8 and include some missing files.
5230
5231 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
5232
5233         * gst/gsttaglist.c:
5234           Small docs addition: mention that the strings returned by
5235           gst_tag_list_get_string*() are in UTF-8 encoding.
5236
5237 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
5238
5239         * Makefile.am:
5240           The check-exports stuff moved to common/win32.mak, so include that.
5241
5242 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
5243
5244         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5245         (gst_base_src_perform_seek), (gst_base_src_get_range),
5246         (gst_base_src_set_playing), (gst_base_src_change_state):
5247         Make _wait_playing() not check any variables so that we can call this
5248         function from subclasses. Move the checks elsewhere similar to
5249         _wait_preroll() in basesink.
5250         Add some debugging.
5251         Only signal the LIVE cond when we are going back to PLAYING.
5252
5253 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5254
5255         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
5256           Use g_remove() and g_rename(). Check result of g_rename(), and
5257           don't leak the open file descriptor if we error out when writing.
5258
5259         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
5260           Must check the return value of close() after writing out the new
5261           registry file.  Sometimes write problems such as out-of-diskspace
5262           are only reported when the file is closed and not already during
5263           the write.  This may have caused partial/broken registry files in
5264           some rare circumstances. Should fix #503675.
5265
5266 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
5267
5268         * docs/gst/.cvsignore:
5269         * docs/libs/.cvsignore:
5270         * docs/plugins/.cvsignore:
5271         Ignore files generated by new common/* modifications
5272
5273 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5274
5275         * win32/common/libgstbase.def:
5276           Yes, you can also have a <TAB> if you want.
5277
5278 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5279
5280         * win32/common/libgstbase.def:
5281           Add new basetransform API to win export file.
5282
5283 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5284
5285         * tests/check/gst/gstbin.c:
5286           Adjust the test to the refcount change two days ago.
5287
5288 2007-12-14  David Schleef  <ds@schleef.org>
5289
5290         * docs/faq/getting.xml: Fix typo.
5291
5292 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
5293
5294         * docs/libs/gstreamer-libs-sections.txt:
5295         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5296           (gst_base_transform_prepare_output_buffer),
5297           (gst_base_transform_set_gap_aware):
5298         * libs/gst/base/gstbasetransform.h:
5299           API: Add gst_base_transform_set_gap_aware() to control whether
5300           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
5301           get buffers with this flag at all. Fixes #503231.
5302
5303 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
5304
5305         * libs/gst/base/gstbasesink.c:
5306         * libs/gst/base/gstbasesrc.c:
5307         * libs/gst/base/gstbasetransform.c:
5308           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
5309           thread. Correct log message in gstbasesrc.c.
5310
5311 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5312
5313         * gst/gstutils.c: (element_find_unconnected_pad):
5314           Fix possible compiler warning (#503417).
5315
5316 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5317
5318         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
5319           Don't use GST_CAT_EVENT here for logging, it makes no sense.
5320
5321 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
5322
5323         * tools/gst-inspect.c: (print_element_properties_info):
5324           Add support for GstFraction properties.
5325
5326 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5327
5328         * Makefile.am:
5329           Add check-exports target and run it as part of 'make check'
5330           (see #499140 and #493983).
5331
5332         * gst/gst_private.h:
5333         * gst/gstelementfactory.h:
5334         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
5335         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
5336           (_priv_gst_in_valgrind):
5337         * gst/gstinfo.h: (GstLogFunction):
5338         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
5339           (gst_type_find_register):
5340         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
5341           (gst_type_find_factory_get_type):
5342         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
5343           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
5344           (gst_controller_new_valist), (gst_controller_new_list),
5345           (_gst_controller_dispose), (_gst_controller_class_init):
5346         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
5347         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
5348           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
5349           (gst_object_get_controller), (gst_object_set_controller),
5350           (gst_object_suggest_next_sync), (gst_object_sync_values),
5351           (gst_object_set_control_source), (gst_object_get_control_source),
5352           (gst_object_get_value_arrays), (gst_object_get_value_array),
5353           (gst_object_get_control_rate), (gst_object_set_control_rate):
5354         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
5355         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
5356           Make some functions that should be static static; rename some
5357           private symbols so that they don't get exported; add some FIXME
5358           comments so we can move accidentally exported functions into
5359           our private section in 0.11.
5360
5361         * win32/common/libgstreamer.def:
5362           Add gst_utils_get_timestamp().
5363
5364 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5365
5366         * gst/gstvalue.c:
5367         * gst/gstvalue.h:
5368           Add more missing "Since:" tags to docs.
5369
5370 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5371
5372         * gst/gstutils.c:
5373           Add mising "Since:" to docs.
5374
5375 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5376
5377         * gst/gstplugin.c:
5378           Include "glib-compat-private.h" to fix the build on system with
5379           glib < 2.10. Fixes #503131.
5380
5381 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5382
5383         * gst/gstutils.c:
5384         * gst/gstutils.h:
5385           Actually its not PURE as it gets the time from elsewhere.
5386
5387 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5388
5389         * docs/gst/gstreamer-sections.txt:
5390         * gst/gstclock.h:
5391         * gst/gstdebugutils.c:
5392         * gst/gstinfo.c:
5393         * gst/gstutils.c:
5394         * gst/gstutils.h:
5395         * libs/gst/base/gstbasesink.c:
5396         * tools/gst-launch.c:
5397           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
5398           uses as we don't have HAVE_POSIX_TIMERS in public headers.
5399           Thanks Tim for spotting.
5400           API: gst_util_get_timestamp
5401
5402 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
5403
5404         * configure.ac:
5405           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
5406
5407 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
5408
5409         * gst/gststructure.c: (gst_structure_validate_name),
5410           (gst_structure_new_valist), (gst_structure_parse_value),
5411           (gst_structure_from_string):
5412           Don't crash in _from_string() if the structure name is not valid
5413           (fixes #501560).  Allow structure names to start with a number
5414           again (this apparently broke the ubuntu codec installer).
5415
5416         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
5417           (GST_START_TEST):
5418           Add unit test for the crash; update unit tests for new behaviour.
5419
5420 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
5421
5422         * gst/gstutils.c:
5423         Clarify gst_element_get_compatible_pad() documentation.
5424         Fixes #500919.
5425
5426 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
5427
5428         * tests/check/Makefile.am:
5429           Don't forget to dist {gst,libs}/struct_hppa.h.
5430
5431 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5432
5433         * libs/gst/base/gstbasesink.c:
5434           Use new API to get elapsed time.
5435
5436 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5437
5438         * gst/gstdebugutils.c:
5439         * gst/gstinfo.c:
5440           Fix wrong order of args in GST_CLOCK_DIFF() usage.
5441
5442         * tools/gst-launch.c:
5443           Use new API to get elapsed time.
5444
5445 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5446
5447         * docs/gst/gstreamer-sections.txt:
5448         * gst/gstclock.h:
5449         * gst/gstdebugutils.c:
5450         * gst/gstinfo.c:
5451           Rename new API + ChangeLog surgery to remove old name from last entry..
5452
5453 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5454
5455         * docs/gst/gstreamer-sections.txt:
5456         * gst/gstclock.h:
5457         * gst/gstdebugutils.c:
5458         * gst/gstinfo.c:
5459           Now hide the different clock stuff behind a macro.
5460
5461 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5462
5463         * configure.ac:
5464         * gst/gstdebugutils.c:
5465         * gst/gstinfo.c:
5466           Apply the posix-timer check from #361155. Conditionally use the posix
5467           timer for logging. This gives better timestamp precission, less
5468           overhead and no ntp jitter.
5469
5470 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
5471
5472         * gst/gstminiobject.c: (gst_mini_object_get_type),
5473         (gst_mini_object_class_init), (gst_mini_object_copy_default),
5474         (gst_mini_object_finalize), (gst_mini_object_copy),
5475         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
5476         (gst_mini_object_replace), (param_mini_object_validate),
5477         (gst_param_spec_mini_object_get_type):
5478         Some cleanup and checking against invalid function parameters.
5479
5480 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
5481
5482         * docs/gst/gstreamer-sections.txt:
5483         * gst/gstclock.h:
5484         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5485         (gst_systemclock_suite):
5486         Start merging in the easy bits of #361155, the monotonic clock patch.
5487         This one adds a few handy macros with docs and a testsuite.
5488
5489 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
5490
5491         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
5492         Be a bit smarter when seeking, like, don't try to do a seek when it's
5493         not needed. This avoids errors when the file is not seekable.
5494         Fixes #499771.
5495
5496 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
5497
5498         * docs/gst/gstreamer-docs.sgml:
5499         * docs/gst/gstreamer-sections.txt:
5500         * docs/gst/gstreamer.types.in:
5501         * gst/Makefile.am:
5502         * gst/gst.h:
5503         * gst/gstpreset.c:
5504         * gst/gstpreset.h:
5505         * plugins/elements/gstqueue.c:
5506           Due to popular request remove preset interface again. :-(.
5507
5508 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5509
5510         * tools/gst-inspect.c:
5511           Print 'default value' for enums and flags too.
5512
5513 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5514
5515         * docs/random/ensonic/profiling.txt:
5516           More ideas.
5517
5518         * gst/gstbin.c:
5519           Fix typo and give better log output.
5520
5521         * gst/gstdebugutils.c:
5522         * gst/gstdebugutils.h:
5523           More ideas, make graphs a bit smaller and fix param name in macro.
5524
5525 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5526
5527         * gst/gstpreset.c:
5528           Try harder to use the return value from fgets().
5529
5530 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
5531
5532         * gst/gstpreset.c:
5533           For theses two fgets we handle the error below.
5534
5535 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5536
5537         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
5538         Only send upstream events upstream. Fixes #498746.
5539
5540 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5541
5542         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5543
5544         * plugins/elements/gstidentity.c: (gst_identity_class_init),
5545         (gst_identity_init), (gst_identity_transform_ip),
5546         (gst_identity_set_property), (gst_identity_get_property):
5547         * plugins/elements/gstidentity.h:
5548         Add property to disable handoff signal emission. Fixes #498694.
5549         API: GstIdentity::signal-handoffs
5550
5551 2007-11-21  Julien Moutte  <julien@fluendo.com>
5552
5553         * docs/faq/gst-uninstalled: Yet another missing library for the
5554         uninstalled script (fft)
5555
5556 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
5557
5558         * docs/faq/developing.xml:
5559         Add a question about how to submit new translations.
5560
5561         * docs/random/release:
5562         Update the contact email address for the Translation Project
5563
5564         * plugins/elements/gstfdsrc.c:
5565         The parent_class for fdsrc is pushsrc, not GstElement.
5566
5567 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5568
5569         * gst/gstpreset.c:
5570           Plug a leak and fix saving.
5571
5572 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
5573
5574         * docs/gst/gstreamer-sections.txt:
5575         Add new gst_preset__get_property_names() function to the docs
5576         to fix the build.
5577
5578 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5579
5580         * gst/gstpreset.c:
5581         * gst/gstpreset.h:
5582           Change _get_preset_names API to return a strv with copies. Add
5583           _get_property_names to allow implementations to filter and provide
5584           good default implementation.
5585
5586 2007-11-20  Julien MOUTTE  <julien@moutte.net>
5587
5588         * docs/faq/gst-uninstalled: Add another library to the uninstalled
5589         script (sdp).
5590
5591 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5592
5593         * gst/gstpreset.c:
5594           More cleanups, docs, and TODOs from comments that now slowly come in.
5595
5596 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5597
5598         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
5599         search path.
5600
5601 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5602
5603         * gst/gstpreset.c:
5604           Fix bogus warning and make the property type specific code more
5605           similar.
5606
5607 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5608
5609         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
5610         it build on OS X.
5611
5612 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
5613
5614         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5615         (gst_bin_add_func), (gst_bin_remove_func),
5616         (gst_bin_change_state_func), (gst_bin_continue_func):
5617         Change email, cleanups add some more debug and comments.
5618         Also set bus and clock on new elements when the pipeline was in error.
5619
5620 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
5621
5622         * gst/gstbin.c:
5623         * gst/gstdebugutils.c:
5624           Fix build with --disable-gst-debug. Fixes #497859.
5625           Spotted by Sameer Naik.
5626
5627 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5628
5629         * gst/gstevent.c:
5630           Little documentation improvment.
5631
5632         * gst/gstpreset.c:
5633           More TODO cleanups. Remove c++ comments.
5634
5635         * libs/gst/controller/gstcontroller.c:
5636           Add TODO and use quark from static string.
5637
5638         * tests/check/gst/gstmessage.c:
5639         * tests/check/gst/gststructure.c:
5640           Use quark from static string.
5641
5642 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5643
5644         * gst/gstpreset.c:
5645           Add some comments and TODOs.
5646
5647         * gst/gstpreset.h:
5648           Add padding for future changes.
5649
5650         * plugins/elements/gstqueue.c:
5651           Implement the iface.    
5652
5653 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5654
5655         * docs/gst/gstreamer-docs.sgml:
5656         * docs/gst/gstreamer-sections.txt:
5657         * docs/gst/gstreamer.types.in:
5658         * gst/Makefile.am:
5659         * gst/gst.h:
5660         * gst/gstpreset.c:
5661         * gst/gstpreset.h:
5662           Add the preset interface (Fixes #396779). Do some doc cleanups along.
5663
5664 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
5665
5666         * configure.ac:
5667
5668         Back to CVS
5669
5670 === release 0.10.15 ===
5671
5672 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
5673
5674         * configure.ac:
5675           releasing 0.10.15, "October"
5676
5677 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
5678
5679         * win32/vs6/libgstreamer.dsp:
5680         Convert line endings back to DOS.
5681
5682 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
5683
5684         * docs/design/draft-tagreading.txt:
5685         * docs/random/ensonic/profiling.txt:
5686         Update fast tagreading draft and performance profiling ideas.
5687
5688 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5689
5690         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
5691         Don't hold the object lock when unreffing a buffer because it could
5692         cause a deadlock when the finalize function wants to grab the object
5693         lock too. Fixes #495133.
5694
5695 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5696
5697         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
5698         (gst_segment_to_stream_time), (gst_segment_to_running_time):
5699         Also accumulate time correctly when doing reverse playback. Fixes
5700         #488201,
5701         When converting to running and stream time, use default values for
5702         start/stop/time/accum when comparing different formats. Fixes #494245.
5703
5704         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5705         Do running/stream time in TIME format.
5706
5707         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5708         (gst_segment_suite):
5709         2 new unit tests for segment accumulation.
5710
5711 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5712
5713         * gst/gst.c: (init_pre):
5714         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
5715           (_gst_debug_bin_to_dot_file):
5716           Move getenv() back into gst_init, so everyone can live happily
5717           ever after. Make sure the symbol isn't exported though.
5718
5719 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5720
5721         Patch by: Sebastien Moutte  <sebastien moutte net>
5722
5723         * win32/common/gstenumtypes.c:
5724         * win32/common/gstenumtypes.h:
5725           Update enum types.
5726
5727         * win32/vs6/libgstreamer.dsp:
5728           Update vs6 project files (#494343).
5729
5730 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5731
5732         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
5733         (gst_base_src_perform_seek), (gst_base_src_default_event),
5734         (gst_base_src_set_flushing), (gst_base_src_activate_push),
5735         (gst_base_src_activate_pull):
5736         Unify flushing code, remove some old unlock code that is no longer used.
5737         Take the streaming lock when seeking to avoid races. Fixes #492729.
5738         Added some more comments.
5739
5740 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5741
5742         * gst/gst.c: (_gst_disable_segtrap):
5743           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
5744           we can use gst_segtrap_is_enabled() there now that we have that API.
5745           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
5746           to do the getenv here (and export the variable).
5747
5748         * gst/gstdebugutils.c: (debug_dump_element),
5749           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
5750           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
5751
5752         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
5753           (gst_debug_log_default):
5754           Rename _gst_info_start_time to priv_gst_info_start_time so it
5755           doesn't get exported (was never in any header).
5756
5757         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
5758           (gst_plugin_loading_mutex):
5759           Make static mutex gst_plugin_loading_mutex really static (was never
5760           in any header), and use gst_segtrap_is_enabled() instead of
5761           _gst_disable_segtrap.
5762
5763         * gst/gsttrace.c: (_gst_trace_default):
5764           Make local _gst_trace_default static (was never in any header).
5765
5766 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5767
5768         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
5769
5770         * win32/common/libgstbase.def:
5771         * win32/common/libgstcontroller.def:
5772         * win32/common/libgstdataprotocol.def:
5773         * win32/common/libgstnet.def:
5774         * win32/common/libgstreamer.def:
5775           Add more missing symbols, remove some duplicates, and sort
5776           as the 'sort' command sorts it (partially fixes #493983).
5777
5778 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5779
5780         * gst/gstelement.c: (gst_element_set_state_func):
5781         Only change the state cookie if a different state was set on the
5782         element. See #492729.
5783
5784 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5785
5786         * gst/gstvalue.c:
5787           Remove unused and uninitialised type variables that were still
5788           exported for some reason (they were never in any header files
5789           though).
5790
5791 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5792
5793         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
5794         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
5795         (gst_base_sink_event), (gst_base_sink_get_position_last),
5796         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
5797         (gst_base_sink_change_state):
5798         Don't try to report a 0 position when we don't know, return -1 and FALSE
5799         instead. This mostly happens when we are prerolling.
5800         Make sure we can report the right position before we post the ASYNC_DONE
5801         message so that a message handler can query position without races.
5802
5803         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
5804         (async_done_handoff), (async_done_func), (send_buffer),
5805         (async_done_eos_func), (gst_sinks_suite):
5806         Add two tests for the above.
5807
5808 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5809
5810         * MAINTAINERS:
5811         Update with new email address.
5812
5813         * docs/design/part-TODO.txt:
5814         Add some more info about future pad-block and negotiation changes.
5815
5816         * docs/design/part-buffering.txt:
5817         Add some ideas about buffering reporting.
5818
5819 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
5820
5821         * tests/check/gst/gstobject.c:
5822         Disable silly racy test that always fails on this combination of CPU
5823         and kernel.
5824
5825 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
5826
5827         Patch by: Murray Cumming  <murrayc@murrayc.com>
5828
5829         * gst/gstobject.c:
5830           Corrected the registration of the parent-set and parent-unset
5831           signals: The parameter is a GstObject, not a GObject (#493134).
5832
5833 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5834
5835         * gst/gst_private.h:
5836         * gst/gstbuffer.h:
5837         * gst/gstevent.h:
5838         * gst/gstformat.h:
5839         * gst/gstmessage.h:
5840         * gst/gstplugin.h:
5841         * gst/gstquery.h:
5842         * gst/gsttaglist.h:
5843         * gst/gstvalue.h:
5844           Move declaration of private _gst_foo_initialize() functions into
5845           our private header file where they should have been all along.
5846
5847 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5848
5849         * docs/plugins/gstreamer-plugins-sections.txt:
5850         * gst/gstdebugutils.h:
5851         * gst/gstxml.h:
5852         * plugins/elements/gstqueue.c:
5853           gtk-doc fixes; trailing-comma-in-enum fix.
5854
5855 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5856
5857         * gst/gst.c: (gst_deinit):
5858           Clean up on deinit (not the external ones though, doesn't seem to be
5859           needed for some reason).
5860
5861 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5862
5863         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
5864           Remove __declspec(dllimport) for MSVC that was copied over into core
5865           from a plugin, obviously without ever having been tested (note the
5866           single underscore in _declspec in the initial commit), and that doesn't
5867           really make sense.  See #492077.
5868
5869 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5870
5871         * gst/gst.c: (init_post):
5872         * gst/gstevent.c: (_gst_event_initialize):
5873         * gst/gstquery.c: (_gst_query_initialize):
5874         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
5875           g_type_class_ref() other types as well, see #349410 and #64764.
5876
5877         * gst/gstbuffer.c: (_gst_buffer_initialize):
5878         * gst/gstmessage.c: (_gst_message_initialize):
5879           Simplify existing g_type_class_ref().
5880
5881 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5882
5883         * gst/gstformat.c: (_gst_format_initialize):
5884           g_type_class_ref() our GstFormat type to make sure we avoid the
5885           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
5886           bug #64764. Should fix intermittent tee unit test failures (#474823).
5887
5888 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5889
5890         * tests/check/elements/tee.c: (test_num_buffers):
5891           Simplify, simplify, simplify - or not.  Rewrite unit test
5892           not to use gst_parse_launch(); allow N sub-streams. Increasing
5893           the number of sub-streams seems to reproduce #474823 more easily.
5894
5895 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
5896
5897         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
5898
5899         * gst/gsttrace.c:
5900         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
5901         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
5902         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
5903           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
5904           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
5905           so use _pipe() directly (#492077).
5906
5907         * win32/common/dirent.c: (_treaddir):
5908           Add a couple of casts to make it build without warnings with MSVC.
5909
5910         * win32/common/libgstreamer.def:
5911           Add some more symbols that need to be exported.
5912
5913 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
5914
5915         * tests/examples/metadata/read-metadata.c: (message_loop):
5916           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
5917           arriving in a second or third tag message are added to
5918           the tag list as well.
5919
5920 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
5921
5922         * libs/gst/base/gstbasesrc.c:
5923           Its "Since:" and not "@Since:". And remove an superflous cast.
5924
5925 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
5926
5927         * docs/libs/gstreamer-libs-sections.txt:
5928         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5929         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
5930         (gst_base_sink_get_property), (gst_base_sink_render_object),
5931         (gst_base_sink_preroll_object),
5932         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
5933         (gst_base_sink_change_state):
5934         * libs/gst/base/gstbasesink.h:
5935         Add a new last-buffer property that contains the last buffer used in
5936         basesink for preroll or rendering. useful for making snapshots.
5937         API: gst_base_sink_get_last_buffer()
5938         API: GstBaseSink::last-buffer
5939
5940 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
5941
5942         * docs/gst/running.xml:
5943         * gst/gst.c:
5944         * gst/gstdebugutils.c:
5945         * gst/gstdebugutils.h:
5946         * tools/gst-launch.c:
5947           Improve bin graph dumping, by using the envvar to specify a path.
5948           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
5949
5950 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
5951
5952         * plugins/elements/gsttypefindelement.c:
5953           (gst_type_find_element_handle_event),
5954           (gst_type_find_element_activate):
5955           Post special error message if we can't determine the type of a stream
5956           because it's empty.
5957
5958 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
5959
5960         * docs/gst/running.xml:
5961         * gst/gstdebugutils.c:
5962           Document new env-var. Add one log-line after dumpng a graph.
5963
5964 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
5965
5966         * configure.ac:
5967           Ugly hack to put the (recently removed and non-portable, apparently)
5968           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
5969           GNU ld, because without that 'make check' fails miserably on my debian
5970           stable box.  Someone with more knowledge of linker intricacies and
5971           portability issues than me fix this properly please.
5972
5973 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
5974
5975         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
5976         Reset last seen position after flushing so that we don't report the old
5977         position anymore.
5978
5979 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
5980
5981         * gst/gstelementfactory.c: (gst_element_register):
5982         * gst/gsturi.h:
5983         Patch from Alessandro Decina adding get_type_full and
5984         get_protocols_full private vfuncs to the URIHandler interface
5985         to allow bindings to support creating URI handlers. 
5986         Partially fixes: #339279
5987         API: GstURIHandlerInterface::get_type_full
5988         API: GstURIHandlerInterface::get_protocols_full
5989
5990 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
5991
5992         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
5993         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
5994         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
5995         Make it so that pads are considered linked until a buffer is pushed
5996         and discovered otherwise. This avoids problems with decodebin2 hanging
5997         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
5998         case.
5999
6000         Make sure we lock the multiqueue when updating the max-size properties.
6001         
6002         Fix a crash on Solaris in a debug statement in get_request_pad that
6003         passes a NULL string to GST_DEBUG. 
6004
6005         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
6006         (run_output_order_test):
6007         Fix the test to allow the first buffer on not-linked pads to come out
6008         of sequence while multiqueue discovers that they are not-linked.
6009
6010 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
6011
6012         * configure.ac:
6013         * libs/gst/check/Makefile.am:
6014         Use a custom export symbol regex for libgstcheck, as it needs
6015         to export symbols that don't match the standard GStreamer gst_*
6016         pattern, and  --export-dynamic is not portable (only works on 
6017         GNU ld)
6018
6019         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
6020         (gst_check_setup_sink_pad):
6021         Make sure to pass a message parameter to the fail_* macros.
6022
6023         * tests/check/gst/gstinfo.c: (GST_START_TEST):
6024         Fix some compiler warnings.
6025
6026 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
6027
6028         * tests/check/gst/gststructure.c: (test_to_string):
6029           Disable test that checks that white spaces are not allowed
6030           in structure names or field names, since we need to
6031           support that for now for backwards compatibility reasons.
6032
6033 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6034
6035         * docs/gst/gstreamer-sections.txt:
6036         * gst/gsttaglist.c:
6037         * gst/gsttaglist.h:
6038           API: add GST_TAG_ARTIST_SORTNAME
6039           API: add GST_TAG_ALBUM_SORTNAME
6040           API: add GST_TAG_TITLE_SORTNAME
6041           Add tag variants for sorting (#414539).
6042
6043 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
6044
6045         * gst/gststructure.c:
6046           Also allow white space for names so we don't break
6047           backwards compatibility.
6048
6049 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
6050
6051         * docs/design/part-TODO.txt:
6052         * docs/design/part-segments.txt:
6053         * docs/design/part-streams.txt:
6054         Small updates.
6055
6056 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6057
6058         * docs/gst/gstreamer-sections.txt:
6059          Fixed documentation from my previous commit (added new API add
6060          gst_value_set_structure(), add gst_value_get_structure() and
6061          GST_VALUE_HOLDS_STRUCTURE).
6062
6063 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
6064
6065         * gst/gstdebugutils.c:
6066           Reflow code to fix uninitialized variable warning.
6067
6068 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
6069
6070         * gst/gstcaps.c: (gst_caps_to_string),
6071         (gst_caps_from_string_inplace):
6072         * gst/gststructure.c: (gst_structure_get_abbrs),
6073         (gst_structure_to_string), (gst_structure_from_string):
6074         * gst/gstvalue.c: (gst_value_set_structure),
6075         (gst_value_get_structure), (gst_value_serialize_structure),
6076         (gst_value_deserialize_structure), (_gst_value_initialize):
6077         * gst/gstvalue.h:
6078         * tests/check/gst/gststructure.c: (GST_START_TEST),
6079         (gst_structure_suite):
6080         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6081          Added GstStructure to gst_value_table and its related functions.
6082          Changed gst_structure_to_string to print ';' in the end.
6083          Changed gst_caps_to_string to not print ';' beteween its
6084          fields (structures) anymore and remove the lastes ';' from latest
6085          structure. Now it is possible to have nested structures.
6086          In addition, backward compatibilty is assured by accepting '\0' as
6087          end delimiter. Fixes: #487969.
6088          API: add gst_value_set_structure()
6089          API: add gst_value_get_structure()
6090          API: add GST_VALUE_HOLDS_STRUCTURE
6091
6092 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
6093
6094         * gst/gstbus.c:
6095           When no GSource callback has been set up, tell developer
6096           to use a function that actually exists.
6097
6098 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
6099
6100         * docs/gst/gstreamer-sections.txt:
6101         * gst/Makefile.am:
6102         * gst/gst.c:
6103         * gst/gst.h:
6104         * gst/gstdebugutils.c:
6105         * gst/gstdebugutils.h:
6106         * gst/gstinfo.c:
6107         * gst/gstinfo.h:
6108         * tools/gst-launch.c:
6109           Allow dumping pipelines as dot graphs. Fixes #456573.
6110
6111 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6112
6113         * gst/gststructure.c:
6114           Allow '+' as well, it can be part of media or mime types
6115           such as image/svg+xml.
6116
6117 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6118
6119         * docs/gst/gstreamer-sections.txt:
6120         * gst/gstbus.c:
6121         * gst/gstbus.h:
6122           API: add gst_bus_pop_filtered
6123           API: add gst_bus_timed_pop_filtered
6124           Two new functions for waiting for specific message types on the
6125           bus for a specified amount of time without iterating any main
6126           loops or main contexts.
6127
6128         * tests/check/gst/gstbus.c:
6129           Some tests for the new functions.
6130
6131 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6132
6133         * docs/libs/gstreamer-libs-sections.txt:
6134           Make gtk-doc ignore stuff it should ignore.
6135
6136 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6137
6138         * libs/gst/check/gstcheck.c:
6139         * libs/gst/check/gstcheck.h:
6140           Allow runtime selection of unit tests to run via the GST_CHECKS
6141           environment variable (test case function names, comma-separated).
6142
6143 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6144
6145         * gst/gststructure.c:
6146         * tests/check/gst/gststructure.c:
6147           Revert serialisation change and constrain structure-names after
6148           consensus on irc. Update api documentation to reflect the change.
6149
6150 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6151
6152         * gst/gststructure.c:
6153           Improve serialization and fix tests.
6154
6155         * tests/check/gst/gststructure.c:
6156           Add another test that covers why I actually did the previous structure
6157           change.
6158
6159 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6160
6161         * tools/gst-inspect.c: (print_element_info):
6162         Don't crash when inspecting an element.
6163
6164 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6165
6166         * tests/check/gst/gststructure.c:
6167           Add unit test for escaping of structure name when serialising
6168           and deserialising to/from strings.
6169
6170 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6171
6172         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6173         (gst_single_queue_new):
6174         * plugins/elements/gstqueue.c: (gst_queue_init),
6175         (gst_queue_push_one):
6176         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
6177         upstream is tricked into thinking it can suggest a format downstream
6178         while downstream does not support that format. The real problem is that
6179         core calls acceptcaps when pushing a buffer with new caps, for which we
6180         do a little workaround by setting the caps on the srcpad ourselves
6181         before pushing the buffer (until this is figured out). Fixes #486758.
6182
6183 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6184
6185         * gst/gststructure.c:
6186         * gst/gstvalue.c:
6187           Add some more comments and debug output. Quote structure name to fix
6188           deserialisation of some strings.
6189
6190 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6191
6192         * gst/gstbuffer.h:
6193           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
6194           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
6195
6196 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6197
6198         * tools/gst-inspect.c:
6199           Save approx. 400 1 byte allocs when printing. Use API to acces element
6200           details.
6201
6202         * tools/gst-run.c:
6203           Avoid a strdup.
6204
6205         * tools/gst-xmlinspect.c:
6206           Use API to acces element details.
6207
6208 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6209
6210         * gst/gstinfo.c:
6211           Fix some spelling errors.
6212
6213 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
6214
6215         * gst/gstbin.c: (bin_handle_async_done):
6216         Correctly set the next state if all of our async children commited their
6217         state. This makes sure we can actually cancel the state change in
6218         progress. Fixes a regression in Rhythmbox when seeking.
6219
6220 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6221
6222         * gst/gstbin.c:
6223           Don't shadow local variable.
6224
6225         * gst/gstinfo.c:
6226           Don't shadow global function name.
6227
6228 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6229
6230         * gst/gstelementfactory.c:
6231         * gst/gstpluginfeature.c:
6232         * gst/gstpluginfeature.h:
6233         * gst/gstregistrybinary.c:
6234         * gst/gstregistryxml.c:
6235         * gst/gsttypefind.c:
6236           Use already-interned string for the private GstPluginFeature
6237           plugin_name field.
6238
6239 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6240
6241         * docs/libs/gstreamer-libs-sections.txt:
6242           Add new API to docs; fixes the build.
6243
6244 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
6245         
6246         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
6247
6248         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
6249         (gst_base_sink_event):
6250         * libs/gst/base/gstbasesink.h:
6251         Add function to wait for EOS, subclasses can use this to correctly wait
6252         for devices to drain before performing the EOS logic. Fixes #485343.
6253         API: gst_base_sink_wait_eos()
6254
6255 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6256
6257         * gst/gstplugin.h:
6258           Cast description string constants in GST_PLUGIN_DEFINE macros
6259           to a (gchar*) to make C++ code using these macros compile
6260           without warning with g++-4.2 (see #462737).  Even if slightly
6261           ugly, this seems preferable to putting the description strings
6262           into the GLib quark table or making the structure member a
6263           const gchar * and doing casts in core code that allocs and
6264           frees these strings, or requiring a cast in the C++ code.
6265
6266 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6267
6268         * gst/gstinfo.h:
6269           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
6270           to print the entire class/function signature into the log
6271           file for C++ code.  This only affects C++ code, for C code
6272           everything remains the same.
6273
6274 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
6275
6276         * gst/gstbin.c: (remove_from_queue):
6277         Work around a problem with pipelines containing (semi)loops until a
6278         proper, more complicated solution is ready. See #475455.
6279
6280 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6281
6282         * gst/gstplugin.c:
6283         * gst/gstplugin.h:
6284         * gst/gstregistrybinary.c:
6285         * gst/gstregistryxml.c:
6286           Put more strings into the GLib quark table. No need to keep
6287           a hundred-something copies of identical version strings,
6288           license strings, package name strings and package origin
6289           strings around. 
6290
6291 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6292
6293         * docs/manual/advanced-dataaccess.xml:
6294           Don't imply that it's okay to unconditionally change
6295           buffer data or buffer metadata in a pad probe callback,
6296           and a bunch of other comments. Fixes #430031.
6297
6298 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6299
6300         * win32/common/gstenumtypes.c:
6301         * win32/common/gstenumtypes.h:
6302         * win32/common/gstversion.h:
6303           Update generated files.
6304
6305 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6306
6307         * docs/manual/advanced-autoplugging.xml:
6308           Prefix section with broken code with a warning (see #342432).
6309
6310 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6311
6312         * docs/manual/appendix-integration.xml:
6313         * docs/manual/basics-init.xml:
6314           Call g_thread_init() before g_option_context_new() to
6315           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
6316
6317 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6318
6319         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6320         (gst_base_sink_queue_object_unlocked),
6321         (gst_base_sink_queue_object), (gst_base_sink_event),
6322         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
6323         When we received EOS and are waiting for when to post the EOS message,
6324         our state is prerolled and we should not return ASYNC.
6325         Reorganize some code paths to implement this behavior.
6326
6327         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6328         (gst_sinks_suite):
6329         Add unit test to verify above EOS fix.
6330
6331 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6332
6333         * plugins/elements/gsttypefindelement.c:
6334         (gst_type_find_element_have_type), (gst_type_find_element_init),
6335         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
6336         Move detecting the input caps of the sinkpad to the setcaps function.
6337         This allows us to update the output caps when we receive new input caps
6338         instead of always using the first detected caps.
6339
6340 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6341
6342         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6343         (gst_base_sink_get_position):
6344         Don't try to preroll non-async elements after a flush.
6345         Subtract latency form clock times when reporting position.
6346
6347 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6348
6349         * gst/gstpad.c: (gst_pad_pause_task):
6350         * gst/gstutils.c:
6351         Small comment and documentation update.
6352
6353 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6354
6355         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6356         (gst_base_src_set_live), (gst_base_src_is_live),
6357         (gst_base_src_query_latency), (gst_base_src_perform_seek),
6358         (gst_base_src_default_event), (gst_base_src_wait),
6359         (gst_base_src_do_sync), (gst_base_src_get_range),
6360         (gst_base_src_pad_get_range), (gst_base_src_loop),
6361         (gst_base_src_unlock), (gst_base_src_unlock_stop),
6362         (gst_base_src_set_flushing), (gst_base_src_set_playing),
6363         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6364         (gst_base_src_change_state):
6365         Rework the locking of basesrc in a similar fashion to basesink. We
6366         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
6367         us to handle live sources and semi live ones much better.
6368         Simplify flushing.
6369         Fix unlocking when seeking, shutting down and pausing in live sources.
6370
6371 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6372
6373         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
6374         Fix compilation again.
6375
6376 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6377
6378         * gst/gstelement.c:
6379           Use meaningful categories for the logs to clean the default one.
6380
6381 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6382
6383         * tests/check/pipelines/cleanup.c:
6384           Print message name and not just number.
6385
6386 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6387
6388         * docs/design/draft-tagreading.txt:
6389           Add some more thoughts.
6390
6391 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6392
6393         * tests/check/pipelines/simple-launch-lines.c:
6394           Print message name and not just number.
6395
6396 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6397
6398         * libs/gst/base/gsttypefindhelper.c:
6399           Speedup typefinding. This is work in progress (see #459862).
6400
6401 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6402
6403         * gst/gstplugin.c:
6404           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
6405           Spotted by Josep Torra Valles <josep@fluendo.com>.
6406
6407 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
6408
6409         * gst/gstclock.h:
6410           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
6411           field has moved to GstObject.
6412
6413 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
6414
6415         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
6416         (gst_base_src_get_range), (gst_base_src_change_state):
6417         Call unlock for live sources so that they can't get stuck in _create and
6418         produce a buffer before they are set back to PLAYING.
6419
6420 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
6421
6422         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6423         (gst_queue_locked_dequeue):
6424         Comment the segment-related code... in the PROPER function.
6425         See #482147 and my commit from yesterday.
6426
6427 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
6428
6429         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6430         Also initialize the counter that calculates the first timestamp on a
6431         buffer correctly for non-live sources.
6432
6433 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
6434
6435         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
6436         Disable code that's breaking the current-time-level reporting.
6437         See #482147
6438
6439 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
6440
6441         * docs/gst/gstreamer-sections.txt:
6442         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
6443         as they shouldn't show up. Fixes the docs build.
6444
6445 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
6446         
6447         * gst/gstinfo.h:
6448         Add an explicit variable importation needed on VS6 (only for MSC_VER)
6449         Define M_PI which is used in files which are including gstinfo.h. 
6450         VS6 includes doesn't define it.
6451         * win32/common/libgstbase.def:
6452         * win32/common/libgstcontroller.def:
6453         * win32/common/libgstreamer.def:
6454         Add new exported functions and variables.
6455         * win32/vs6/libgstcontroller.dsp:
6456         * win32/vs6/libgstreamer.dsp:
6457         Update the list of files to build.
6458         
6459 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6460
6461         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6462
6463         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
6464         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
6465         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
6466         Improve debugging. Fixes #480858.
6467
6468 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6469
6470         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6471
6472         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6473         First patch of code cleanups, use the macros and right arguments in the
6474         macros to signal and lock the queue. See #480858.
6475
6476 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
6477
6478         * gst/gstbus.c: (poll_func):
6479         Improve debugging when dealing with _poll().
6480
6481 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6482
6483         * gst/gstregistryxml.c:
6484           Fix memory leak I introduced a few days ago.
6485
6486 2007-09-26  Michael Smith <msmith@fluendo.com>
6487
6488         * gst/gstbuffer.c: (gst_buffer_finalize):
6489           Make it once again possible to free GstBuffers in the default
6490           build.
6491           The poisoning scribbles on parts of the miniobject we need in
6492           order to free it.
6493           Fixes #480341
6494
6495 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6496
6497         * docs/gst/gstreamer-sections.txt:
6498         * gst/gsttaglist.c:
6499         * gst/gsttaglist.h:
6500         API: add GST_TAG_COMPOSER, fixes #459809.
6501
6502 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
6503
6504         * gst/gstplugin.c:
6505         * gst/gstplugin.h:
6506         Add the 3-clause BSD license and the MIT/X11 license to the license
6507         list. Fixes #479784.
6508
6509 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6510
6511         * docs/faq/getting.xml:
6512           Add Q+A about different GStreamer versions (#364056).
6513
6514 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6515
6516         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6517         (gst_base_sink_event), (gst_base_sink_change_state):
6518         Return correct gboolean from query function.
6519
6520 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6521
6522         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6523         (gst_base_sink_event), (gst_base_sink_query),
6524         (gst_base_sink_change_state):
6525         Simplify latency query.
6526         When not synchronizing, we can report latency without querying the peer
6527         element.
6528
6529 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6530
6531         * gst/gstobject.h:
6532         * gst/gstvalue.c:
6533         Fix small typos in the docs.
6534
6535 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6536
6537         * docs/design/draft-latency.txt:
6538         * docs/design/draft-push-pull.txt:
6539         * docs/design/draft-tagreading.txt:
6540         * docs/design/part-MT-refcounting.txt:
6541         * docs/design/part-activation.txt:
6542         * docs/design/part-block.txt:
6543         * docs/design/part-element-source.txt:
6544         * docs/design/part-events.txt:
6545         * docs/design/part-gstbin.txt:
6546         * docs/design/part-gstelement.txt:
6547         * docs/design/part-gstobject.txt:
6548         * docs/design/part-gstpipeline.txt:
6549         * docs/design/part-messages.txt:
6550         * docs/design/part-preroll.txt:
6551         * docs/design/part-push-pull.txt:
6552         * docs/design/part-qos.txt:
6553         * docs/design/part-query.txt:
6554         * docs/design/part-scheduling.txt:
6555         * docs/design/part-seeking.txt:
6556         * docs/design/part-segments.txt:
6557         * docs/design/part-states.txt:
6558         Documentation updates and typo fixes.
6559
6560 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6561
6562         * plugins/elements/gstfakesink.c:
6563           Add some debug text to error message to indicate that
6564           we errored out on request.
6565
6566         * tools/gst-launch.c:
6567           When the state change to PLAYING fails, check for an
6568           error message on the bus and print it.
6569
6570 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6571
6572         translated by: Jorge González González <aloriel@gmail.com>
6573
6574         * po/LINGUAS:
6575         * po/es.po:
6576           Added Spanish translation.
6577
6578 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
6579
6580         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6581         Fix printf arguments.
6582
6583 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6584
6585         * tests/check/generic/states.c:
6586           Improved state change unit test.
6587
6588 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6589
6590         * gst/gstbin.h:
6591           Move priv to the right place.
6592
6593         * gst/gstsystemclock.c:
6594           Add FIXME: and improve log.
6595
6596         * tests/check/Makefile.am:
6597         * tests/examples/manual/Makefile.am:
6598           Work with all types of registries.
6599
6600 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
6601
6602         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6603         Don't unref the event after pushing it. Fixes #478401.
6604
6605 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6606
6607         * .cvsignore:
6608         * tests/examples/manual/.cvsignore:
6609           Ignore registries in any format.
6610
6611 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6612
6613         * gst/glib-compat-private.h:
6614           Add compatibility macro for g_intern_string() for
6615           GLib-2.8 (any reason we can't just bump the
6616           requirement to at least 2.10?)
6617
6618         * gst/gstpadtemplate.h:
6619         * gst/gstelementfactory.c:
6620         * gst/gstregistryxml.c:
6621         * gst/gstregistrybinary.c:
6622           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
6623           up the internal code accordingly.  This shouldn't be a problem, since
6624           there is no reason external code could ever assume the string in such
6625           a structure is dynamically allocated unless it did that itself;  the
6626           use of g_strdup() is private to element factories.  The new code also
6627           saves some memory by putting pad template name strings into the GLib
6628           quark table instead of allocating them dynamically.
6629           Declaring this field constant fixes warnings with g++-4.2 when using
6630           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
6631
6632 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6633
6634         * gst/gstelementfactory.c:
6635           Release static caps. Fixes #475723.
6636
6637 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
6638
6639         * gst/gstinfo.c:
6640         * gst/gstinfo.h:
6641           Make some internal API take const gchar * instead of just
6642           gchar * to avoid compiler warnings with g++-4.2.2 when
6643           passing string constants (partially fixes #478092).
6644
6645 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6646
6647         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
6648         A latency query fails when one of the sinks fail.
6649
6650         * gst/gstelement.c: (gst_element_set_base_time):
6651         Improve debugging.
6652
6653 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
6654
6655         * gst/gstbin.c: (gst_bin_continue_func):
6656         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6657         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
6658         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
6659
6660         Fix minor compilation warnings shown with Forte.
6661
6662 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6663
6664         * plugins/elements/gstqueue.c: (apply_buffer),
6665         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
6666         Measure queue level based on the diff between head and tail timestamps
6667         even when pushing the first buffer.
6668
6669 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6670
6671         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6672         (gst_base_sink_event), (gst_base_sink_change_state):
6673         Sinks that don't preroll can always be queried for the latency.
6674         Don't post ASYNC start when we are not async.
6675
6676 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6677
6678         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6679         (gst_queue_handle_sink_event), (gst_queue_chain),
6680         (gst_queue_push_one), (gst_queue_handle_src_query),
6681         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
6682         * plugins/elements/gstqueue.h:
6683         When downstream returns UNEXPECTED from pushing a buffer, don't try to
6684         push more buffers but allow pushing of EOS and NEWSEGMENT.
6685         Add some more debug info here and there. Fixes #476514.
6686
6687 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6688
6689         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6690         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
6691         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6692         (gst_base_sink_set_flushing), (gst_base_sink_query),
6693         (gst_base_sink_change_state):
6694         Latency query is allowed after we are prerolled. Introduce a new flag
6695         for this and stop abusing other variables.
6696
6697 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6698
6699         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6700         Push OOB events downstream when we get them in send_event. This allows
6701         the application to insert events in the pipeline.
6702         Add some more comments.
6703
6704 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6705
6706         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
6707         (do_bin_latency), (gst_bin_change_state_func):
6708         * gst/gstpipeline.c: (gst_pipeline_change_state):
6709         Move latency query from GstPipeline to GstBin so that we can also
6710         use it when async-handling is enabled on bins.
6711
6712 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6713
6714         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6715         (gst_base_src_do_sync), (gst_base_src_change_state):
6716         Update docs.
6717         Clean up the timestamping and syncing code for pseudo live sources.
6718
6719 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
6720
6721         Patch by: Steve Fink  <sphink gmail com>
6722
6723         * docs/manual/appendix-checklist.xml:
6724           Mention less -R switch in the section about debug output (#474055).
6725
6726 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6727
6728         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6729         Queue can latency to the pipeline up to the configured max size in time.
6730         Report this fact in the latency query.
6731
6732 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6733
6734         Patch by: Sebastien Moutte <sebastien at moutte dot net>
6735
6736         * libs/gst/controller/gstinterpolation.c:
6737         * libs/gst/controller/gstlfocontrolsource.c:
6738         Use gst_guint64_to_gdouble() when converting from a uint64 or
6739         GstClockTime to double to fix the build on win32. Fixes #474371.
6740
6741 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6742
6743         * gst/gstbuffer.c: (gst_buffer_finalize):
6744         Implement poisoning for GstBuffer if --enable-poisoning is specified.
6745         When finalizing a buffer the complete struct is filled with 0xff,
6746         thus making a use of the buffer after the final unref impossible.
6747
6748 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6749
6750         * tests/check/libs/controller.c: (GST_START_TEST):
6751         Use fail_unless_equals_int(a, b) instead of
6752         fail_unless_equals (a == b) to get better output on failures.
6753
6754 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
6755
6756         * tests/check/gst/gsturi.c:
6757           Also check for the other file URI variant on win32.
6758
6759 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
6760
6761         * gst/gsturi.c: (gst_uri_get_location):
6762           If there's no hostname, we want to return 'c:/foo/bar.txt'
6763           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
6764
6765         * tests/check/gst/gsturi.c:
6766           Unit test for the above and a few more things.
6767
6768 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
6769
6770         * docs/design/part-live-source.txt:
6771         Add docs on how live sources should timestamp.
6772
6773         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6774         Add some more debug info.
6775         For subclasses that are live and like to sync, add aditional startup
6776         latency to sync time and timestamps so that we timstamp according to the
6777         design doc.
6778
6779 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
6780
6781         * gst/gstbuffer.c:
6782           Also do a g_type_class_ref() for the subbuffer type in
6783           the init function.
6784
6785 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
6786
6787         * docs/gst/gstreamer-sections.txt:
6788         * gst/gstpad.c: (gst_pad_peer_query):
6789         * gst/gstpad.h:
6790         Add function to perform a query on the peer of a pad.
6791         API: gst_pad_peer_query()
6792
6793 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
6794
6795         * tests/check/gst/gstsystemclock.c:
6796           Cleanup the test a little (use gst-logging and not g_message). Improve
6797           test to check if a wait reached the target.
6798
6799 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
6800
6801         * docs/libs/gstreamer-libs-sections.txt:
6802           Add new API to docs and fix the build.
6803
6804 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
6805
6806         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6807         (gst_base_src_init), (gst_base_src_set_do_timestamp),
6808         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
6809         (gst_base_src_get_property), (gst_base_src_do_sync):
6810         * libs/gst/base/gstbasesrc.h:
6811         Add property to make the basesrc timestamp buffers based on the current
6812         running time.
6813         API: GstBaseSrc::do-timestamp
6814         API: gst_base_src_set_do_timestamp()
6815         API: gst_base_src_get_do_timestamp()
6816
6817 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
6818
6819         * docs/random/release:
6820           Really make sure translations are up-to-date before
6821           a release (#465010).
6822
6823 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
6824
6825         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6826         Always destroy the timer, also in error cases.
6827
6828 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
6829
6830         * docs/manual/highlevel-xml.xml:
6831         Fix XML example code. Fixes #472714.
6832
6833 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
6834
6835         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6836         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6837         (gst_base_sink_query):
6838         Protect eos and have_preroll with the OBJECT lock so we don't need to
6839         take the PREROLL lock when querying the latency. Fixes #473846.
6840
6841 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
6842
6843         * gst/gstelement.c:
6844           Give some log-messages a category.
6845
6846 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
6847
6848         * gst/gststructure.c:
6849         (gst_structure_fixate_field_nearest_fraction):
6850         Fix fraction list fixation code. Take the fraction with the smallest
6851         difference with the target instead of the first one in the list.
6852
6853         * tests/check/gst/gststructure.c: (GST_START_TEST),
6854         (gst_structure_suite):
6855         Added test to verify correct fraction list fixation behaviour.
6856
6857 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
6858
6859         * win32/common/libgstreamer.def:
6860           Export gst_bus_add_signal_watch too.
6861
6862 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
6863
6864         * docs/libs/gstreamer-libs-sections.txt:
6865         Add new methods to docs.
6866
6867         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6868         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
6869         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
6870         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
6871         * libs/gst/base/gstbasesink.h:
6872         Add ts-offset property to fine-tune the synchronisation.
6873         API: GstBaseSink::ts-offset property
6874         API: gst_base_sink_set_ts_offset()
6875         API: gst_base_sink_get_ts_offset()
6876
6877 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
6878
6879         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6880         (gst_base_sink_init), (gst_base_sink_set_sync),
6881         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
6882         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
6883         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
6884         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
6885         (gst_base_sink_get_property), (gst_base_sink_change_state):
6886         * libs/gst/base/gstbasesink.h:
6887         Add async property to instruct the sink never to inform the parent about
6888         ASYNC state changes, update docs.
6889         Check argument with g_return_* for the public functions.
6890         API: GstBaseSink::async property
6891         API: gst_base_sink_set_async_enabled()
6892         API: gst_base_sink_is_async_enabled()
6893
6894 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
6895
6896         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
6897         Improve debugging.
6898
6899         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6900         (gst_base_src_default_query), (gst_base_src_wait),
6901         (gst_base_src_do_sync), (gst_base_src_change_state):
6902         Rearrange some code so that we can add support for measuring the 
6903         startup latency.
6904
6905 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
6906
6907         * docs/random/ensonic/dynlink.txt:
6908           More thoughs on this.
6909
6910         * plugins/elements/gstcapsfilter.c:
6911           Add bugzilla ticket number to FIXME comment.
6912
6913 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
6914
6915         * docs/design/part-TODO.txt:
6916         * docs/design/part-block.txt:
6917         Update some docs.
6918
6919 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6920
6921         * gst/Makefile.am:
6922           Revert patch which uses $(gst_headers) instead of $^ because it
6923           breaks make dist.
6924
6925 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6926
6927         * tests/check/gst/gstbin.c: (GST_START_TEST):
6928           Fix leaks in the new unit test.
6929
6930 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
6931
6932         * gst/gst.c:
6933           Don't use GST_INFO before the debug system is actually initialised
6934           (shouldn't do any harm, but won't print anything either, so we can
6935           just as well remove it).
6936
6937         * gst/gstinfo.h:
6938           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
6939           compilers that don't support variadic macros (such as MSVC), should
6940           check for debug_level <= __gst_debug_min as well, since that's the
6941           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
6942           inline helper functions. Should improve performance a bit, but also
6943           makes sure uses of GST_INFO et.al are ignored if the debugging
6944           system isn't initialised yet (instead of printing an assertion
6945           failure).
6946
6947 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
6948
6949         patch by: David Nečas <yeti@physics.muni.cz>
6950
6951         * gst/Makefile.am:
6952           Replace some non portable makefile constructs.
6953
6954 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
6955
6956         * common/gtk-doc-plugins.mak:
6957           Grrrrr. Don't remove the types file on make clean.
6958
6959 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
6960
6961         * tools/gst-launch.1.in:
6962         Add colorspace to example pipeline. Fixes #458274.
6963
6964 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
6965
6966         * docs/random/release:
6967           The release manager should run 'make download-po' before making a
6968           release to make sure translations are up-to-date.
6969
6970         * po/LINGUAS:
6971         * po/be.po:
6972         * po/pl.po:
6973         * po/rw.po:
6974           Add some new translations.
6975
6976 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
6977
6978         * tools/gst-launch.c: (event_loop), (main):
6979         Don´t try to do any state management when a live pipeline posts
6980         buffering messages.
6981         Also make the buffering string translatable.
6982
6983 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
6984
6985         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
6986         (bin_handle_async_start), (gst_bin_handle_message_func):
6987         Improve debugging.
6988         When adding elements, insert messages into the bus of the newly added
6989         element and make sure the element is the source of the message. This
6990         allows the parent bin to intercept the message and do the
6991         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
6992         messages to the app (which is not allowed).
6993         Update some docs.
6994
6995         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6996         Fix testsuite so that is does not work around messages that should not
6997         have been posted in the first place.
6998
6999 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7000
7001         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
7002         (update_degree), (gst_bin_sort_iterator_next):
7003         Fix annoying bug in the sorted iterator where a sink that is not really
7004         a sink (when it has downstream links) screwed up the iterator.
7005
7006         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
7007         Unit test to verify the fix.
7008
7009 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
7010
7011         * gst/gstmessage.h:
7012         Add some more docs for the messages.
7013
7014         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7015         (gst_base_sink_query):
7016         Add some more debugging.
7017
7018         * tools/gst-launch.c: (event_loop):
7019         When interrupting, don't try to set pipeline to PAUSED twice.
7020
7021 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7022
7023         
7024         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
7025         (bin_handle_async_start), (gst_bin_handle_message_func):
7026         Move ASYNC_START message posting to where it belongs, similar to
7027         async_done. 
7028         Don't post ASYNC_START when we are in error. 
7029         Post ASYNC_START when we added an async element to a bin.
7030
7031 2007-08-14  Julien MOUTTE  <julien@moutte.net>
7032
7033         * gst/gstindex.c: (gst_index_add_association): Fix index entry
7034         generation from vargs. Fixes #466595.
7035
7036 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
7037
7038         * gst/gstbin.c: (gst_bin_element_set_state):
7039         Always change the state of a NO_PREROLL element even if it has ASYNC
7040         elements inside (in case of a bin).
7041
7042         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
7043         Unit test for this case.
7044
7045 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
7046
7047         * libs/gst/check/gstbufferstraw.c:
7048         * libs/gst/check/gstcheck.h:
7049         * libs/gst/controller/gstcontroller.c:
7050         * libs/gst/controller/gstcontrolsource.h:
7051         * libs/gst/controller/gstlfocontrolsource.h:
7052         * plugins/elements/gstcapsfilter.h:
7053         * plugins/elements/gstfdsink.h:
7054         * plugins/elements/gstfdsrc.h:
7055           Add more missing docs.
7056
7057 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7058
7059         * gst/gststructure.c:
7060         Add Since tag to docs.
7061
7062 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7063
7064         * docs/gst/gstreamer-sections.txt:
7065         * gst/gststructure.c: (gst_structure_get_uint):
7066         * gst/gststructure.h:
7067         Add function to get uint from a structure.
7068         API: gst_structure_get_uint()
7069
7070 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
7071
7072         * gst/gstcaps.c: (gst_caps_set_simple_valist),
7073         (gst_caps_intersect):
7074         Fix proper check for simple caps.
7075
7076 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
7077
7078         * docs/gst/Makefile.am:
7079         * docs/libs/Makefile.am:
7080           Remove cruft and do some cleanups.
7081
7082         * docs/gst/gstreamer-docs.sgml:
7083         * docs/libs/gstreamer-libs-docs.sgml:
7084           Prepare for comming gtkdoc features (rebase against online docs).
7085
7086 2007-08-10  Michael Smith <msmith@fluendo.com>
7087
7088         * docs/gst/gstreamer-sections.txt:
7089           Add gst_registry_add_path to docs.
7090
7091 2007-08-10  Michael Smith <msmith@fluendo.com>
7092
7093         * gst/gstregistry.h:
7094           Add gst_registry_add_path, which was missing from this header.
7095
7096 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7097
7098         * libs/gst/controller/gstlfocontrolsource.c:
7099           Printf format fix.
7100
7101 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
7102
7103         * libs/gst/base/gstbasesink.c:
7104           Don't send an async_start message during downwards state change if 
7105           target state is less than READY
7106
7107 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7108
7109         translated by: Gabor Kelemen <kelemeng@gnome.hu>
7110
7111         * po/LINGUAS:
7112         * po/hu.po:
7113           Added Hungarian translation.
7114
7115 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7116
7117         * po/fi.po:
7118         * po/it.po:
7119         * po/nl.po:
7120         * po/sv.po:
7121         * po/uk.po:
7122           Updated translations.
7123
7124 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7125
7126         * libs/gst/controller/Makefile.am:
7127         Dist gstlfocontrolsourceprivate.h
7128
7129 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7130
7131         * docs/libs/gstreamer-libs.types:
7132         Don't register the enum type gst_lfo_waveform_get_type() in the
7133         .types file - only GObject derived types belong.
7134
7135 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7136
7137         Patch by: <arenevier at fdn dot fr>
7138
7139         * gst/gstbuffer.h:
7140         Remove comma from last element in enum to avoid compile errors when
7141         using -pendantic. Fixes #464366.
7142
7143 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7144
7145         * docs/design/part-TODO.txt:
7146         Add some more TODO items
7147
7148         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
7149         Improve debugging.
7150
7151         * gst/gstcaps.c: (gst_caps_intersect):
7152         Optimize trivial intersection case between identical caps pointers.
7153
7154         * gst/gstelement.c: (gst_element_continue_state),
7155         (gst_element_set_state_func):
7156         * gst/gstpad.c:
7157         Fix spelling and grammar mistakes.
7158
7159 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
7160
7161         * po/POTFILES.in:
7162         * po/POTFILES.skip:
7163           Update POTFILES. Fixes #461599.
7164
7165 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7166
7167         * gst/gst.c:
7168         Fix confusing typo in debug output.
7169
7170 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7171
7172         reviewed by: Stefan Kost <ensonic@users.sf.net>
7173
7174         * libs/gst/controller/Makefile.am:
7175         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
7176         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
7177         (gst_lfo_control_source_new),
7178         (gst_lfo_control_source_set_waveform),
7179         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
7180         (gst_lfo_control_source_finalize),
7181         (gst_lfo_control_source_dispose),
7182         (gst_lfo_control_source_set_property),
7183         (gst_lfo_control_source_get_property),
7184         (gst_lfo_control_source_class_init):
7185         * libs/gst/controller/gstlfocontrolsource.h:
7186         * libs/gst/controller/gstlfocontrolsourceprivate.h:
7187         API: Add GstLFOControlSource, a control source that gives values
7188         for specific timestamps based on several periodic waveforms.
7189         Fixes #459717.
7190
7191         * tests/check/libs/controller.c: (GST_START_TEST),
7192         (gst_controller_suite):
7193         * docs/libs/gstreamer-libs-docs.sgml:
7194         * docs/libs/gstreamer-libs-sections.txt:
7195         * docs/libs/gstreamer-libs.types:
7196         Add documentation and unit tests for GstLFOControlSource.
7197
7198 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
7199
7200         * configure.ac:
7201         Back to CVS
7202
7203 === release 0.10.14 ===
7204
7205 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
7206
7207         * configure.ac:
7208           releasing 0.10.14, "Breathing Vacuum"
7209
7210 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
7211
7212         * gst/gstelement.c: (gst_element_class_set_details_simple):
7213         * gst/gstelement.h:
7214           Make strings passed to gst_element_class_set_details_simple()
7215           constant, as they should be (#462752).
7216
7217 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
7218
7219         * gst/gstbin.c: (gst_bin_change_state_func),
7220         (bin_handle_async_done), (gst_bin_handle_message_func):
7221         Don't forget about the fact that some element went ASYNC even after a
7222         resync. This makes us post the ASYNC_DONE message correctly.
7223         Fixes #462558.
7224
7225 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7226
7227         * gst/gstregistry.c: (gst_registry_add_feature):
7228         When replacing an existing feature in the registry, make sure to
7229         continue holding a reference until we've replaced the name string
7230         within our feature hash table. Make sure to use g_hash_table_replace
7231         instead of g_hash_table_insert to ensure the new name string is used
7232         as a key instead of the old one that we're about to free.
7233         Fixes: #462085
7234
7235 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7236
7237         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7238         (gst_plugin_feature_set_name):
7239         Revert patch from #459466 until after the release and we can work
7240         out exactly what the problem is (if any).
7241
7242 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7243
7244         * docs/gst/gstreamer-sections.txt:
7245         * gst/gsttaglist.c:
7246         * gst/gsttaglist.h:
7247           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
7248
7249 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7250
7251         * docs/libs/Makefile.am:
7252         Include our build-prefix libs and includes before the generic ones to
7253         avoid linking against the installed libs when we want the build-tree
7254         ones.
7255
7256 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7257
7258         Patch by: Steve Fink  <sphink gmail com>
7259
7260         * docs/pwg/building-testapp.xml:
7261           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
7262           if people try to build or install the example from the plugin
7263           template against a GStreamer from package using the configure
7264           defaults.
7265
7266 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
7267
7268         Patch by: Steve Fink  <sphink gmail com>
7269
7270         * tools/gst-inspect.1.in:
7271           Document --print-all and --print-plugin-auto-install-info command
7272           line options in man page.
7273
7274 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7275
7276         * docs/gst/gstreamer-sections.txt:
7277         Add docs for new api function.
7278
7279 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7280
7281         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
7282         * gst/gstelementfactory.h:
7283         API: gst_element_factory_has_interface()
7284         Added method to check if an element factory implements a named
7285         interface.
7286
7287 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
7288
7289         * configure.ac:
7290         * docs/gst/gstreamer.types.in:
7291           Another conditional doc check.
7292
7293         * gst/gstmessage.c:
7294         * gst/gstparamspecs.h:
7295         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7296         * gst/gstvalue.c:
7297         * gst/gstxml.h:
7298           API-doc fixes.
7299
7300 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7301
7302         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
7303         (gst_registry_binary_load_feature),
7304         (gst_registry_binary_load_plugin),
7305         (gst_registry_binary_read_cache):
7306           Print error just once and with additional info.
7307
7308 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7309
7310         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7311         (helper_find_suggest), (helper_find_get_length),
7312         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
7313         (gst_type_find_helper_for_buffer):
7314           Cleanup the typefindhelper code and add private doc comments.
7315
7316 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
7317
7318         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7319         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
7320         Fix capsfilter for cases where the caps set on capsfilter will provide
7321         additional information.
7322         Fixes #449197
7323
7324 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7325
7326         * gst/gsttypefindfactory.c:
7327           Fix docs that recommened wrong function to use.
7328
7329 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7330
7331         * tools/gst-inspect.c: (print_plugin_features):
7332           Also give media-type for typefinders in element output.
7333
7334 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7335
7336         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
7337         (gst_registry_remove_features_for_plugin_unlocked),
7338         (gst_registry_add_feature), (gst_registry_remove_feature),
7339         (gst_registry_lookup_feature_locked):
7340         * gst/gstregistry.h:
7341           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
7342           Fixes #459501.
7343
7344 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7345
7346         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7347         (gst_plugin_feature_set_name):
7348           Avoid double memory usage for pluginfeature names. Fixes #459466.
7349
7350 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7351
7352         * gst/gstpad.h:
7353           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
7354           driving the pipeline may need to explicitly check for NOT_LINKED as
7355           well, since IS_FATAL doesn't cover that.
7356
7357 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7358
7359         * docs/pwg/advanced-types.xml:
7360           Fix typo and duplicate entry in video formats list.
7361
7362 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
7363
7364         * libs/gst/controller/gstinterpolation.c:
7365         Also round to the nearest int when using cubic interpolation.
7366
7367 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
7368
7369         * libs/gst/controller/gstinterpolation.c:
7370         When linearly interpolating integer types, round to the nearest int
7371         by adding 0.5. Don't do it for float/double types.
7372         Fixes the failing controller test on my machine, which is somehow
7373         rounding differently than on the buildbots.
7374
7375 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7376
7377         * tools/gst-plot-timeline.py:
7378           Better log parsing (categories can have -). Adjust text vs. lines, so
7379           that they span the same y-range.        
7380
7381 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7382
7383         * docs/random/ensonic/audiobaseclasses.txt:
7384         * docs/random/ensonic/dynlink.txt:
7385         * docs/random/ensonic/profiling.txt:
7386           Save my thoughts.
7387
7388         * docs/random/moving-plugins:
7389           Add note to use g_assert type macros.
7390
7391 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7392
7393         * configure.ac:
7394         * libs/gst/check/Makefile.am:
7395           Add libm check as we use in for plugins.
7396
7397 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
7398
7399         * gst/gstbin.c: (gst_bin_continue_func):
7400         Check that the state_cookie hasn't changed since the continue_func
7401         was scheduled. Avoids problems where the state changes back to
7402         something it shouldn't be because it was changed in the meantime.
7403
7404 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
7405
7406         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
7407         (gst_registry_binary_save_string),
7408         (gst_registry_binary_save_pad_template),
7409         (gst_registry_binary_save_feature),
7410         (gst_registry_binary_save_plugin),
7411         (gst_registry_binary_load_feature),
7412         (gst_registry_binary_load_plugin),
7413         (gst_registry_binary_read_cache):
7414           Fix memory leak. Be less verbose in the log.
7415
7416 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7417
7418         * tests/check/elements/.cvsignore:
7419         Add file to cvsignore as commanded.
7420
7421 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7422
7423         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
7424         (mq_dummypad_event), (run_output_order_test):
7425         Use a GStaticMutex to protect all cases where libcheck
7426         fail_if/fail_unless macros might be called from multiple threads
7427         simultaneously to avoid errors like:
7428           "check_pack.c:107: :-1081725400:Bad message type arg"
7429
7430 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7431
7432         * tests/check/pipelines/stress.c: (GST_START_TEST):
7433         Make sure we set the pipeline back to the NULL state before
7434         dropping our final reference.
7435
7436 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7437
7438         * tests/check/elements/tee.c: (GST_START_TEST):
7439         Make the tee stress-test a little less stressful so it doesn't just
7440         time out on slow-machines, and remove a small race when it's starting 
7441         up by adding a get_state() call.
7442
7443 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
7444
7445         * gst/gst.c:
7446           Avoid reading registry twice on startup. Fixes #457322.
7447
7448 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7449
7450         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7451         * pkgconfig/gstreamer-check.pc.in:
7452         Substitute the CFLAGS for libcheck into our .pc file too so that
7453         dependent modules will pick it up properly if libcheck is installed
7454         into some other prefix.
7455
7456 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7457
7458         * configure.ac:
7459         Revert the pkg-config check for libcheck, since it pulls in the
7460         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
7461         a proper solution, either from the check project, or something else.
7462
7463 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
7464
7465         * configure.ac:
7466           Use pkg-config to locate check.
7467
7468 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
7469
7470         * gst/gsttaglist.c:
7471           Fix doc syntax.
7472
7473         * gst/gstutils.c:
7474         * gst/gstutils.h:
7475           Add deprecation guards.
7476
7477         * libs/gst/base/gstcollectpads.h:
7478           Don't document object (this is implicitly private).
7479
7480 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
7481
7482         * gst/gststructure.c: (gst_structure_parse_value):
7483           When deserialising foo=bar without a type cast, check if it's a
7484           boolean before falling back to a string type, otherwise things like
7485           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
7486           because the filtercaps end up having a signed=(string)true field,
7487           which causes problems later when intersection caps.
7488
7489         * tests/check/gst/gststructure.c: (GST_START_TEST):
7490           Add a unit test for this.
7491
7492 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
7493
7494         Reviewed by: Stefan Kost <ensonic@users.sf.net>
7495
7496         * libs/gst/controller/Makefile.am:
7497         * libs/gst/controller/gstcontroller.c:
7498         (gst_controlled_property_add_interpolation_control_source),
7499         (gst_controlled_property_new), (gst_controlled_property_free),
7500         (gst_controller_find_controlled_property),
7501         (gst_controller_new_valist), (gst_controller_new_list),
7502         (gst_controller_new), (gst_controller_remove_properties_valist),
7503         (gst_controller_remove_properties_list),
7504         (gst_controller_remove_properties),
7505         (gst_controller_set_property_disabled),
7506         (gst_controller_set_disabled), (gst_controller_set_control_source),
7507         (gst_controller_get_control_source), (gst_controller_get),
7508         (gst_controller_sync_values), (gst_controller_get_value_array),
7509         (_gst_controller_dispose), (gst_controller_get_type),
7510         (gst_controlled_property_set_interpolation_mode),
7511         (gst_controller_set), (gst_controller_set_from_list),
7512         (gst_controller_unset), (gst_controller_unset_all),
7513         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
7514         * libs/gst/controller/gstcontroller.h:
7515         * libs/gst/controller/gstcontrollerprivate.h:
7516         * libs/gst/controller/gstcontrolsource.c:
7517         (gst_control_source_class_init), (gst_control_source_init),
7518         (gst_control_source_get_value),
7519         (gst_control_source_get_value_array), (gst_control_source_bind):
7520         * libs/gst/controller/gstcontrolsource.h:
7521         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7522         (gst_object_get_control_source):
7523         * libs/gst/controller/gstinterpolation.c:
7524         (gst_interpolation_control_source_find_control_point_node),
7525         (gst_interpolation_control_source_get_first_value),
7526         (_interpolate_none_get), (interpolate_none_get),
7527         (interpolate_none_get_boolean_value_array),
7528         (interpolate_none_get_enum_value_array),
7529         (interpolate_none_get_string_value_array),
7530         (_interpolate_trigger_get), (interpolate_trigger_get),
7531         (interpolate_trigger_get_boolean_value_array),
7532         (interpolate_trigger_get_enum_value_array),
7533         (interpolate_trigger_get_string_value_array):
7534         * libs/gst/controller/gstinterpolationcontrolsource.c:
7535         (gst_control_point_free), (gst_interpolation_control_source_reset),
7536         (gst_interpolation_control_source_new),
7537         (gst_interpolation_control_source_set_interpolation_mode),
7538         (gst_interpolation_control_source_bind),
7539         (gst_control_point_compare), (gst_control_point_find),
7540         (gst_interpolation_control_source_set_internal),
7541         (gst_interpolation_control_source_set),
7542         (gst_interpolation_control_source_set_from_list),
7543         (gst_interpolation_control_source_unset),
7544         (gst_interpolation_control_source_unset_all),
7545         (gst_interpolation_control_source_get_all),
7546         (gst_interpolation_control_source_get_count),
7547         (gst_interpolation_control_source_init),
7548         (gst_interpolation_control_source_finalize),
7549         (gst_interpolation_control_source_dispose),
7550         (gst_interpolation_control_source_class_init):
7551         * libs/gst/controller/gstinterpolationcontrolsource.h:
7552         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
7553         API: Refactor GstController into the core controller which can take
7554         a GstControlSource for providing actual values for timestamps.
7555         Implement a interpolation control source and use this for backward
7556         compatibility, deprecate a bunch of functions that are now handled
7557         by GstControlSource or GstInterpolationControlSource.
7558         Make it possible to disable the controller completely or only for
7559         specific properties. Fixes #450711.
7560         * docs/libs/gstreamer-libs-docs.sgml:
7561         * docs/libs/gstreamer-libs-sections.txt:
7562         * docs/libs/gstreamer-libs.types:
7563         Add new functions and classes to the docs.
7564         * tests/check/libs/controller.c: (GST_START_TEST),
7565         (gst_controller_suite):
7566         * tests/examples/controller/audio-example.c: (main):
7567         Port unit test and example to the new API and add some new
7568         unit tests.
7569
7570 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
7571
7572         Patch by: Mark Nauwelaerts <manauw at skynet be>
7573
7574         * plugins/elements/gstmultiqueue.c:
7575         (gst_multi_queue_get_internal_links), (apply_buffer),
7576         (single_queue_overrun_cb), (gst_single_queue_new):
7577         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
7578         the pipeline layout can be tracked correctly. Fixes #453732.
7579
7580 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
7581
7582         * docs/gst/Makefile.am:
7583         * docs/libs/Makefile.am:
7584         * docs/plugins/Makefile.am:
7585           Simplify --extra-dir as gtkdoc scans recursively.
7586
7587 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7588
7589         * tools/gst-launch.c: (main):
7590         When we got an error, there is no point in waiting for preroll when
7591         shutting down.
7592
7593 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7594
7595         * plugins/elements/gsttee.c: (gst_tee_base_init),
7596         (gst_tee_request_new_pad), (gst_tee_release_pad),
7597         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
7598         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
7599         (gst_tee_chain):
7600         Be a lot smarter when deciding what srcpad to use for proxying
7601         the buffer_alloc. Also handle pad added/removed when doing so.
7602         Fixes #357959.
7603         Keep track of what pads we already pushed on in case we have pads
7604         added/removed while pushing. Fixes #374639 
7605
7606         * tests/check/Makefile.am:
7607         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
7608         (tee_suite):
7609         Added unit test for pad resync.
7610
7611 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7612
7613         * po/nl.po:
7614         * po/sv.po:
7615           Updated translations.
7616
7617 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7618
7619         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
7620
7621         * po/LINGUAS:
7622         * po/fi.po:
7623           Added new Finnish translation.
7624
7625 2007-06-28  Wim Taymans  <wim@fluendo.com>
7626
7627         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7628         (single_queue_overrun_cb):
7629         When figuring out when a queue is filled, use our internal time estimate
7630         based on segments, just like check_full does.
7631
7632 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7633
7634         * gst/gstminiobject.c: (gst_mini_object_get_type):
7635           Remove 3 do-nothing methods.
7636
7637 2007-06-27  Wim Taymans  <wim@fluendo.com>
7638
7639         Patch by: Tim Angus <tim at ngus dot net>
7640
7641         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7642         (gst_capsfilter_set_property):
7643         Take a reference instead of a copy when setting "caps".
7644         Fix documentation to clarify this behaviour. Fixes #449414.
7645
7646 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7647
7648         * gst/gstindexfactory.c: (gst_index_factory_get_type):
7649         * gst/gstplugin.c: (gst_plugin_init):
7650         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
7651         * gst/gstquery.c: (gst_query_get_type):
7652         * gst/gstregistry.c: (gst_registry_init):
7653         * gst/gsturi.c: (gst_uri_handler_base_init):
7654           Remove empty instance_init() functions to save relocs and lessen the
7655           noise. Remove some of the function prototypes that are doubled by
7656           G_DEFINE_TYPE.
7657           
7658 2007-06-27  Wim Taymans  <wim@fluendo.com>
7659
7660         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
7661
7662         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
7663         Add peer and direction in the XML serialisation of ghostpads.
7664         Fixes #449226.
7665
7666 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7667
7668         * configure.ac:
7669           Preserve useful information, thanks Tim.
7670
7671 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
7672
7673         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7674         (gst_single_queue_flush), (apply_segment), (apply_buffer),
7675         (gst_single_queue_push_one), (gst_multi_queue_loop),
7676         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7677         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
7678         (compute_high_id), (gst_single_queue_new):
7679         * plugins/elements/gstmultiqueue.h:
7680         Take the multiqueue lock when updating the fill level so we don't get
7681         confused. 
7682
7683         After applying a buffer or event on the src pad segment, make sure to
7684         call gst_data_queue_limits_changed() to get the data queue to unblock
7685         and check the filled state again.
7686         
7687         Rework the not-linked pad handling so the logic is that not-linked 
7688         pads can push as fast as they like, but only so they never get 
7689         ahead of any linked pads.
7690
7691         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
7692         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
7693         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
7694
7695         Add a test to check that not-linked pads always stay behind
7696         linked pads.
7697
7698         Fixes: #430682
7699
7700 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
7701
7702         * docs/random/release:
7703           Some updates to the release procedure.
7704
7705 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7706
7707         * gst/gstelementfactory.c: (__gst_element_details_clear):
7708           Microoptimization that saves stunning 80 bytes.
7709
7710 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
7711
7712         * docs/plugins/gstreamer-plugins.args:
7713         * docs/plugins/inspect/plugin-coreelements.xml:
7714         * docs/plugins/inspect/plugin-coreindexers.xml:
7715           Update docs with caps info.
7716
7717 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7718
7719         * po/it.po:
7720           Updated Italian translation.
7721
7722 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7723
7724         * ChangeLog:
7725         * po/vi.po:
7726           Update Vietnamese translations.
7727
7728 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7729
7730         * libs/gst/base/gstbasesink.c:
7731           Remove unused signal enum.
7732
7733 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
7734
7735         * docs/gst/gstreamer-sections.txt:
7736         * gst/gstelement.c:
7737         * gst/gstutils.c: (gst_type_register_static_full):
7738         Beef up and include the docs for gst_type_register_static_full and
7739         gst_element_class_set_details_simple and add the API keyword
7740         in the ChangeLog.
7741
7742 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
7743
7744         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
7745         (update_time_level), (gst_single_queue_push_one),
7746         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
7747         (single_queue_overrun_cb), (single_queue_underrun_cb),
7748         (single_queue_check_full):
7749         Fix setting max-* properties after adding queues.
7750         Use IS_FILLED for checking visible items.
7751         Signal overrun if multiple queues overrun.
7752         Add extra debug output.
7753         Patch by: Wim Taymans <wim@fluendo.com>
7754
7755 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
7756
7757         * gst/gstelement.c: (gst_element_class_set_details_simple):
7758         * gst/gstelement.h:
7759         * gst/gstutils.c: (gst_type_register_static_full):
7760         * gst/gstutils.h:
7761         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
7762         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
7763         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
7764         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
7765         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
7766         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
7767         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
7768         * plugins/elements/gstidentity.c: (gst_identity_base_init):
7769         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
7770         * plugins/elements/gstqueue.c: (gst_queue_base_init),
7771         (apply_buffer), (gst_queue_chain):
7772         * plugins/elements/gsttee.c: (gst_tee_base_init):
7773         * plugins/elements/gsttypefindelement.c:
7774         (gst_type_find_element_base_init),
7775         (gst_type_find_element_class_init):
7776           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
7777           API: add gst_type_register_static_full
7778           API: add gst_element_class_set_details_simple
7779
7780 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7781
7782         * docs/pwg/advanced-types.xml:
7783           Fix typo in iana.org URI.
7784
7785 2007-06-19  Andy Wingo  <wingo@pobox.com>
7786
7787         * tests/check/pipelines/simple-launch-lines.c
7788         (test_state_change_returns): Enable pull-mode tests now that
7789         basesink has been fixed.
7790
7791         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
7792         Changed from gst_base_sink_is_prerolled, reversing the sense of
7793         the return value. Returns FALSE also if the sink is in pull mode,
7794         in which case it needs no preroll.
7795         (gst_base_sink_query, gst_base_sink_change_state): Update for
7796         needs_preroll change.
7797         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
7798         chaining up, in which we return SUCCESS directly if we activated
7799         in pull mode instead of ASYNC. Involves countering an async_start
7800         message sent before chaining up; not sure if this is correct, in
7801         an ideal world we only send async-start when activating in push
7802         mode.
7803
7804         * tests/check/pipelines/simple-launch-lines.c
7805         (test_state_change_returns): New test, partially disabled until
7806         basesink is fixed.
7807
7808 2007-06-19  Wim Taymans  <wim@fluendo.com>
7809
7810         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7811         (gst_multi_queue_sink_event):
7812         Fix event leak.
7813
7814 2007-06-19  Wim Taymans  <wim@fluendo.com>
7815
7816         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7817         (gst_bin_change_state_func), (bin_push_state_continue),
7818         (bin_handle_async_start), (bin_handle_async_done),
7819         (gst_bin_handle_message_func):
7820         Move the common code for posting state-change messages into
7821         one function.
7822         Broadcast the state signal after we posted the messages.
7823         Mark the bin as busy when it's doing a state-change.
7824         Make sure async-start/done messages don't interfere with the bin's
7825         state when it's busy.
7826         After the state change, let the bin check which elements completed the
7827         state change while it was busy so that it can update its state.
7828
7829 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
7830
7831         * docs/random/release:
7832         Add a note about updating the doap file to the release checklist
7833
7834 2007-06-18  Wim Taymans  <wim@fluendo.com>
7835
7836         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7837         (gst_single_queue_push_one), (gst_multi_queue_chain),
7838         (gst_multi_queue_sink_event):
7839         Make sure we don't reference the buffer/event after we have given away
7840         ownership in the queue.
7841
7842 2007-06-18  Wim Taymans  <wim@fluendo.com>
7843
7844         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7845         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
7846         Update queue state _after_ adding the item in the queue because else we
7847         could end up being full without the element added yet.
7848
7849 2007-06-18  Wim Taymans  <wim@fluendo.com>
7850
7851         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
7852         (gst_bin_remove_func), (gst_bin_get_state_func),
7853         (gst_bin_element_set_state), (gst_bin_continue_func),
7854         (bin_push_state_continue), (bin_handle_async_start),
7855         (bin_handle_async_done), (gst_bin_handle_message_func):
7856         * gst/gstbin.h:
7857         Immediatly commit the toplevel bin state when receiving an async-done
7858         message. This enables us to avoid spawning a thread to commit the state
7859         in some common cases and it also avoids some races.
7860         Avoid spawning a state thread when adding/removing async elements to a
7861         toplevel bin. Instead we immediatly update the bin state.
7862         Get rid of iterating all the children when getting the state in the bin
7863         because it is now always up-to-date.
7864         Fix bug where locked elements would always return _SUCCESS even it they
7865         returned NO_PREROLL before being locked.
7866         Fix the order of the state_change, async-start/done messages that was
7867         sometimes incorrect.
7868         Mark the state_dirty field as deprecated, we don't need it anymore as we
7869         are always up-to-date.
7870
7871         * gst/gstelement.c: (gst_element_get_state_func),
7872         (gst_element_continue_state):
7873         Small debug inprovements.
7874         Return the previous element state return when nothing is pending instead
7875         of blindly returning SUCCESS.
7876
7877         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
7878         (gst_sinks_suite):
7879         Add a whole bunch of new testcases.
7880
7881 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7882
7883         * po/uk.po:
7884         * po/vi.po:
7885           Update translations.
7886
7887 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
7888
7889         * gst/gstpad.c:
7890         Fix typo in the docs.
7891
7892 2007-06-15  Wim Taymans  <wim@fluendo.com>
7893
7894         * docs/libs/gstreamer-libs-sections.txt:
7895         Add docs for new methods.
7896
7897 2007-06-15  Wim Taymans  <wim@fluendo.com>
7898
7899         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
7900         (gst_multi_queue_item_new):
7901         Don't use GSlice because we don't depend on >= 2.10 yet.
7902
7903 2007-06-15  Wim Taymans  <wim@fluendo.com>
7904
7905         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7906         (update_time_level), (apply_segment), (apply_buffer),
7907         (gst_single_queue_push_one), (gst_multi_queue_item_new),
7908         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
7909         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
7910         (single_queue_underrun_cb), (single_queue_check_full):
7911         Remove debug printf.
7912
7913 2007-06-15  Wim Taymans  <wim@fluendo.com>
7914
7915         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
7916         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
7917         (gst_data_queue_set_flushing), (gst_data_queue_push),
7918         (gst_data_queue_pop), (gst_data_queue_drop_head),
7919         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
7920         * libs/gst/base/gstdataqueue.h:
7921         Various cleanups.
7922         Added methods to get the current levels and to inform the queue that the
7923         'full' limits changed.
7924
7925         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7926         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
7927         (gst_single_queue_flush), (update_time_level), (apply_segment),
7928         (apply_buffer), (gst_single_queue_push_one),
7929         (gst_multi_queue_item_steal_object),
7930         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
7931         (gst_multi_queue_loop), (gst_multi_queue_chain),
7932         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7933         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
7934         (gst_multi_queue_src_query), (single_queue_overrun_cb),
7935         (single_queue_underrun_cb), (single_queue_check_full),
7936         (gst_single_queue_new):
7937         Keep track of time in the queue by measuring the difference between
7938         running_time on input and output. This gives more accurate results and
7939         can compensate for segments correctly.
7940         Make a queue by default only 5 buffers deep. We will now increase the
7941         buffer size depending on the filledness of the other queues.
7942         Factor out commong flush code.
7943         Make sure we don't add additional refcounts to buffers when we can avoid
7944         it.
7945         Propagate GstFlowReturn differently.
7946         Use GSlice for intermediate GstMultiQueueItems.
7947         Keep track of EOS.
7948         Resize queues on over and underruns based on filled level of other
7949         queues.
7950         When checking if the queue is filled, prefer to measure in time if we
7951         can and fall back to bytes when no time is known.
7952
7953         * plugins/elements/gstqueue.c:
7954         Fix return value.
7955
7956 2007-06-15  Wim Taymans  <wim@fluendo.com>
7957
7958         * libs/gst/base/gstbasetransform.c:
7959         (gst_base_transform_sink_event):
7960         Work around the brokenness of the event vmethod in basetransform. Prefer
7961         to return TRUE when the subclass returned FALSE (meaning don't forward
7962         the event). 
7963
7964         * libs/gst/base/gstbasetransform.h:
7965         Clarify the docs.
7966
7967 2007-06-15  Wim Taymans  <wim@fluendo.com>
7968
7969         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
7970         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7971         (gst_base_src_default_query), (gst_base_src_get_range),
7972         (gst_base_src_start):
7973         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
7974         Improve debugging.
7975
7976 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
7977
7978         * docs/pwg/advanced-types.xml:
7979           Added more formats to caps table.
7980
7981 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
7982
7983         * tools/gst-launch.c: (main):
7984           Remove crufy code. GOption does not need this workaround.
7985
7986 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
7987
7988         * libs/gst/controller/gstcontroller.c:
7989         (gst_controlled_property_set_interpolation_mode):
7990           Fix wrong getter for enums in controller.
7991
7992 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
7993
7994         * libs/gst/check/gstcheck.c: (gst_check_init):
7995           Intercept criticals and warnings in the Gst-Phonon log domain, so
7996           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
7997           well.
7998         
7999 2007-06-14  Edward Hervey  <edward@fluendo.com>
8000
8001         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
8002         Since this file doesn't include "gst.h" it will not go through the
8003         macros that disable GST_LOG if debugging was disabled.
8004
8005 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8006
8007         * libs/gst/check/Makefile.am:
8008         * libs/gst/check/gstcheck.h:
8009         * pkgconfig/gstreamer-check-uninstalled.pc.in:
8010         * pkgconfig/gstreamer-check.pc.in:
8011           Ugly 'fix' for the controller unit test on the p5 bot: in
8012           fail_unless_equals_float() check whether the values are 'almost
8013           equal' by allowing a small absolute error, which should be good
8014           enough for our use cases (normal numbers and values close to 0).
8015           Proper fixage left to floating point arithmetic aficionados.
8016
8017 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8018
8019         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
8020         (gst_base_sink_render_object), (gst_base_sink_get_position):
8021           Add two breaks thats where missing.
8022
8023 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8024
8025         * docs/libs/gstreamer-libs-sections.txt:
8026         * libs/gst/check/gstcheck.h:
8027           API: add fail_unless_equals_float() and assert_equals_float().
8028           Add documentation for some of the macros.
8029
8030         * tests/check/libs/controller.c: (GST_START_TEST):
8031           Use newly-added asserts.
8032
8033 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
8034
8035         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
8036           Show the caps change in the log to help spotting the case of not
8037           exactly matching caps.
8038
8039 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
8040
8041         * docs/pwg/building-boiler.xml:
8042           Fix typos, spotted by Thijs Vermeir (#447190).
8043
8044 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8045
8046         * docs/plugins/tmpl/.cvsignore:
8047         Ignore file to keep the buildbots happy
8048
8049 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
8050
8051         * docs/plugins/Makefile.am:
8052         * docs/plugins/gstreamer-plugins-docs.sgml:
8053         * docs/plugins/gstreamer-plugins-sections.txt:
8054         Pull fdsink into the docs too.
8055
8056 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
8057
8058         * libs/gst/controller/gstinterpolation.c:
8059         Actually use the new functions with min/max checks for the trigger and
8060         none interpolation modes for get() and get_value_array() instead of
8061         just the latter.
8062
8063 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
8064
8065         * libs/gst/controller/gstcontroller.c:
8066         (gst_controlled_property_free):
8067         Unset the minimum and maximum GValues when freeing the corresponding
8068         GstControllerProperty struct.
8069
8070 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
8071
8072         * libs/gst/controller/gstcontroller.c:
8073         (gst_controlled_property_new):
8074         * libs/gst/controller/gstcontrollerprivate.h:
8075         * libs/gst/controller/gstinterpolation.c:
8076         (gst_controlled_property_find_control_point_node),
8077         (interpolate_none_get), (interpolate_none_get_enum_value_array),
8078         (interpolate_none_get_string_value_array),
8079         (interpolate_trigger_get),
8080         (interpolate_trigger_get_enum_value_array),
8081         (interpolate_trigger_get_string_value_array):
8082         Protect against values larger or smaller than the minimum or maximum
8083         allowed value for the property when using values that can be compared.
8084
8085         Optimize trigger interpolator a bit by taking the last requested value
8086         into account instead of always looping through the complete list.
8087
8088         Fix coding style a bit, everywhere else we use "return foo" instead
8089         of "return (foo)".
8090         
8091         * tests/check/libs/controller.c: (GST_START_TEST),
8092         (gst_controller_suite):
8093         Add unit test for the protection against too large or too small
8094         values.
8095
8096 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
8097
8098         * docs/random/slomo/controller.txt:
8099         Add some thoughts about the future of the controller.
8100
8101 2007-06-08  Wim Taymans  <wim@fluendo.com>
8102
8103         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8104         Don't overflow in retimestamping code.
8105
8106 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
8107
8108         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
8109         Use gst_util_guint64_to_gdouble for conversions.
8110         * win32/common/libgstreamer.def:
8111         Add new exported functions.
8112
8113 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
8114
8115         * gst/gstutils.c:
8116           Small docs addition.
8117
8118 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8119
8120         * README:
8121           Remove that test line again.
8122
8123 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8124
8125         * README:
8126           Test commit mail sending.
8127
8128 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8129
8130         * configure.ac:
8131           Fix typo and test commit mail sending.
8132
8133 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8134
8135         * tests/examples/controller/audio-example.c:
8136           Improve comment and test commit mail sending.
8137
8138 2007-06-07  Wim Taymans  <wim@fluendo.com>
8139
8140         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
8141         (gst_bin_remove_func), (gst_bin_element_set_state),
8142         (bin_handle_async_start), (bin_handle_async_done),
8143         (gst_bin_handle_message_func):
8144         Add helper function to find messages.
8145         Generate the async-done messages together with the state change
8146         messages.
8147         Small cleanups in handling toplevel bins.
8148
8149 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8150
8151         * libs/gst/base/gstdataqueue.c:
8152         * libs/gst/base/gstdataqueue.h:
8153         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
8154         (gst_multi_queue_item_new), (gst_multi_queue_chain),
8155         (gst_multi_queue_sink_event):
8156         * tests/check/elements/multiqueue.c: (multiqueue_suite):
8157           Fix multiqueue leaking buffers and events when downstream or the
8158           queue are flushing. Make refcounting assumptions explicit and
8159           document them (shouldn't break existing code that uses it other than
8160           maybe leak miniobjects, but that already happens anyway). Add unit
8161           test for the most common flushing case. Fixes #423700.
8162           
8163 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8164
8165         * libs/gst/controller/gstcontroller.c:
8166         Clarify docs: The get_all, get_value_array(s) functions
8167         don't modify the GObject properties.
8168
8169 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8170
8171         * libs/gst/controller/gstcontroller.c:
8172         (gst_controlled_property_set_interpolation_mode),
8173         (gst_controlled_property_prepend_default),
8174         (gst_controlled_property_new), (gst_controller_set_unlocked),
8175         (gst_controller_set), (gst_controller_set_from_list),
8176         (gst_controller_unset), (gst_controller_unset_all):
8177         * libs/gst/controller/gstcontrollerprivate.h:
8178         * libs/gst/controller/gstinterpolation.c:
8179         Factor out the 'set' logic into gst_controller_set_unlocked for the
8180         gst_controller_set and gst_controller_set_from_list functions.
8181
8182         To make life of the interpolators easier always add a control point
8183         at timestamp zero with the default value.
8184
8185         In the linear interpolator make things more obvious by better variable
8186         naming (slope).
8187
8188         Implement cubic interpolation mode (by using a natural cubic spline)
8189         and map the quadratic interpolation mode to this too (as quadratic
8190         doesn't make much sense, see discussion on the list).
8191
8192         * tests/check/libs/controller.c: (GST_START_TEST),
8193         (gst_controller_suite):
8194         Add unit test for the cubic interpolation mode and check everywhere
8195         if the interpolation mode could be set as expected.
8196
8197 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8198
8199         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
8200           Don't use GLib-2.10 functions, we still depend on
8201           GLib-how-old-is-it-again-2.8.
8202
8203 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8204
8205         * docs/gst/gstreamer-sections.txt:
8206         * gst/Makefile.am:
8207         * gst/gst.c:
8208         * gst/gst.h:
8209         * gst/gstparamspecs.c: (_gst_param_fraction_init),
8210         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
8211         (_gst_param_fraction_values_cmp),
8212         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
8213         * gst/gstparamspecs.h:
8214         * gst/gstvalue.c:
8215         * tests/check/Makefile.am:
8216         * tests/check/gst/.cvsignore:
8217         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
8218         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
8219         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
8220         (GST_START_TEST), (gst_param_spec_suite):
8221           API: add GstParamSpecFraction, so elements can have fraction
8222           properties without lots of painful string parsing (#444648).
8223
8224 2007-06-05  Wim Taymans  <wim@fluendo.com>
8225
8226         * gst/gstobject.c: (gst_object_class_init):
8227         Fix signal signature.
8228
8229         * gst/gstsegment.c:
8230         Add small clarification in the api docs.
8231
8232         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
8233         States are protected with object lock.
8234
8235 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8236
8237         * AUTHORS:
8238         I should probably be listed as an author by now.
8239
8240         * docs/random/release:
8241         Update the release doc
8242
8243 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
8244
8245         * gst/gstvalue.c:
8246           Make docs for gst_value_compare() mention return enums that
8247           actually exist.
8248
8249 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8250
8251         * configure.ac:
8252           Back to CVS
8253
8254 === release 0.10.13 ===
8255
8256 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
8257
8258         * configure.ac:
8259           releasing 0.10.13, "With or without you"
8260
8261 2007-05-25  Wim Taymans  <wim@fluendo.com>
8262
8263         * gst/gstbin.c: (bin_handle_async_done):
8264         Make sure that the child bin stops after completing the async state
8265         change so that the parent can continue the state change to PLAYING.
8266         Fixes #441159.
8267
8268 2007-05-25  Wim Taymans  <wim@fluendo.com>
8269
8270         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8271         (unref_data), (gst_collect_pads_remove_pad),
8272         (gst_collect_pads_check_pads):
8273         Use additional refcounting to avoid crashes when dynamically adding and
8274         removing pads. Fixes #420206.
8275
8276 2007-05-24  Wim Taymans  <wim@fluendo.com>
8277
8278         * tools/gst-launch.c: (event_loop):
8279         When buffering goes from a two digit to a single digit number, make sure
8280         to remove the old second digit by writing a blank over it.
8281
8282 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8283
8284         * libs/gst/base/gstdataqueue.c:
8285           Eliminate tabs and trailing comma in enum list; fix some typos.
8286
8287 2007-05-24  Wim Taymans  <wim@fluendo.com>
8288
8289         * tests/check/gst/gstbin.c: (GST_START_TEST):
8290         Allow refcount of 3 and 4 because some state thread might still be busy
8291         with it.
8292
8293 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8294
8295         * plugins/elements/Makefile.am:
8296         * plugins/elements/gstmultiqueue.h:
8297         * plugins/elements/gstqueue.h:
8298           These are not installed headers, no need for padding.
8299
8300 2007-05-24  Wim Taymans  <wim@fluendo.com>
8301
8302         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8303         (gst_bin_continue_func):
8304         Enable latency for next release.
8305         Restore STATE_LOCK around recalc_state that was left out during the
8306         rewrite and could result in racy behaviour when _get_state and
8307         recalc_state are run concurrently. See #440463.
8308
8309 2007-05-23  Wim Taymans  <wim@fluendo.com>
8310
8311         * tests/check/gst/gstsystemclock.c: (store_callback),
8312         (GST_START_TEST):
8313         Improve test_async_order to also work when both timers are already
8314         expired when we get scheduled to check it.
8315
8316 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8317
8318         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
8319         (gst_bin_set_property), (gst_bin_get_property),
8320         (gst_bin_remove_func), (gst_bin_handle_message_func):
8321         * gst/gstbin.h:
8322           'private' is a c++ keyword, let's not use that in header files,
8323           otherwise c++ compilers will throw a tantrum.
8324
8325 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8326
8327         * plugins/elements/gstelements.c:
8328         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
8329         (gst_file_sink_get_current_offset):
8330         * plugins/indexers/gstindexers.c: (plugin_init):
8331           Use #ifdef for HAVE_XYZ for consistency.
8332
8333         * tests/check/Makefile.am:
8334         * tests/check/elements/.cvsignore:
8335         * tests/check/elements/filesink.c: (setup_filesink),
8336         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
8337           Add some unit tests for filesink.
8338
8339 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8340
8341         Patch by: Mark Nauwelaerts <manauw at skynet be>
8342
8343         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8344         (gst_file_sink_query), (gst_file_sink_do_seek),
8345         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8346         * plugins/elements/gstfilesink.h:
8347           Fix position reporting; rename data_written member to current_pos to
8348           reflect its real meaning (fixes #412648).
8349
8350 2007-05-22  Edward Hervey  <edward@fluendo.com>
8351
8352         * docs/gst/gstreamer-sections.txt:
8353         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8354         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
8355         (gst_bin_remove_func), (gst_bin_handle_message_func):
8356         * gst/gstbin.h:
8357         Add a property for bins that handle the state change of their childs.
8358         Fixes #435880
8359
8360 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
8361
8362         * libs/gst/controller/gstinterpolation.c:
8363         Use an array of the correct type when using _get_value_array with
8364         linear interpolation.
8365
8366 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
8367
8368         * gst/gstelement.c (gst_element_requires_clock,
8369           gst_element_provides_clock, gst_element_request_pad,
8370           gst_element_class_set_details, gst_element_class_set_details_simple,
8371           gst_element_default_send_event, gst_element_abort_state,
8372           gst_element_continue_state, gst_element_set_state,
8373           gst_element_set_state_func, iterator_activate_fold_with_resync):
8374         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
8375           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
8376           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
8377           gst_pad_get_range, gst_pad_pull_range):
8378         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
8379           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
8380           GstPadActivateModeFunction, GstPadChainFunction,
8381           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
8382           GstPadFixateCapsFunction, GstPadTemplate):
8383         * gst/gstpipeline.c (gst_pipeline_change_state,
8384           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
8385           gst_pipeline_set_clock, gst_pipeline_auto_clock,
8386           gst_pipeline_get_delay):
8387           Whitespace and docs fixes.
8388
8389 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8390
8391         * libs/gst/controller/gstinterpolation.c:
8392         (interpolate_trigger_get_enum_value_array),
8393         (interpolate_trigger_get_string_value_array):
8394         Add support for retrieving value arrays when using the trigger
8395         interpolation mode. 
8396
8397 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8398
8399         * libs/gst/controller/gstcontroller.c:
8400         (gst_controller_get_value_array):
8401         * libs/gst/controller/gstcontroller.h:
8402         Clarify the docs of gst_controller_get_value_array(): The array where
8403         the values should be written to must be allocated as there seems to be
8404         no way to get the size of a random GType. This doesn't change any
8405         behaviour. Also fix some typos all over the place and remove an unused,
8406         commented function that is not necessary as g_object_set() could be
8407         used instead.
8408         * tests/check/libs/controller.c: (GST_START_TEST),
8409         (gst_controller_suite):
8410         Add unit test for gst_controller_get_value_array().
8411
8412 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
8413
8414         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8415
8416         Disable part of the gst_buffer_try_new_and_alloc test, because
8417         it can happily succeed on 64-bit systems where there's more address
8418         space available.
8419
8420 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8421
8422         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8423         Add unit test for the improved caps checking from bug #421543.
8424
8425 2007-05-21  Wim Taymans  <wim@fluendo.com>
8426
8427         * docs/design/part-synchronisation.txt:
8428         Small addition.
8429
8430         * gst/gstbin.c: (gst_bin_query):
8431         * plugins/elements/gstqueue.c: (apply_segment):
8432         Improve debugging.
8433
8434         * gst/gstmessage.h:
8435         Improve docs.
8436
8437 2007-05-21  Wim Taymans  <wim@fluendo.com>
8438
8439         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8440         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
8441         (gst_pad_configure_src):
8442         Added simple version of improved caps checking. It was previously
8443         assumed that a setcaps function would check the validity of the caps but
8444         people prefer us to check caps against the template automatically. 
8445         Fixes #421543.
8446
8447 2007-05-21  Wim Taymans  <wim@fluendo.com>
8448
8449         * libs/gst/base/gstbasetransform.h:
8450         Fix macro for locking/unlocking the transform lock.
8451
8452 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
8453
8454         * docs/plugins/tmpl/.cvsignore:
8455           Ignore more.
8456
8457 2007-05-18  Edward Hervey  <edward@fluendo.com>
8458
8459         * plugins/elements/gstqueue.c: (gst_queue_loop):
8460         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
8461         for the subtle art of warning a potentially blocking thread that it
8462         should check the source pad return value, and relay the information
8463         upstream.
8464
8465 2007-05-18  Edward Hervey  <edward@fluendo.com>
8466
8467         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8468         Release the queue lock !
8469
8470 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8471
8472         * docs/libs/gstreamer-libs-sections.txt:
8473         Add the two new controller functions to the appropiate places.
8474
8475 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8476
8477         reviewed by: Stefan Kost <ensonic@users.sf.net>
8478
8479         * libs/gst/controller/gstcontroller.c:
8480         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
8481         (_gst_controller_get_property), (_gst_controller_set_property),
8482         (_gst_controller_init), (_gst_controller_class_init):
8483         * libs/gst/controller/gstcontroller.h:
8484         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
8485         (gst_object_get_control_rate), (gst_object_set_control_rate):
8486         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
8487         Add API that provides sync suggestion timestamps for elements that
8488         call gst_object_sync_values() from which those elements can subdivide
8489         their processing loop to get the best results for the controlled
8490         properties. For now it just suggests last_sync + control_rate as
8491         new timestamp but this will be improved in the future.
8492
8493         While doing that change the control-rate property to a GstClockTime
8494         from guint and change it's meaning from samples to nanoseconds as
8495         the GstController doesn't know anything about sampling rate. Strictly
8496         speaking this breaks ABI but as the control-rate property didn't do
8497         anything in the past and as such couldn't be used this should be no
8498         problem.        
8499
8500 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8501
8502         reviewed by: Stefan Kost <ensonic@users.sf.net>
8503
8504         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8505         (gst_controller_unset_all):
8506         * libs/gst/controller/gstcontrollerprivate.h:
8507         * libs/gst/controller/gstinterpolation.c:
8508         (gst_controlled_property_find_control_point_node):
8509         Save last synced value from the list to continue searching from there
8510         in future syncs. This speeds everything up a bit.
8511         
8512 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8513
8514         reviewed by: Stefan Kost <ensonic@users.sf.net>
8515
8516         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
8517         (gst_control_point_find), (gst_controlled_property_new),
8518         (gst_control_point_free), (gst_controlled_property_free),
8519         (gst_controller_set), (gst_controller_set_from_list),
8520         (gst_controller_unset), (gst_controller_unset_all),
8521         (gst_controller_sync_values):
8522         * libs/gst/controller/gstcontroller.h:
8523         * libs/gst/controller/gstcontrollerprivate.h:
8524         * libs/gst/controller/gstinterpolation.c:
8525         (gst_controlled_property_find_control_point_node),
8526         (interpolate_none_get), (interpolate_trigger_get):
8527         Add a new private GstControlPoint struct which "inherits" from
8528         GstTimedValue to allow different interpolators to store internal
8529         values next to each control point. From the outside everything is
8530         still a GstControlPoint so we don't loose binary compatibility.
8531         Also fixup all the GValue handling to not leak GValues or list nodes.
8532         * tests/check/libs/controller.c: (GST_START_TEST):
8533         Free the list nodes and GValues in the controller_misc test.
8534
8535 2007-05-17  Edward Hervey  <edward@fluendo.com>
8536
8537         * gst/gstsegment.c:
8538         Small doc fix.
8539
8540 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
8541
8542         * gst/gstplugin.c: (gst_plugin_load_file):
8543           If we fail to load a plugin because of unresolved symbols or missing
8544           libraries and spew a warning to stderr, we may just as well mention
8545           which plugin it was that failed to load.
8546
8547 2007-05-13  David Schleef  <ds@schleef.org>
8548
8549         * docs/Makefile.am: the gtk-doc makefile snippet correctly
8550           handles the case when ENABLE_GTK_DOC is false, and installs
8551           the prebuilt documentation.  So gtk-doc subdirs are 
8552           unconditionally enabled.  Fixes: #349099.
8553
8554 2007-05-13  David Schleef  <ds@schleef.org>
8555
8556         * gst/gstutils.h: Reword some documentation.
8557
8558 2007-05-12  David Schleef  <ds@schleef.org>
8559
8560         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
8561           do anything with the passed "module" parameter, so remove it.
8562           Allows removal of additional vestigal code.
8563
8564 2007-05-12  David Schleef  <ds@schleef.org>
8565
8566         * gst/gstplugin.c:
8567           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
8568           Switch to using g_stat() because it's more portable.
8569
8570 2007-05-12  David Schleef  <ds@schleef.org>
8571
8572         * gst/gst.c:
8573           Add GST_DISABLE_OPTION_PARSING, in order to disable option
8574           parsing for embedded systems.
8575         * gst/gstelementfactory.c:
8576           Allow gst_element_register() to be called with plugin==NULL.
8577           Did nobody notice that static elements were broken?
8578
8579 2007-05-12  Wim Taymans  <wim@fluendo.com>
8580
8581         * tools/gst-launch.c: (event_loop):
8582         Give more interesting info when buffering starts and stops.
8583         Fix case where buffering starts but we fail to update the buffering flag
8584         because the target state is not PLAYING.
8585
8586 2007-05-12  Wim Taymans  <wim@fluendo.com>
8587
8588         * plugins/elements/gstqueue.c: (gst_queue_init),
8589         (gst_queue_finalize), (update_time_level), (apply_segment),
8590         (apply_buffer), (gst_queue_locked_flush),
8591         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
8592         (gst_queue_handle_sink_event), (gst_queue_chain),
8593         (gst_queue_push_one), (gst_queue_loop):
8594         * plugins/elements/gstqueue.h:
8595         Refactor an cleanup queue a bit.
8596         Do better time level calculations that also work when the srcpad is not
8597         yet running.
8598         Remove some unneeded debug lines.
8599
8600         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
8601         Added testcase for time level measurement.
8602         Try to make some stuff more racefree.
8603
8604 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8605
8606         * gst/gsturi.c: (gst_element_make_from_uri):
8607           Don't leak plugin feature.
8608
8609         * tests/check/Makefile.am:
8610         * tests/check/gst/.cvsignore:
8611         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
8612           Add brain-dead unit test.
8613
8614 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8615
8616         Patch by: Jeroen Wouters <woutersj at gmail com>
8617
8618         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
8619           Treat protocol strings in a case-insensitive way (#437563).
8620
8621 2007-05-11  Michael Smith <msmith@fluendo.com>
8622
8623         * gst/gstplugin.c: (gst_plugin_load_file):
8624         * gst/gstregistry.c: (gst_registry_scan_path_level):
8625           Don't print a g_warning for any failure to load a shared object.
8626           Instead, push this down into gstplugin.c, and warn _only_ if we
8627           failed to open the module (i.e. failure to link).
8628           Avoids warnings on normal, working, non-plugin .so files.
8629
8630 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
8631
8632         * gst/gstplugin.c (gst_plugin_load_file):
8633         * gst/gstregistry.c (GST_CAT_DEFAULT,
8634           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
8635           Print a g_warning if there was an error when loading a plugins during
8636           registry scan. The shuld help beginners starting with gst-plugin
8637           template.
8638
8639 2007-05-10  Wim Taymans  <wim@fluendo.com>
8640
8641         * plugins/elements/gstqueue.c: (gst_queue_class_init),
8642         (update_time_level), (gst_queue_locked_flush),
8643         (gst_queue_handle_sink_event), (gst_queue_chain),
8644         (gst_queue_push_one), (gst_queue_loop):
8645         * plugins/elements/gstqueue.h:
8646         Be smarter when calculating the current amount of data in the queue by
8647         measuring the difference between start and end timestamps (in running
8648         time) inside the queue. Fixes #432876.
8649         API: GstQueue::pushing to notify elements that we are pushing data again
8650         since the running signal is rather broken for this purpose.
8651
8652 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
8653
8654         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
8655           gst_queue_base_init, gst_queue_init):
8656           use GST_BOILERPLATE
8657
8658 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
8659
8660         * win32/common/libgstreamer.def:
8661         Add new exported functions.
8662         * win32/vs6/grammar.dsp:
8663         Use grammar pre-generated files.
8664
8665 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8666
8667         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
8668
8669         * gst/Makefile.am:
8670         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
8671         * gst/gstparse.h:
8672         * gst/gstutils.c: (gst_parse_bin_from_description):
8673         * gst/gstutils.h:
8674           Maintain API and ABI when --disable-parse is used. Now that
8675           we have an appropriate error code, we can just return NULL and the
8676           appropriate error when gst_parse_launch() is used despite it having
8677           been disabled (#342564).
8678
8679         * tests/check/Makefile.am:
8680         * tests/check/pipelines/.cvsignore:
8681         * tests/check/pipelines/parse-disabled.c:
8682           Make sure these functions exist and return NULL plus a GError when
8683           --disable-parse is used.
8684
8685 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8686
8687         * tests/benchmarks/complexity.c: (main):
8688         * tests/benchmarks/mass-elements.c: (main):
8689           Set a good example and don't leak messages.
8690
8691 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
8692
8693         * docs/gst/Makefile.am:
8694         * docs/libs/Makefile.am:
8695           Correct fixxrefs options.
8696
8697         * docs/plugins/Makefile.am:
8698         * docs/plugins/gstreamer-plugins-docs.sgml:
8699         * docs/plugins/gstreamer-plugins-sections.txt:
8700         * plugins/elements/Makefile.am:
8701         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
8702         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
8703           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
8704           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
8705           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
8706           _GstCapsFilterClass, trans_class):
8707         * plugins/elements/gstelements.c (name, rank, type, _elements):
8708         * plugins/elements/gstidentity.c
8709           (gst_identity_check_imperfect_timestamp,
8710           gst_identity_check_imperfect_offset):
8711           Document capsfilter and add doc-blurb to identity.
8712
8713 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
8714
8715         * libs/gst/controller/gstcontroller.c:
8716         (gst_controlled_property_set_interpolation_mode):
8717         * libs/gst/controller/gstinterpolation.c:
8718           Don't crash if someone tries to set an interpolation mode that
8719           is invalid or that isn't supported yet. Fixes #422295.
8720
8721         * tests/check/libs/controller.c: (GST_START_TEST),
8722         (gst_controller_suite):
8723           Add a test case for the above.
8724
8725 2007-05-03  Edward Hervey  <edward@fluendo.com>
8726
8727         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8728         Properly set the last_stop position on GstSegment. This will only happen
8729         if there is a buffer to push out.
8730
8731 2007-05-03  Wim Taymans  <wim@fluendo.com>
8732
8733         * libs/gst/base/gstbasetransform.c:
8734         (gst_base_transform_buffer_alloc):
8735         always_in_place does not mean that the sink and source caps are the
8736         same! Make sure we don't blindly proxy the buffer_alloc in this case.
8737
8738 2007-05-03  Wim Taymans  <wim@fluendo.com>
8739
8740         * docs/libs/gstreamer-libs-sections.txt:
8741         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8742         (gst_base_src_default_query), (gst_base_src_get_range):
8743         * libs/gst/base/gstbasesrc.h:
8744         API: gst_base_src_query_latency(). Added method so that subclasses can
8745         easily get the latency values of the base source class.
8746
8747 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
8748
8749         * tools/gst-inspect.c (print_implementation_info):
8750         Remove 0.8 cruft.
8751
8752 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
8753
8754         * tools/Makefile.am:
8755         * tools/gst-launch.1.in:
8756           Don't create a customised man page based on the host architecture,
8757           describe the default registry path generically. That way the man
8758           page is the same for all architectures and packagers have one
8759           multilib issue less to deal with. Fixes #434926.
8760
8761 2007-05-02  Wim Taymans  <wim@fluendo.com>
8762
8763         * gst/gstpad.c:
8764         Fix documentation as spotted by rg on IRC. 
8765
8766 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
8767
8768         * gst/gstutils.c:
8769           Improve docs for gst_element_{link,unlink}.
8770
8771 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
8772
8773         * docs/design/part-events.txt:
8774         * docs/design/part-overview.txt:
8775         * gst/gstevent.c:
8776         * gst/gsturi.c:
8777         * gst/gsturi.h:
8778         * libs/gst/base/gstbasesink.c:
8779           Typo fixes; minor docs addition.
8780
8781 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8782
8783         * docs/gst/gstreamer-sections.txt:
8784         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
8785         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
8786         * gst/gsturi.h:
8787         API: Add gst_uri_protocol_is_supported(), which checks if a sink
8788         or src that supports a given URI protocol exists.
8789
8790 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8791
8792         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8793         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8794         Set the location to NULL if "file://" is set as URI. Otherwise
8795         some random previous URI would still be set if "file://" is
8796         set on an already used filesink/filesrc.
8797
8798 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8799
8800         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8801         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8802         Special case the "file://" URI as as this is used by some
8803         applications to test with gst_element_make_from_uri if there's
8804         an element that supports the URI protocol.
8805         Also move the g_path_is_absolute() check for the location part
8806         of the URI to also check this for "file://localhost/bla" URIs.
8807
8808 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
8809
8810         * docs/gst/gstreamer-sections.txt:
8811         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
8812         * gst/gstbuffer.h:
8813         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
8814         (gst_buffer_suite):
8815           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
8816
8817 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
8818
8819         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
8820         (gst_registry_binary_load_pad_template),
8821         (gst_registry_binary_load_plugin),
8822         (gst_registry_binary_read_cache):
8823         * gst/gstregistrybinary.h:
8824           Implement no-mmap alternative for registry reading. Do code cleanups.
8825           Add more comments about avoiding strdups for all text data. Comments
8826           welcome.
8827
8828 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
8829
8830         * gst/gstregistrybinary.h (GstBinaryPluginElement,
8831           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
8832           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
8833           Comment structs and reformat to fix the build (that stuff should go
8834           into a priv. header).
8835
8836 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
8837
8838         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
8839         (gst_registry_binary_load_feature):
8840         * gst/gstregistrybinary.h:
8841           Refactor so that we can implement multiple features. Add support for
8842           TypeFindFactory features.
8843
8844 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
8845
8846         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
8847
8848         * configure.ac:
8849           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
8850
8851 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
8852
8853         * gst/gstbin.c: (gst_bin_element_set_state),
8854         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
8855         (bin_handle_async_done), (gst_bin_handle_message_func):
8856           Fix build with --gst-disable-gst-debug
8857
8858 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
8859
8860         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
8861           Make sure streaming has finished before calling the ::stop() vfunc,
8862           since that vfunc might clear state which is being used in the
8863           streaming thread. This fixes a race that caused crashes in
8864           audioresample when shutting down a pipeline (#420106).
8865
8866 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
8867
8868         * docs/gst/gstreamer-sections.txt:
8869           That was one byte missing.
8870
8871 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
8872
8873         * configure.ac:
8874         * docs/gst/gstreamer-sections.txt:
8875         * gst/Makefile.am:
8876         * gst/gstconfig.h.in:
8877         * gst/gstobject.c: (gst_object_class_init),
8878         (gst_signal_object_class_init):
8879         * gst/gstobject.h:
8880           2nd attempt to have a xml-less build as a joined effort of #413123
8881           and #421480.
8882
8883 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
8884
8885         * docs/design/draft-tagreading.txt:
8886           Added open issues/thoughts to draft.
8887
8888 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
8889
8890         * gst/parse/grammar.tab.pre.c:
8891         * gst/parse/grammar.tab.pre.h:
8892         * gst/parse/lex._gst_parse_yy.pre.c:
8893         Update the prebuild parser sources.
8894
8895 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
8896
8897         * gst/parse/Makefile.am:
8898         And now fix the building of the flex sources. Now everything should
8899         work as expected.
8900
8901 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
8902
8903         * gst/parse/Makefile.am:
8904         Now hopefully fix the build failures by setting proper rule
8905         dependencies and moving instead of copying.
8906
8907 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
8908
8909         * tests/benchmarks/complexity.gnuplot:
8910         * tests/benchmarks/complexity.scm:
8911         * tests/benchmarks/mass-elements.gnuplot:
8912         * tests/benchmarks/mass-elements.scm:
8913           Total licensification.
8914
8915 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
8916
8917         * gst/parse/Makefile.am:
8918           Fix the build by correcting the rule that gave wrong files to flex.
8919
8920 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
8921
8922         * tests/benchmarks/complexity.c:
8923         * tests/benchmarks/mass-elements.c:
8924           Change licence to LGPL as granted by Benjamin and Andy.
8925
8926 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
8927
8928         * gst/parse/Makefile.am:
8929         Add correct grammar.tab.h dependency if compiling without new enough
8930         flex. Fixes #431150.
8931
8932 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
8933
8934         * gst/parse/Makefile.am:
8935         Fix typo and use outdated sources if the flex/bison sources are newer
8936         than the pregenerated ones but flex is too old. Print a warning in
8937         that case. This should fix the build on the build bot.
8938
8939 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
8940
8941         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
8942         * gst/parse/Makefile.am:
8943         * gst/parse/grammar.y:
8944         * gst/parse/parse.l:
8945         Make the parser reentrant and recursively callable. This requires flex
8946         >= 2.5.31, for older versions pregenerated sources are used as we
8947         can't bump the build dependency. Finally fixes #349180.
8948
8949         * gst/gstparse.c: (gst_parse_launch):
8950         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
8951         now anyway.
8952
8953         * docs/gst/Makefile.am:
8954         * docs/gst/Makefile.am:
8955         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
8956         (__gst_parse_strfree), (__gst_parse_link_new),
8957         (__gst_parse_link_free), (__gst_parse_chain_new),
8958         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
8959         (gst_parse_element_set), (gst_parse_free_link),
8960         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
8961         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
8962         (_gst_parse_launch):
8963         * gst/parse/grammar.tab.pre.h:
8964         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
8965         (yy_get_previous_state), (yy_try_NUL_trans), (input),
8966         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
8967         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
8968         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
8969         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
8970         (_gst_parse_yypop_buffer_state),
8971         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
8972         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
8973         (yy_fatal_error), (_gst_parse_yyget_extra),
8974         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
8975         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
8976         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
8977         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
8978         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
8979         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
8980         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
8981         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
8982         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
8983         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
8984         (_gst_parse_yyfree):
8985         If the installed flex version is too old use pre-generated parser
8986         sources. These pre-generated parser sources are always updated when
8987         the actual flex/bison sources change but require everybody who wants
8988         to change something in the parser to have flex >= 2.5.31 installed.
8989
8990 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
8991
8992         * common/m4/gst-gettext.m4:
8993         * gst/gst-i18n-lib.h:
8994           Make --disable-nls to work
8995
8996 2007-04-17  Wim Taymans  <wim@fluendo.com>
8997
8998         * gst/gstconfig.h.in:
8999         Revert previous change that broke the build.
9000
9001 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
9002
9003         * configure.ac:
9004         * gst/Makefile.am:
9005         * gst/gstconfig.h.in:
9006           Drop libxml2 dependency when building with 
9007           --enable-binary-registry --disable-loadsave
9008
9009 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
9010
9011         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
9012         (gst_registry_binary_read_cache):
9013         * gst/gstregistrybinary.h:
9014           Remove unnecessary <sys/mman.h> include which broke the win32 build
9015           with MingW; move includes from header file to .c file, even if the
9016           header file isn't installed; use g_strerror() where UTF-8 strings
9017           are expected, such as in GST_DEBUG messages.
9018
9019 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9020
9021         * docs/libs/gstreamer-libs-sections.txt:
9022         Remove bogus addition for API I didn't end up keeping.
9023
9024         * libs/gst/base/gstbasesrc.h:
9025         Mention Since: 0.10.13 in the documentation.
9026
9027         Add the API keyword to the previous ChangeLog entry.
9028
9029 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9030
9031         * docs/libs/gstreamer-libs-sections.txt:
9032         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9033         (gst_base_src_default_prepare_seek_segment),
9034         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
9035         * libs/gst/base/gstbasesrc.h:
9036         Allow basesrc derived classes to execute seeks in other formats
9037         by providing a prepare_seek_segment vmethod. Sub-classes can choose
9038         to prepare the GstSegment in any format that their perform_seek method
9039         will be able to understand. The default implementation provides the
9040         old behaviour of attempting to convert the seek offsets to the 
9041         configured native format.
9042
9043         API: basesrc::prepare_seek_segment vmethod.
9044
9045 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9046
9047         * gst/gstelement.c: (gst_element_get_state_func):
9048         Don't output the same debug statement twice.
9049
9050         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
9051         (gst_adapter_peek), (gst_adapter_take_buffer):
9052         Optimise the case where we have buffers at the head of the queue that
9053         can be joined quickly (because they're contiguous sub-buffers) by
9054         merging them together rather than copying data out into new memory.
9055
9056         * gst/parse/grammar.y:
9057         * tests/check/pipelines/parse-launch.c:
9058         Fix a leak in an error path for parse_launch, and add a check 
9059         for it to the testsuite.
9060
9061 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
9062
9063         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9064           Don't deadlock when releasing a pad - gst_pad_set_active may try
9065           and take the multiqueue lock too.
9066
9067 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
9068
9069         * gst/gsterror.c: (_gst_core_errors_init):
9070         * gst/gsterror.h:
9071           API: add GST_CORE_ERROR_DISABLED (#392804).
9072
9073 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9074
9075         * docs/faq/gst-uninstalled:
9076           don't get empty paths on the PATH variables
9077         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
9078           Don't format for the uncommon terminal width of 84 characters.
9079
9080 2007-04-06  Wim Taymans  <wim@fluendo.com>
9081
9082         * gst/gstpipeline.c: (reset_stream_time),
9083         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
9084         Only try to select a different pipeline clock when we went back to
9085         PAUSED and not when we merely got flushed.
9086
9087 2007-04-05  Michael Smith  <msmith@fluendo.com>
9088
9089         * tools/gst-launch.1.in:
9090           fractions are better supported in gstreamer than ractions, so
9091           suggest using those.
9092
9093 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9094
9095         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
9096
9097         * po/LINGUAS:
9098         * po/da.po:
9099           Added Danish translation.
9100
9101 2007-04-05  Wim Taymans  <wim@fluendo.com>
9102
9103         * libs/gst/base/gstbasesink.c:
9104         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
9105         Fix leak caused when refusing newsegment after EOS.
9106
9107         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9108         (gst_fake_sink_init), (gst_fake_sink_set_property),
9109         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
9110         (gst_fake_sink_render), (gst_fake_sink_change_state):
9111         * plugins/elements/gstfakesink.h:
9112         Add num-buffers property to make the element generate EOS after a
9113         configurable amount of buffers.
9114         API: fakesink::num-buffers property.
9115
9116         * tests/check/elements/fakesink.c: (GST_START_TEST),
9117         (fakesink_suite):
9118         Fix GstBus leak in test.
9119         Test for fakesink num-buffers.
9120
9121 2007-04-05  Wim Taymans  <wim@fluendo.com>
9122
9123         * libs/gst/base/gstbasesink.c:
9124         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
9125         (gst_base_sink_change_state):
9126         Don't accept anything after an EOS, return UNEXPECTED instead.
9127
9128         * tests/check/elements/fakesink.c: (GST_START_TEST),
9129         (fakesink_suite):
9130         Unit test for new EOS behaviour.
9131
9132 2007-04-05  Wim Taymans  <wim@fluendo.com>
9133
9134         * gst/gstelement.c: (gst_element_get_request_pad):
9135         Make padtemplates also work when they don't contain %s or %d.
9136
9137 2007-04-05  Wim Taymans  <wim@fluendo.com>
9138
9139         * docs/gst/gstreamer-sections.txt:
9140         * gst/gstclock.c: (gst_clock_adjust_unlocked),
9141         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
9142         * gst/gstclock.h:
9143         Improve _adjust_unlocked() so that it overflows less.
9144         Add gst_clock_unadjust_unlocked to convert from external time to
9145         internal time based on calibration.
9146         Add some more debug.
9147         API: GstClock::gst_clock_unadjust_unlocked()
9148
9149 2007-04-03  Wim Taymans  <wim@fluendo.com>
9150
9151         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9152
9153         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9154         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
9155         when releasing sink pad. Fixes #425400.
9156
9157 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
9158
9159         * docs/random/ensonic/dynlink.txt:
9160           More work on proposal for new core api.
9161
9162         * docs/libs/gstreamer-libs-sections.txt:
9163         * libs/gst/base/gstbasetransform.h:
9164           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
9165           
9166         * libs/gst/controller/gstcontroller.c:
9167         (on_object_controlled_property_changed),
9168         (gst_controller_sync_values),
9169         (gst_controller_set_interpolation_mode):
9170         * libs/gst/controller/gstcontroller.h:
9171           Less verbose logging add docs for unimplemented parts and correctly
9172           return when using unavailable parts.
9173
9174 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9175
9176         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
9177         Move all the debug to the CLOCK category, and associate it with
9178         the clock object.
9179
9180 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9181
9182         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
9183         Make take_buffer a bit quicker by removing redundant checks
9184         caused by calling gst_adapter_take.
9185
9186 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9187
9188         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
9189           Don't leak GCond.
9190
9191         * tests/check/Makefile.am:
9192         * tests/check/elements/.cvsignore:
9193         * tests/check/elements/multiqueue.c: (setup_multiqueue),
9194         (GST_START_TEST), (multiqueue_suite):
9195           Add some dead simple unit tests for the 'multiqueue' element
9196           (some bits don't work yet and are disabled for now).
9197
9198 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9199
9200         * gst/gstelement.c: (gst_element_get_request_pad),
9201         (gst_element_class_get_request_pad_template):
9202           Make gst_element_get_request_pad() create request pads only for
9203           request pad templates and not for, say, sometimes pad templates.
9204
9205 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
9206
9207         * docs/design/draft-klass.txt:
9208           Add example that needs more thinking.
9209         
9210         * docs/design/draft-missing-plugins.txt:
9211           More thoughts about wrapper plugins.
9212         
9213         * docs/random/ensonic/embedded.txt:
9214         * docs/random/ensonic/profiling.txt:
9215           More design work.
9216
9217 2007-03-25  Wim Taymans  <wim@fluendo.com>
9218
9219         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
9220         (gst_base_src_loop):
9221         Only push the segment events in the PLAYING state for live sources.
9222
9223 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
9224
9225         * gst/gstpipeline.c: (gst_pipeline_change_state):
9226         Modify the clock distribution path in PAUSED->PLAYING so that we 
9227         never attempt to choose a new clock unless we're actually leaving
9228         the PAUSED state for the first time. This prevents choosing a
9229         different clock when the state_change gets called for a 2nd time due
9230         to some element doing an async state change.
9231
9232 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9233
9234         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
9235         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
9236         (gst_pad_chain_unchecked), (gst_pad_push):
9237         Revert last commit. This needs some more thoughts.
9238
9239 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9240
9241         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
9242         (gst_pad_chain_unchecked), (gst_pad_push):
9243         Check in set_caps if the caps are compatible with the pad and remove
9244         two functions that are redundant now. Fixes #421543.
9245
9246 2007-03-22  Wim Taymans  <wim@fluendo.com>
9247
9248         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9249         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
9250         Unref some more to make valgrind happy.
9251
9252 2007-03-22  Wim Taymans  <wim@fluendo.com>
9253
9254         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
9255         (gst_system_clock_id_wait_jitter),
9256         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9257         Fix anoying regression that survived a few releases. When adding an
9258         async entry while blocking on a sync entry, the sync entry will unblock
9259         but still be busy, so it should continue to wait instead of returning
9260         _BUSY to the app.
9261         Add some comments here and there.
9262
9263         * tests/check/gst/gstsystemclock.c: (mixed_thread),
9264         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
9265         Add testcase for this.
9266
9267 2007-03-22  Wim Taymans  <wim@fluendo.com>
9268
9269         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9270         Handle errors from the clock sync better, only UNSCHEDULED indicates a
9271         WRONG_STATE and can silently pause the task. All other cases should
9272         error out.
9273
9274 2007-03-22  Wim Taymans  <wim@fluendo.com>
9275
9276         Patch by: Ville Syrjala <syrjala at sci dot fi>
9277
9278         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
9279         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
9280         Improve debugging.
9281
9282 2007-03-21  Michael Smith  <msmith@fluendo.com>
9283
9284         * docs/pwg/advanced-types.xml:
9285           Fix some errors in the typefinding docs pointed out on irc.
9286
9287 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
9288
9289         * libs/gst/base/gstbasesrc.c:
9290         Clarify FIXME comment in the face of having added unlock_stop()
9291
9292 2007-03-21  Wim Taymans  <wim@fluendo.com>
9293
9294         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
9295         Prepare for release where we warn against possible app breakage in the
9296         case of live pipelines along with an env var to enable/disable live
9297         preroll mode (GST_COMPAT=[no-]live-preroll).
9298
9299 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9300
9301         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
9302         So we should use correct constants for checking for None offset.
9303
9304 2007-03-20  Wim Taymans  <wim@fluendo.com>
9305
9306         * docs/design/part-block.txt:
9307         Mention the fact that the newly switched element should be set to at
9308         least PAUSED.
9309
9310 2007-03-20  Wim Taymans  <wim@fluendo.com>
9311
9312         * gst/gst.c:
9313         Fix compilation with registry disabled as spotted by Saur.
9314
9315 2007-03-20  Wim Taymans  <wim@fluendo.com>
9316
9317         Patch by: Olivier Crete <tester at tester dot ca>
9318
9319         * gst/gstelement.c: (gst_element_sync_state_with_parent):
9320         Look at the pending state too when syncing the element state to the
9321         parent. Fixes #420133.
9322
9323 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
9324
9325         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9326         (gst_base_sink_change_state):
9327         * libs/gst/base/gstbasesink.h:
9328         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9329         (gst_base_src_default_event), (gst_base_src_unlock_stop),
9330         (gst_base_src_deactivate):
9331         * libs/gst/base/gstbasesrc.h:
9332         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
9333         for sub-classes to correctly clear any state they set trying to
9334         unlock, such as clearing out unlock commands from a command fd.
9335         API: basesrc::unlock_stop
9336         API: basesink::unlock_stop
9337
9338         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
9339         (gst_fd_sink_render), (gst_fd_sink_unlock),
9340         (gst_fd_sink_unlock_stop):
9341         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
9342         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
9343         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
9344
9345         Implement unlock_stop in fdsrc and fdsink.
9346         Implement seeking in fdsrc when a seekable fd is passed, as in
9347         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
9348
9349 2007-03-19  Wim Taymans  <wim@fluendo.com>
9350
9351         Patch by: Evan Nemerson <evan at coeus dash group dot com>
9352
9353         * gst/gstelement.c: (gst_element_class_init):
9354         Fix pad-added and pad-removed signal signatures so that the pad type is
9355         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
9356
9357 2007-03-19  Wim Taymans  <wim@fluendo.com>
9358
9359         * docs/gst/gstreamer-sections.txt:
9360         Add new element field and method.
9361
9362         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9363         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
9364         (gst_bin_recalc_state), (gst_bin_get_state_func),
9365         (gst_bin_element_set_state), (gst_bin_change_state_func),
9366         (gst_bin_continue_func), (bin_bus_handler),
9367         (bin_push_state_continue), (bin_handle_async_start),
9368         (bin_handle_async_done), (gst_bin_handle_message_func):
9369         Make async state changes a bit smarter by using new ASYNC_START and
9370         ASYNC_DONE messages. This reduces the number of times we run the state
9371         recalculation thread.
9372         Don't change state of element with a pending ASYNC_START message.
9373         Deprecate STATE_DIRTY messages.
9374         
9375         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
9376         (gst_element_get_state_func), (gst_element_continue_state),
9377         (gst_element_lost_state), (gst_element_set_state_func),
9378         (gst_element_change_state):
9379         * gst/gstelement.h:
9380         Keep the state that was last set by the app in a new element field.
9381         Don't allow state changes when handling an element event.
9382         Post ASYNC_START and ASYNC_DONE messages.
9383         Change lost_state so that we go to PAUSED and wait for the parent to set
9384         us to PLAYING again (so latency calculation can be performed)
9385         Export gst_element_change_state() method so that subclasses can use it.
9386         API: gst_element_change_state()
9387         API: GST_STATE_TARGET
9388
9389         * gst/gstpipeline.c: (gst_pipeline_class_init),
9390         (reset_stream_time), (gst_pipeline_change_state),
9391         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
9392         Using the new ASYNC_START message we can reset the base_time when
9393         needed. This can then be used to implement base_time redistribution in
9394         flushing seeks so that we can remove the explicit seek handling.
9395         Perform latency query and configuration when going to PLAYING.
9396
9397         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9398         (gst_base_sink_query), (gst_base_sink_change_state):
9399         Post new ASYNC_START/ASYNC_DONE messages.
9400
9401         * tests/check/generic/sinks.c: (GST_START_TEST):
9402         Fix test because the bin will not set the async element to PLAYING right
9403         away.
9404
9405         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
9406         Make the message check a little stronger.
9407         Handle ASYNC messages.
9408
9409         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
9410         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
9411         Expect ASYNC_DONE messages.
9412
9413 2007-03-19  Wim Taymans  <wim@fluendo.com>
9414
9415         * docs/gst/gstreamer-sections.txt:
9416         * gst/gstmessage.c: (gst_message_new_async_start),
9417         (gst_message_new_async_done), (gst_message_parse_info),
9418         (gst_message_parse_async_start):
9419         * gst/gstmessage.h:
9420         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
9421         support.
9422
9423 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
9424
9425         * tools/gst-inspect.c:
9426         (print_plugin_automatic_install_info_codecs):
9427           Now that we don't check for the 'Codec' keyword any longer in the
9428           klass, we shouldn't spew a warning if the klass isn't a decoder or
9429           encoder (since it might be a Source/Network, for example).
9430
9431 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
9432
9433         * tools/gst-inspect.c:
9434         (print_plugin_automatic_install_info_codecs):
9435           Don't require decoder/demuxer/depayloader elements or
9436           encoder/muxer/paylader elements to have 'Codec' as part of their
9437           factory class string when introspecting a plugin's capabilities.
9438           draft-klass.txt mentions that it might be removed in future, and
9439           flump3dec doesn't have it as part of its class string, so chances
9440           are others might also not have it.
9441
9442 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9443
9444         * po/af.po:
9445         * po/az.po:
9446         * po/bg.po:
9447         * po/ca.po:
9448         * po/cs.po:
9449         * po/de.po:
9450         * po/en_GB.po:
9451         * po/fr.po:
9452         * po/it.po:
9453         * po/nb.po:
9454         * po/nl.po:
9455         * po/ru.po:
9456         * po/sq.po:
9457         * po/sr.po:
9458         * po/sv.po:
9459         * po/tr.po:
9460         * po/uk.po:
9461         * po/vi.po:
9462         * po/zh_CN.po:
9463         * po/zh_TW.po:
9464           Update translations from translation project
9465
9466 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
9467
9468         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
9469         (gst_child_proxy_set_property):
9470           Invert precondition check to be alike the ones in the mimiced gobject
9471           api.
9472
9473 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
9474
9475         * docs/design/draft-tagreading.txt:
9476         * docs/random/ensonic/audiobaseclasses.txt:
9477           Do some Architect work.
9478
9479         * gst/gstobject.c: (gst_object_set_name):
9480           Add a WARNING.
9481
9482         * gst/gstpad.c:
9483           Add docs that point from gst_pad_get_range to gst_pad_pull_range
9484
9485 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
9486
9487         * gst/gstsystemclock.c: (gst_system_clock_init),
9488         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
9489         Defer starting the async system clock thread until the first async
9490         wait is scheduled. Fixes #414986.
9491
9492 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
9493
9494         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
9495         (gst_single_queue_free):
9496           Fix small leak (free GstSingleQueue structure too, not only contents).
9497
9498 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
9499
9500         * gst/gstbin.c:(gst_bin_add):
9501         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
9502         * win32/common/libgstbase.def:
9503         * win32/common/libgstreamer.def:
9504         Add new exported functions.
9505
9506 2007-03-09  Wim Taymans  <wim@fluendo.com>
9507
9508         * docs/plugins/gstreamer-plugins-sections.txt:
9509         Fix GstTee docs.
9510
9511 2007-03-09  Wim Taymans  <wim@fluendo.com>
9512
9513         * docs/gst/gstreamer-sections.txt:
9514         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
9515         * gst/gstbuffer.h:
9516         Add metadata copy functions. Fixes #393099.
9517         API: gst_buffer_copy_metadata()
9518
9519         * gst/gstutils.c: (gst_buffer_stamp):
9520         * libs/gst/base/gstbasetransform.c:
9521         (gst_base_transform_prepare_output_buffer):
9522         Use new metadata copy functions.
9523
9524 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9525
9526         * plugins/elements/gstidentity.c: (gst_identity_class_init),
9527         (gst_identity_init), (gst_identity_check_perfect),
9528         (gst_identity_check_imperfect_timestamp),
9529         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9530         (gst_identity_set_property), (gst_identity_get_property):
9531         * plugins/elements/gstidentity.h:
9532         Separate out check-imperfect-timestamp and check-imperfect-offset.
9533         Put back check-perfect as it was to keep compatibility.
9534
9535 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
9536
9537         * gst/gstelement.c: (gst_element_dispose):
9538         There's no need to warn if VOID_PENDING is not NONE here, as
9539         long as the state is NULL it's ok, and that's checked immediately
9540         above.
9541
9542 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9543
9544         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9545         Fix check for perfect stream to ignore buffers with -1 
9546         offsets/offset ends when checking data contiguity.
9547
9548 2007-03-08  Wim Taymans  <wim@fluendo.com>
9549
9550         * tools/gst-launch.c: (event_loop):
9551         Print INFO messages.
9552
9553 2007-03-08  Wim Taymans  <wim@fluendo.com>
9554
9555         * libs/gst/base/gstbasetransform.c:
9556         (gst_base_transform_sink_eventfunc),
9557         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9558         (gst_base_transform_activate):
9559         * libs/gst/base/gstbasetransform.h:
9560         Add support for dropping buffers with custom GstFlowReturn.
9561         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
9562         buffers or dropped buffers.
9563
9564         * docs/libs/gstreamer-libs-sections.txt:
9565         docs for new custom return code.
9566
9567         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9568         Use drop support in base class to implement drop-probability.
9569
9570 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
9571
9572         * gst/gst.c: (load_plugin_func):
9573         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
9574         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9575         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9576           Remove newlines at end of debug log strings.
9577
9578 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9579
9580         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9581         Only post bus message at max, once per buffer received.
9582
9583 2007-03-07  Wim Taymans  <wim@fluendo.com>
9584
9585         * docs/design/Makefile.am:
9586         * docs/design/part-synchronisation.txt:
9587         Add doc about synchronisation
9588
9589         * docs/design/draft-latency.txt:
9590         * docs/design/part-TODO.txt:
9591         * docs/design/part-clocks.txt:
9592         * docs/design/part-events.txt:
9593         * docs/design/part-gstbus.txt:
9594         * docs/design/part-gstpipeline.txt:
9595         * docs/design/part-live-source.txt:
9596         * docs/design/part-messages.txt:
9597         * docs/design/part-overview.txt:
9598         * docs/design/part-streams.txt:
9599         * docs/design/part-trickmodes.txt:
9600         Documentation updates.
9601
9602 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9603
9604         * gstreamer.doap:
9605         Update the doap file.
9606
9607 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9608
9609         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9610         Rename non-perfect to imperfect for Mike and for the sanctity of the
9611         language.
9612         Also make sure bus message gets emitted for data-incontiguities.
9613
9614 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9615
9616         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
9617         (gst_identity_start):
9618         * plugins/elements/gstidentity.h:
9619         Emit bus message if check-perfect is true and we encounter a
9620         non-perfect stream between 2 consecutive buffers.
9621         Fixes #415394.
9622
9623 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9624
9625         * configure.ac:
9626         Back to CVS
9627
9628 === release 0.10.12 ===
9629
9630 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
9631
9632         * configure.ac:
9633           releasing 0.10.12, "Inevitable Demise"
9634
9635 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
9636
9637         * configure.ac:
9638          Version 0.10.11.2 (0.10.12 pre-release)
9639          Bump libtool versioning.
9640
9641 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
9642
9643         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9644           Log flow-names and not numbers.
9645
9646 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9647
9648         * configure.ac:
9649           Convert to new AG_GST style.
9650
9651 2007-02-28  Wim Taymans  <wim@fluendo.com>
9652
9653         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
9654         Don't unref query twice.
9655
9656 2007-02-28  Wim Taymans  <wim@fluendo.com>
9657
9658         * gst/gstvalue.c: (gst_value_transform_object_string),
9659         (_gst_value_initialize):
9660         Implement GstObject -> string transform so we print object names
9661         when serializing GValues containing GstObjects.
9662
9663 2007-02-28  Wim Taymans  <wim@fluendo.com>
9664
9665         * docs/gst/gstreamer-sections.txt:
9666         Add new stuff to docs.
9667
9668 2007-02-28  Wim Taymans  <wim@fluendo.com>
9669
9670         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
9671         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
9672         (gst_base_sink_change_state):
9673         Improve latency query code.
9674         Don't leak latency events.
9675
9676         * tests/check/gst/gstbin.c: (GST_START_TEST):
9677         Improve debugging.
9678
9679 2007-02-28  Wim Taymans  <wim@fluendo.com>
9680
9681         * gst/gstelement.c: (gst_element_message_full),
9682         (gst_element_get_state_func):
9683         * gst/gstelement.h:
9684         Improve docs a little. Added Since: for new macro.
9685
9686         * gst/gstobject.c: (gst_object_sink):
9687         * gst/gstpipeline.c: (gst_pipeline_change_state),
9688         (gst_pipeline_set_new_stream_time):
9689         * gst/gstpipeline.h:
9690         Improve debugging and docs.
9691
9692         * gst/gstutils.c: (gst_element_state_change_return_get_name):
9693         Improve debugging.
9694
9695 2007-02-28  Wim Taymans  <wim@fluendo.com>
9696
9697         * gst/gstelement.c: (gst_element_message_full),
9698         (gst_element_set_locked_state), (gst_element_get_state_func),
9699         (gst_element_change_state):
9700         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
9701         Documentation updates.
9702         Small code cleanups.
9703
9704         * gst/gstmessage.c: (gst_message_new_info),
9705         (gst_message_parse_info):
9706         * gst/gstmessage.h:
9707         API: gst_message_new_info()
9708         API: gst_message_parse_info()
9709         Add INFO message create and parse code.
9710
9711 2007-02-28  Wim Taymans  <wim@fluendo.com>
9712
9713         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
9714         (bin_query_latency_done):
9715         Also report the live parameter of a latency query.
9716
9717 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9718
9719         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
9720           Copy the current generic/states example from -base and adapt so
9721           we can use the exact same code everywhere.
9722           Check a STATES_IGNORE_ELEMENTS env var which can be used
9723           to ignore certain element factories for this test, which is
9724           what is being done in -base
9725         * tests/check/Makefile.am:
9726           Mention this environment variable.
9727
9728 2007-02-27  Wim Taymans  <wim@fluendo.com>
9729
9730         * docs/gst/gstreamer-sections.txt:
9731         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9732         (gst_bus_timed_pop), (gst_bus_pop):
9733         * gst/gstbus.h:
9734         API: gst_bus_timed_pop()
9735         Implement gst_bus_timed_pop() to do a blocking timed wait for a
9736         message to arrive on the bus.
9737
9738         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
9739         (gst_bus_suite):
9740         Two unit tests for new _timed_pop() function.
9741
9742 2007-02-23  Wim Taymans  <wim@fluendo.com>
9743
9744         * gst/gstpipeline.c: (gst_pipeline_change_state),
9745         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
9746         Don't ref a NULL clock in _provide_clock_func().
9747         Don't allow an INVALID delay.
9748         Don't try to calculate base_time with an invalid start_time.
9749         Also distribute and notify a NULL clock when it was selected.
9750
9751         * tools/gst-launch.c: (event_loop):
9752         Don't crash when a NULL clock was selected in the pipeline.
9753
9754 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
9755
9756         * docs/design/Makefile.am:
9757         * docs/design/draft-missing-plugins.txt:
9758         * docs/random/draft-missing-plugins.txt:
9759           Some small updates: update plugin system identifier prefix
9760           ('gstreamer.net' to 'gstreamer'), mention our new install
9761           API in libgstbaseutils rather than libgimme-codec, add
9762           reference to the online docs.
9763
9764 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9765
9766         * win32/common/config.h:
9767           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
9768           use moap cl ci to only check in what is mentioned in the ChangeLog.
9769
9770 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9771
9772         * docs/gst/gstreamer-sections.txt:
9773         * gst/gstelement.h:
9774           Fix up documentation to link to the correct GstGError section.
9775           Add GST_ELEMENT_INFO macro since someone else added a Info message.
9776
9777 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9778
9779         * tools/gst-launch.c: (event_loop):
9780           Make sure that we actually show the important message part of a
9781           warning message.
9782           No need to check if the gerror is not NULL to free; first of all
9783           g_free accepts NULL; and second the default error handler would
9784           segfault if gerror was NULL.
9785
9786 2007-02-21  Wim Taymans  <wim@fluendo.com>
9787
9788         * docs/gst/gstreamer-sections.txt:
9789         Removed docs as well.
9790
9791 2007-02-21  Wim Taymans  <wim@fluendo.com>
9792
9793         * gst/gstmessage.c: (gst_message_parse_duration):
9794         * gst/gstmessage.h:
9795         Remove new messages for release.
9796
9797 2007-02-20  Wim Taymans  <wim@fluendo.com>
9798
9799         * docs/design/part-gstghostpad.txt:
9800         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
9801         (gst_ghost_pad_new_full):
9802         Make the ghostpad a parent of the internal pad again for better backward
9803         compatibility. Don't write code that relies on this however.
9804
9805         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
9806         (gst_pad_link_check_hierarchy):
9807         Require that parents should be GstElements in the hierarchy check.
9808
9809 2007-02-20  Wim Taymans  <wim@fluendo.com>
9810
9811         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
9812         (gst_bin_change_state_func), (bin_query_min_max_init),
9813         (bin_query_latency_fold), (bin_query_latency_done),
9814         (gst_bin_query):
9815         Improve debug info.
9816         Implement latency query.
9817
9818 2007-02-20  Wim Taymans  <wim@fluendo.com>
9819
9820         * docs/design/part-gstghostpad.txt:
9821         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
9822         (gst_ghost_pad_internal_do_activate_push),
9823         (gst_ghost_pad_internal_do_activate_pull),
9824         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9825         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
9826         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
9827         Do not set the internal pad as a parent anymore so we can avoid
9828         hierarchy linking errors when the ghostpad has no parent yet. This also
9829         fixes failed activation because of unlinked internal pads, which in
9830         turn fixes the impossible case where you have to activate a pad before
9831         you can add it to a running element.
9832         Also fix the docs.
9833
9834         * gst/gstpad.c: (pre_activate), (post_activate),
9835         (gst_pad_set_active), (gst_pad_activate_pull),
9836         (gst_pad_activate_push), (gst_pad_check_pull_range):
9837         Add some more debug info.
9838         Mark activation mode in pre_activate so that we don't try to activate in
9839         endless loops. Fixes #385084.
9840
9841 2007-02-19  Wim Taymans  <wim@fluendo.com>
9842
9843         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
9844         (gst_base_transform_check_get_range):
9845         Implement a checkgetrange function instead of relying on the default
9846         core behaviour that assumes we can operate in pull mode if we have a
9847         getrange function. First step at fixing #385084.
9848
9849 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
9850
9851         * gst/gstchildproxy.h:
9852         * libs/gst/base/gstbasesink.h:
9853         * libs/gst/base/gstbasesrc.h:
9854         * libs/gst/base/gstbasetransform.h:
9855         More docs coverage and some ChangeLog surgery (add missing names)
9856
9857 2007-02-15  Wim Taymans  <wim@fluendo.com>
9858
9859         * docs/design/part-TODO.txt:
9860         * docs/design/part-activation.txt:
9861         * docs/design/part-block.txt:
9862         * docs/design/part-buffering.txt:
9863         * docs/design/part-clocks.txt:
9864         * docs/design/part-element-source.txt:
9865         * docs/design/part-events.txt:
9866         * docs/design/part-gstbin.txt:
9867         * docs/design/part-gstbus.txt:
9868         * docs/design/part-gstpipeline.txt:
9869         * docs/design/part-live-source.txt:
9870         * docs/design/part-messages.txt:
9871         * docs/design/part-overview.txt:
9872         * docs/design/part-qos.txt:
9873         * docs/design/part-query.txt:
9874         * docs/design/part-states.txt:
9875         * docs/design/part-trickmodes.txt:
9876         Some doc updates. Start renaming from stream_time to running_time where
9877         it was used wrongly.
9878
9879 2007-02-15  Wim Taymans  <wim@fluendo.com>
9880
9881         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
9882         Answer LATENCY query.
9883
9884 2007-02-15  Wim Taymans  <wim@fluendo.com>
9885
9886         * tests/check/gst/gstevent.c: (event_probe), (test_event),
9887         (GST_START_TEST):
9888         Improve debugging.
9889
9890 2007-02-15  Wim Taymans  <wim@fluendo.com>
9891
9892         * gst/gstpad.c: (gst_pad_get_internal_links_default),
9893         (gst_pad_dispatcher):
9894         Improve debugging of default pad dispatcher and query functions.
9895
9896 2007-02-15  Wim Taymans  <wim@fluendo.com>
9897
9898         * docs/gst/gstreamer-sections.txt:
9899         Remove old unused method.
9900
9901 2007-02-13  Wim Taymans  <wim@fluendo.com>
9902
9903         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9904         Fix check
9905
9906 2007-02-13  Wim Taymans  <wim@fluendo.com>
9907
9908         * docs/design/part-seeking.txt:
9909         Some small update.
9910
9911         * gst/gstsegment.c: (gst_segment_set_seek):
9912         Revert old bogus change that should make seeking work again.
9913
9914 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
9915
9916         * docs/random/ensonic/dynlink.txt:
9917         * docs/random/ensonic/interfaces.txt:
9918         * docs/random/ensonic/receipies.txt:
9919           Possible dynamic reconnection api, plus some type fixes the other two
9920           docs.
9921
9922 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
9923
9924         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9925         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9926         Also check for an absolute path following file:// in the filesrc
9927         element. Remove redundant check and call g_path_is_absolute() on the
9928         unescaped location.
9929
9930 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
9931
9932         * docs/design/draft-klass.txt:
9933           Add existing category analysis.
9934           
9935         * gst/gstcaps.c:
9936           Fix doc example, framerate is a fraction.
9937
9938 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
9939
9940         * configure.ac:
9941         * docs/gst/Makefile.am:
9942         * docs/gst/gstreamer-sections.txt:
9943         * docs/libs/Makefile.am:
9944           Erm, forgot a bunch of --extra-dir.
9945
9946 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
9947
9948         * configure.ac:
9949         * docs/gst/Makefile.am:
9950         * docs/libs/Makefile.am:
9951         * docs/plugins/Makefile.am:
9952           Add crossreferences to glib/gobject docs.
9953
9954 2007-02-12  Wim Taymans  <wim@fluendo.com>
9955
9956         * docs/design/draft-latency.txt:
9957         Small update.
9958
9959         * docs/libs/gstreamer-libs-sections.txt:
9960         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
9961         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
9962         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
9963         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
9964         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
9965         (gst_base_sink_get_position), (gst_base_sink_query),
9966         (gst_base_sink_change_state):
9967         * libs/gst/base/gstbasesink.h:
9968         API: gst_base_sink_query_latency() to let subclasses query the upstream
9969         latency.
9970         API: gst_base_sink_get_latency() to let subclasses query the configured
9971         latency in the sink.
9972         Implement query and set latency.
9973         Update some docs.
9974         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
9975         don't continue preroll when we are flushing. Fixes #405284.
9976
9977         * tests/check/pipelines/stress.c: (change_state_timeout),
9978         (quit_timeout), (GST_START_TEST), (stress_suite):
9979         Test for #405284.
9980
9981 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
9982
9983         Patch by: René Stadler <mail at renestadler de>
9984
9985         * docs/gst/gstreamer-sections.txt:
9986         * gst/gsttaglist.c: (_gst_tag_initialize):
9987         * gst/gsttaglist.h:
9988           API: add GST_TAG_REFERENCE_LEVEL (#403597).
9989
9990 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
9991
9992         * docs/libs/Makefile.am:
9993           Fix path to core docs.
9994
9995         * gst/gstbin.c: (gst_bin_get_by_interface),
9996         (gst_bin_iterate_all_by_interface):
9997           Refix docs by also renaming 'interface' to 'iface' in implementation.
9998
9999         * docs/gst/gstreamer-sections.txt:
10000         * gst/gstcaps.c:
10001         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
10002         * gst/gstchildproxy.h:
10003         * gst/gstelementfactory.c:
10004         * gst/gstpadtemplate.h:
10005         * libs/gst/controller/gstcontroller.c:
10006         (gst_controlled_property_new):
10007           Document more.
10008
10009 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
10010
10011         * gst/gstbin.h:(gst_bin_get_by_interface),
10012         (gst_bin_iterate_all_by_interface):
10013         Replace interface parameter name by iface as interface is 
10014         a reserved keyword in Visual Studio for C++ projects so it removes
10015         a build error for application developpers using VS.
10016         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
10017         Fix a bug on Windows in uri format check. Now the prefix checked
10018         is file:// and next we check if the path after file:// is absolute.
10019         * win32/common/libgstbase.def:
10020         * win32/common/libgstdataprotocol.def:
10021         * win32/common/libgstgstreamer.def:
10022         Add new exported functions.
10023
10024 2007-02-09  Andy Wingo  <wingo@pobox.com>
10025
10026         * tests/check/pipelines/simple-launch-lines.c
10027         (simple_launch_lines_suite, test_tee): Disable tee test until I
10028         have time to fix it :-(
10029
10030         * tests/check/Makefile.am (noinst_HEADERS): 
10031         * tests/check/libs/libsabi.c: 
10032         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
10033         * tests/check/gst/gstabi.c: 
10034         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
10035
10036         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
10037         tests for push and pull tee behavior.
10038
10039         * plugins/elements/gsttee.h: 
10040         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
10041         mark as deprecated as well as unimplemented. It was a crack idea.
10042         Add support for tee operating in pull mode, off by default.
10043
10044         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
10045         normal-case logs down to LOG, raise errors to WARNING.
10046         (gst_registry_xml_read_cache): Don't log before calling a function
10047         that logs.
10048
10049         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
10050         exit (registry finalize).
10051         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
10052         DEBUG log when we emit signals that people don't even have the
10053         chance to connect to.
10054         (gst_registry_scan_path_level): Less logging in the normal case.
10055
10056 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10057
10058         Patch by: Michal Benes <michal dot benes at itonis dot tv>
10059
10060         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
10061         Correctly generate EOS for non-seekable files. We don't have a total
10062         length for them and would get an unexpected end of file if we only
10063         special-cased for regular files. (Fixes: #404569)
10064
10065 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
10066
10067         * tests/check/elements/filesrc.c: (GST_START_TEST),
10068         (filesrc_suite):
10069         Add unit test for the GstURIHandler interface in filesrc. This also
10070         tests the newly added file://localhost/foo/bar support.
10071
10072 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
10073
10074         * gst/gstelementfactory.h:
10075           The klass string is not a hierarchy. Add reference to the design doc
10076           for more information and common types.
10077
10078 2007-02-02  Wim Taymans  <wim@fluendo.com>
10079
10080         * gst/gstquery.c: (gst_query_new_latency):
10081         Remove old structure field.
10082
10083 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
10084
10085         * tools/gst-launch.1.in:
10086           Give example for network streaming (#351998)
10087
10088 2007-02-02  Wim Taymans  <wim@fluendo.com>
10089
10090         * docs/gst/gstreamer-sections.txt:
10091         Add docs for new methods.
10092
10093         * gst/gstevent.c: (gst_event_new_latency),
10094         (gst_event_parse_latency):
10095         * gst/gstevent.h:
10096         Add new LATENCY event to configure latency in a pipeline.
10097         API: gst_event_new_latency
10098         API: gst_event_parse_latency
10099
10100         * gst/gstmessage.c: (gst_message_new_buffering),
10101         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
10102         (gst_message_new_latency), (gst_message_parse_buffering),
10103         (gst_message_parse_lost_preroll):
10104         * gst/gstmessage.h:
10105         Added messages used in draft-latency.
10106         API: gst_message_new_lost_preroll
10107         API: gst_message_parse_lost_preroll
10108         API: gst_message_new_prerolled
10109         API: gst_message_new_latency
10110
10111         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
10112         (gst_query_parse_latency):
10113         * gst/gstquery.h:
10114         Implemented new latency query as in design doc.
10115         API: gst_query_new_latency
10116         API: gst_query_set_latency
10117         API: gst_query_parse_latency
10118
10119 2007-02-02  Wim Taymans  <wim@fluendo.com>
10120
10121         * docs/design/draft-latency.txt:
10122         Slight redesign to allow for dynamic latency adjustments.
10123
10124         * docs/design/part-negotiation.txt:
10125         Fix some typos.
10126
10127 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
10128
10129         reviewed by: Wim Taymans <wim@fluendo.com>
10130
10131         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10132         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10133         Allow file://localhost/foo/bar URLs and correctly fail for every other
10134         hostname that one sets. This was gnomevfssrc is linked for those if
10135         installed as it can handle it (#403172)
10136
10137 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10138
10139         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10140
10141         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10142         (unref_data), (gst_collect_pads_add_pad_full):
10143         * libs/gst/base/gstcollectpads.h:
10144         Don't put the previously added destroy notify in the GstCollectData
10145         struct as all it's padding is already used and we don't want to break
10146         ABI. Instead put in the pad's GObject data for now. This should be
10147         cleaned up for 0.11 (#402393).
10148
10149 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10150
10151         reviewed by: Wim Taymans <wim@fluendo.com>
10152
10153         * docs/libs/gstreamer-libs-sections.txt:
10154         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10155         (unref_data), (gst_collect_pads_add_pad),
10156         (gst_collect_pads_add_pad_full):
10157         * libs/gst/base/gstcollectpads.h:
10158         API: Add function to specify a destroy notification for custom
10159         GstCollectData when adding new pads in GstCollectPads (#402393).
10160
10161 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
10162
10163         * po/sv.po:
10164           Update Swedish translation (#378255).
10165
10166 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10167
10168         * docs/design/draft-klass.txt:
10169           Fix the previous change, this is a list of categories and not a hierarchy.
10170
10171 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10172
10173         * docs/design/draft-klass.txt:
10174           Add info about how to get a list of used classes.
10175
10176 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
10177
10178         * plugins/elements/gsttypefindelement.c:
10179         (gst_type_find_element_chain_do_typefinding),
10180         (gst_type_find_element_change_state):
10181           Don't leak found caps in chain function (no idea why that never
10182           showed up as a leak anywhere).
10183
10184 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
10185
10186         * gst/gstplugin.h:
10187           Fix and expand GstPluginDesc API docs.
10188
10189 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10190
10191         * gst/gstcaps.c:
10192         * gst/gstelementfactory.c:
10193         * gst/gstpadtemplate.h:
10194           api doc fixes
10195
10196         * libs/gst/controller/gstcontroller.c:
10197         (gst_controlled_property_new):
10198         * tests/examples/controller/audio-example.c:
10199           comment fixes
10200
10201 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10202
10203         * configure.ac:
10204           comment about refining the xml deps
10205
10206         * docs/manuals.mak:
10207           comments about moving away from jade for docs
10208         
10209         * gst/gst.c:
10210           recommit the ifdefs to use the binary registry
10211         
10212         * gst/gstbin.c: (gst_bin_change_state_func):
10213           this break is obsolete
10214
10215         * gst/gstelementfactory.h:
10216           better GST_ELEMENT_DETAILS docs, add comment about translation
10217
10218         * gst/gstinfo.h:
10219           remove eol slash
10220
10221         * gst/gstobject.c: (gst_signal_object_get_type):
10222           add G_UNLIKELY as usual
10223
10224         * gst/gstpad.c: (gst_pad_event_default):
10225           add fall trhu comment
10226
10227         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10228         (gst_registry_binary_initialize_magic),
10229         (gst_registry_binary_save_string),
10230         (gst_registry_binary_save_pad_template),
10231         (gst_registry_binary_save_feature),
10232         (gst_registry_binary_save_plugin),
10233         (gst_registry_binary_write_cache),
10234         (gst_registry_binary_check_magic),
10235         (gst_registry_binary_load_pad_template),
10236         (gst_registry_binary_load_feature),
10237         (gst_registry_binary_load_plugin),
10238         (gst_registry_binary_read_cache):
10239           comment typo and formatting
10240
10241         * gst/gstutils.c: (gst_element_state_get_name),
10242         (gst_element_state_change_return_get_name):
10243           remove obsolete breaks
10244
10245         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10246           add FIXME 0.11 and remove cpp comment
10247
10248 2007-01-29  Edward Hervey  <edward@fluendo.com>
10249
10250         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10251         Fix print statement in an even more portable way.
10252
10253 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
10254
10255         * docs/gst/gstreamer-sections.txt:
10256         * gst/gstutils.h:
10257           API: add GST_ROUND_DOWN_* macros (#401781).
10258
10259 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
10260
10261         * docs/gst/gstreamer.types.in:
10262         * gst/gstregistry.c: (gst_registry_class_init):
10263           Document registry signals and make gtk-doc pick them up (#401381).
10264
10265 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10266
10267         * docs/pwg/building-testapp.xml:
10268           Add some audioconverts and audioresample to the pipeline, and some
10269           more comments and error handling.
10270
10271 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10272
10273         * docs/manual/manual.xml:
10274         * docs/pwg/pwg.xml:
10275           Fix typo (#400987).
10276
10277 2007-01-26  Wim Taymans  <wim@fluendo.com>
10278
10279         * gst/gstcaps.c: (gst_static_caps_get):
10280         Init caps flags too.
10281
10282 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
10283
10284         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
10285
10286         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10287         If not using mmap'ed files try to seek to the end instead of the
10288         start to determine whether we can seek at all. This fixes the case
10289         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
10290         seeks for everything afterwards fail. Fixes #400656
10291
10292 2007-01-25  Wim Taymans  <wim@fluendo.com>
10293
10294         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
10295         Add some refcount debugging.
10296         Make gst_static_caps_get threadsafe, which is needed when autoplugging
10297         in multiple streaming threads.
10298
10299 2007-01-25  Wim Taymans  <wim@fluendo.com>
10300
10301         Patch by: David Schleef <ds at schleef dot org>
10302
10303         * docs/libs/gstreamer-libs-sections.txt:
10304         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
10305         * libs/gst/base/gstadapter.h:
10306         API: gst_adapter_copy() that can reduce the amount of memcpy when
10307         getting data from the adapter. Fixes #388201.
10308
10309 2007-01-25  Edward Hervey  <edward@fluendo.com>
10310
10311         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10312         In print statements, "%x" is for guint. Fixes build on macosx.
10313
10314 2007-01-24  Edward Hervey  <edward@fluendo.com>
10315
10316         * plugins/elements/gstmultiqueue.c:
10317         (gst_multi_queue_loop):
10318         Small fix.
10319         (single_queue_overrun_cb), (single_queue_underrun_cb),
10320         (single_queue_check_full), (gst_single_queue_new):
10321         Implement single queue growth system.
10322         This uses the extra-size properties, and will grow single queues by
10323         that much if one goes full whereas there are others empty. This is
10324         called extra-mode in the code.
10325         When a single queue's levels go back below the initial max-size
10326         limits, it is no longer in extra-mode. This is to ensure we don't
10327         consume too much memory.
10328         Fixes #399875
10329
10330 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
10331
10332         * gst/gst.c: (gst_init_get_option_group):
10333           Make warning about late g_thread_init() calls a bit more explicit,
10334           so that it's more obvious to application developers what they need
10335           to do if a user files a bug against their application.
10336
10337 2007-01-22  Edward Hervey  <edward@fluendo.com>
10338
10339         * plugins/elements/gstmultiqueue.c:
10340         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
10341         Remove previous hack of unsetting the flushing flag for the source pad
10342         instead of activating it. Instead, fix the source pad activate function
10343         so that it no longer depends on having a parent set or not.
10344
10345 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
10346
10347         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
10348
10349         * docs/manual/basics-bus.xml:
10350           Fix example code, gst_element_unref() doesn't exist any longer.
10351
10352 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
10353
10354         Patch by: Mark Nauwelaerts <manauw at skynet be>
10355
10356         * gst/gstpad.c:
10357           Fix two docs typoes (#399094).
10358
10359 2007-01-19  Edward Hervey  <edward@fluendo.com>
10360
10361         * docs/faq/gst-uninstalled:
10362         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
10363         depending on libgstbaseutils can work in uninstalled environment.
10364
10365 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
10366
10367         * gst/gsttaglist.h:
10368         * gst/gsttagsetter.c:
10369         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
10370         statement for new tag.
10371
10372 2007-01-17  Edward Hervey  <edward@fluendo.com>
10373
10374         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
10375         When dynamically creating single queues, activate sinkpad before adding
10376         it.
10377         We should be doing the same thing for the source pad, but we can't
10378         since it would call a method which needs the parent to be set in order
10379         to work propertly. Instead of activating the source pad, we just unset
10380         the flushing flag, which is the minimal requirement for adding a pad
10381         to an element in a state greater than READY.
10382
10383 2007-01-17  Edward Hervey  <edward@fluendo.com>
10384
10385         * docs/faq/gst-uninstalled:
10386         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
10387         Mac OS X.
10388
10389 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
10390
10391         * tests/check/gst/gstabi.c:
10392         * tests/check/gst/struct_hppa.h:
10393         * tests/check/libs/libsabi.c:
10394         * tests/check/libs/struct_hppa.h:
10395           Add ABI structs for HPPA (see #393796).
10396
10397 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
10398
10399         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10400           Actually write ABI structs to the file specified in the GST_ABI
10401           environment variable, as the message we print claims we would.
10402
10403 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10404
10405         * tests/check/gst/gsttask.c:
10406           Fix header comment.
10407
10408 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10409
10410         * gst/gsttaglist.c: (_gst_tag_initialize):
10411           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
10412           previous two entries.
10413
10414 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10415
10416         * docs/gst/gstreamer-sections.txt:
10417         * gst/gsttaglist.c: (_gst_tag_initialize):
10418         * gst/gsttaglist.h:
10419           Add tag support for beat-per-minute.
10420
10421 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10422
10423         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10424         (gst_registry_binary_initialize_magic),
10425         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
10426         (gst_registry_binary_save_pad_template),
10427         (gst_registry_binary_save_feature),
10428         (gst_registry_binary_save_plugin),
10429         (gst_registry_binary_write_cache),
10430         (gst_registry_binary_check_magic),
10431         (gst_registry_binary_load_pad_template),
10432         (gst_registry_binary_load_feature),
10433         (gst_registry_binary_load_plugin),
10434         (gst_registry_binary_read_cache):
10435         * gst/gstregistrybinary.h:
10436           Use glib types, cleanup comments, impement interfaces and uri-types.
10437
10438 2007-01-13  Andy Wingo  <wingo@pobox.com>
10439
10440         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
10441         getrange() to return buffers with other caps, while we fix
10442         demuxers and typefind, or otherwise change part-negotiation.txt.
10443
10444 2007-01-12  Andy Wingo  <wingo@pobox.com>
10445
10446         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
10447         Factor start/stop into this private function instead of partially
10448         in activate functions and partially in the change_state function.
10449         Fixes setup before the element has changed from READY->PAUSED, as
10450         is the case in pull-mode pipelines.
10451         (gst_base_transform_sink_activate_push)
10452         (gst_base_transform_src_activate_pull): Refactor to use
10453         gst_base_transform_activate().
10454         (gst_base_transform_change_state): Removed, not needed any more.
10455
10456         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10457         Truncate before fixating.
10458         
10459         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10460         Don't set_caps() if the result of fixating is ANY, as it's not
10461         supported, and not necessary in the case of a link with no
10462         template caps on either side. Fixes tests/check/libs/basesrc in
10463         some pull-mode tests.
10464
10465         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
10466         (gst_base_transform_init, gst_base_transform_sink_activate_push)
10467         (gst_base_transform_src_activate_pull): 
10468         Track the activation mode.
10469         (gst_base_transform_setcaps): In pull mode, when activating the
10470         src pad, after activating the sink pad, activate the sink pad's
10471         peer, as discussed in part-negotiation.txt.
10472
10473         * libs/gst/base/gstbasesrc.h: 
10474         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
10475         vmethod, as in basesink.
10476
10477         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
10478
10479         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
10480         mode, first proxy the setcaps to the peer pad.
10481         (gst_base_sink_pad_fixate): Add a fixate function that calls the
10482         new fixate vmethod.
10483         (gst_base_sink_default_activate_pull): Rename from
10484         gst_base_sink_activate_pull.
10485         (gst_base_sink_negotiate_pull): New function, performs negotiation
10486         in pull mode before calling ::activate_pull().
10487         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
10488         vmethod instead of the default implementation. I have no idea how
10489         this worked before. Negotiate before calling activate_pull.
10490
10491         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
10492         sink pads in pull mode. In addition to being correct, fixes
10493         filesrc ! decodebin ! identity ! fakesink.
10494         (gst_pad_get_range, gst_pad_pull_range): Don't call
10495         gst_pad_set_caps() if the caps changes; instead error out with
10496         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
10497
10498 2007-01-12  Andy Wingo  <wingo@pobox.com>
10499
10500         * docs/design/part-negotiation.txt: Update with more policy.
10501
10502 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10503
10504         * libs/gst/check/gstbufferstraw.h:
10505         * libs/gst/check/gstcheck.h:
10506           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
10507           belongs.
10508
10509 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10510
10511         * tests/check/Makefile.am:
10512         * tests/check/gst/.cvsignore:
10513         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
10514         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
10515         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
10516         (GST_START_TEST), (gst_tag_setter_suite):
10517           Add minimal unit test for beforementioned GstTagSetter bug.
10518
10519 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10520
10521         Patch by: René Stadler <mail at renestadler dot de>
10522
10523         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10524           gst_tag_list_merge() returns a new list, so it's not the best idea
10525           to ingore its return value. Effectively meant that tags could only
10526           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10527           Also add function guard to require a non-NULL taglist as input (has
10528           always been so due to gst_tag_list_copy(), just making it explicit).
10529
10530 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10531
10532         * docs/random/draft-missing-plugins.txt:
10533           Some additions: mention new API that is supposed to be used at the
10534           various stages; short blob about new gst-inspect introspection
10535           option; mention potential future problem with plugins that have
10536           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
10537
10538 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10539
10540         * tools/gst-inspect.c:
10541         (print_plugin_automatic_install_info_codecs),
10542         (print_plugin_automatic_install_info_protocols),
10543         (print_plugin_automatic_install_info), (main):
10544         Add --print-plugin-auto-install-info option to gst-inspect, so we can
10545         introspect plugin files and get machine-parsable output that corresponds
10546         to the last bit of the missing-plugin installer string (small gotcha:
10547         doesn't take into account ranks).
10548
10549 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
10550
10551         * configure.ac:
10552         * docs/gst/gstreamer-sections.txt:
10553         * gst/Makefile.am:
10554         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
10555         (gst_registry_lookup_locked):
10556         * gst/gstregistry.h:
10557         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10558         (gst_registry_binary_initialize_magic),
10559         (gst_registry_binary_save_string),
10560         (gst_registry_binary_save_pad_template),
10561         (gst_registry_binary_save_feature),
10562         (gst_registry_binary_save_plugin),
10563         (gst_registry_binary_write_cache),
10564         (gst_registry_binary_check_magic),
10565         (gst_registry_binary_load_pad_template),
10566         (gst_registry_binary_load_feature),
10567         (gst_registry_binary_load_plugin),
10568         (gst_registry_binary_read_cache):
10569         * gst/gstregistrybinary.h:
10570         * gst/gstregistryxml.c: (load_feature),
10571         (gst_registry_xml_read_cache):
10572           commit binary registry (disabled by default, see #359653)
10573
10574 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10575
10576         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
10577           Fix 'make check' too.
10578
10579 2007-01-10  Andy Wingo  <wingo@pobox.com>
10580
10581         * docs/design/part-negotiation.txt: Fix a typo, add a couple
10582         notes.
10583         
10584         * docs/design/part-negotiation.txt: Update with, um, one way that
10585         pull-mode negotiation might work?
10586
10587         * gst/gstpad.h: 
10588         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
10589         that the pad must be a src pad; makes sense to call it the other
10590         way in pull mode, and the logic is symmetric anyway.
10591
10592 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
10593
10594         * plugins/elements/gstfilesink.c:
10595           Include <stdio.h> for fseeko().
10596
10597 2007-01-10  Wim Taymans  <wim@fluendo.com>
10598
10599         * gst/gstevent.c:
10600         * gst/gstevent.h:
10601         Reserve LATENCY event.
10602
10603 2007-01-09  Wim Taymans  <wim@fluendo.com>
10604
10605         * docs/design/draft-latency.txt:
10606         Updates.
10607
10608 2007-01-09  Wim Taymans  <wim@fluendo.com>
10609
10610         * docs/design/draft-latency.txt:
10611         Updates.
10612
10613         * gst/gstelement.h:
10614         * gst/gststructure.c:
10615         * gst/gsttrace.c:
10616         Small typo fixes.
10617
10618 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
10619
10620         * tests/check/.cvsignore:
10621           Ignore test-registry.xml as well.
10622
10623 2007-01-09  Wim Taymans  <wim@fluendo.com>
10624
10625         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10626         unref data at the end when we are done with the pad.
10627
10628 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10629
10630         * docs/gst/gstreamer-sections.txt:
10631         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
10632         (init_post), (gst_deinit), (gst_update_registry):
10633         * gst/gst.h:
10634           API: add gst_update_registry() (#391296).
10635
10636         * tests/check/Makefile.am:
10637         * tests/check/gst/gstregistry.c:
10638         * tests/check/gst/.cvsignore:
10639           Simple unit test for the above.
10640
10641 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10642
10643         * gst/gstregistry.c: (gst_registry_scan_path_level):
10644           Plugin extension on HP-UX is .sl, add that to the list of approved
10645           plugin extensions (see #393796).
10646
10647         * tests/check/gst/gstpad.c: (GST_START_TEST):
10648           ulong => gulong. Fixes compilation with HP-UX compiler.
10649
10650         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10651           Fix compilation if valgrind headers are not available.
10652
10653 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
10654
10655         * win32/common/libgstreamer.def: 
10656           Add new exported function.
10657         * win32/vs6/libgstbase.dsp: 
10658           Add gstdataqueue.c to the build.
10659         * win32/vs6/libgstcoreelements.dsp:
10660           Add gstmultiqueue.c to the build.
10661         
10662 2007-01-06  Andy Wingo  <wingo@pobox.com>
10663
10664         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
10665         activate_pull(), providing for a way to specialize the process of
10666         spawning a thread to pull on the sink pad. There is a default
10667         implementation.
10668
10669         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
10670         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
10671         (gst_base_sink_init): Renamed pad activation functions (inserting
10672         "_pad" in their names). Refactor to use the new activate_pull
10673         vmethod, as appropriate.
10674         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
10675         default activate_pull function to start a task pulling from the
10676         sink pad, as before.
10677
10678         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
10679         on the pads if necessary, as in push()/chain(). Update docs.
10680         Shouldn't affect existing pull() usage as it is currently only
10681         being used on buffers without caps.
10682
10683 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10684
10685         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10686         (init_pre):
10687           Call g_thread_init() first thing in gst_init() / gst_check_init().
10688           When initialisation is done via gst_init_get_option_group() and
10689           GOption parsing, issue a warning if the GLib thread system has not
10690           been initialised yet by the time gst_init_get_option_group() is
10691           called, as it's quite likely other GLib functions such as
10692           g_option_context_new() have been called already then, and
10693           g_thread_init() must be called before any other GLib function. The
10694           application in question must be fixed in that case, since memory
10695           corruption might happen otherwise.
10696           We issue the warning because even if the GLib folks decide to work
10697           around the problem on their end in future, this is still an issue
10698           with all GLib versions >= 2.10.0, so we should warn until we depend
10699           on a GLib version we know to be safe.
10700           Update documentation as well.
10701           Closes bug #391278.
10702
10703 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10704
10705         * tools/gst-inspect.c: (main):
10706         * tools/gst-launch.c: (main):
10707         * tools/gst-typefind.c: (main):
10708         * tools/gst-xmlinspect.c: (main):
10709           Call g_thread_init() really really early, before any other GLib
10710           function (see #342564 and recent discussion on gtk-devel-list).
10711
10712 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10713
10714         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
10715
10716         * gst/gst_private.h:
10717         * gst/gstconfig.h.in:
10718         * gst/gstinfo.h:
10719           On win32, all the __declspec stuff for symbol exporting is
10720           apparently only needed with MSVC, but doesn't work with MingW.
10721           Fixes compilation with MingW and #391909.
10722
10723 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10724
10725         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
10726           Change some GST_ERROR_OBJECT that aren't really errors to
10727           GST_WARNING_OBJECT in order to reduce terminal spam.
10728
10729 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10730
10731         * tests/check/Makefile.am:
10732           disable test again, as there seem to be still race problems
10733
10734 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10735
10736         * tests/check/Makefile.am:
10737         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10738         (GST_START_TEST), (queue_suite):
10739           enable queue test again, add tests for the leaky behaviour
10740
10741 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
10742
10743         * configure.ac:
10744         * tests/examples/Makefile.am:
10745           Compile adapter test/example only if the required headers are
10746           available (fixes #391915).
10747
10748 2007-01-01  David Schleef  <ds@schleef.org>
10749
10750         * gst/gstplugin.c:
10751           Restore the previous signal handler for SIGSEGV instead of
10752           setting to default, since we may have stolen it away from
10753           someone.  (i.e., Mono)
10754
10755 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
10756
10757         * docs/random/draft-missing-plugins.txt:
10758           Some small additions and clarifications.
10759
10760 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
10761
10762         * gst/gstregistryxml.c: (gst_registry_save_escaped):
10763           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
10764           since that can lead to random memory corruptions and crashes
10765           (may or may not be related to #383244, #386711, and #386711).
10766
10767 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10768
10769         * tests/check/.cvsignore:
10770         * tests/check/Makefile.am:
10771           sync .cvsignome and CLEANFILES
10772
10773 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10774
10775         * tests/check/Makefile.am:
10776           fix distcheck
10777
10778 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10779
10780         * docs/design/part-states.txt:
10781           two tiny additional comments
10782         
10783         * gst/gststructure.c:
10784           doc fixing
10785
10786         * tests/check/Makefile.am:
10787         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10788         (GST_START_TEST):
10789           disable test for now, unless it gets fixed
10790
10791 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10792
10793         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10794         (GST_START_TEST):
10795           fix race in underrun test
10796
10797 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10798
10799         * tests/check/elements/.cvsignore:
10800           ignore more
10801
10802         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10803         (GST_START_TEST):
10804           try to narrow test failure
10805
10806 2006-12-21  David Schleef  <ds@schleef.org>
10807
10808         * plugins/elements/gstfakesrc.c:
10809           Use g_random_int_range(), since it produces better random
10810           numbers in a range than almost-correct floating point code.
10811
10812 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10813
10814         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
10815         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
10816         (gst_check_teardown_sink_pad):
10817           do not automatically (de)activate pads
10818
10819         * tests/check/Makefile.am:
10820         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10821         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
10822           add new, yet simple tests for queue
10823
10824         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
10825         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
10826         * tests/check/elements/filesrc.c: (cleanup_filesrc),
10827         (GST_START_TEST):
10828         * tests/check/elements/identity.c: (cleanup_identity):
10829           consistent pad (de)activation
10830
10831 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
10832
10833         Patch by: Sebastian Dröge  <slomo ubuntu com>
10834
10835         * libs/gst/base/gstcollectpads.c:
10836           Fix two doc typos (#387866).
10837
10838 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
10839
10840         * docs/manual/advanced-dparams.xml:
10841           Fix typo (g_object_control_properties() doesn't exist).
10842
10843 2006-12-19  Edward Hervey  <edward@fluendo.com>
10844
10845         * gst/gstsegment.c: (gst_segment_set_seek):
10846         Fine tune the cases where the segment start/stop values are really
10847         updated.
10848         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10849         Add tests for the return values of gst_segment_set_seek().
10850
10851 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
10852
10853         * gst/gst.c:
10854           Docs typo fix.
10855
10856         * plugins/elements/gstqueue.c: (gst_queue_class_init),
10857         (gst_queue_init):
10858           Fix incorrect documentation and flesh it out a bit more.
10859           Set default values for the max properties on the GParamSpec as well,
10860           so it shows up correctly in gst-inspect.
10861
10862 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
10863
10864         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
10865           Correct docs of queue, add more detail and crosslink it more.
10866
10867 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
10868
10869         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
10870           Print additional debug info when the stream isn't perfectly
10871           timestamped; don't try to use invalid durations.
10872
10873 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
10874
10875         * docs/design/Makefile.am:
10876           Dist new design docs.
10877
10878 2006-12-16  Wim Taymans  <wim@fluendo.com>
10879
10880         Patch by: Sjoerd Simons <sjoerd at luon dot net>
10881
10882         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
10883         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
10884         (gst_collect_pads_stop), (gst_collect_pads_event),
10885         (gst_collect_pads_chain):
10886         * libs/gst/base/gstcollectpads.h:
10887         Add refcounting to the collectpads data so we can track when it's safe
10888         to free the data. Fixes #383382.
10889
10890 2006-12-15  Wim Taymans  <wim@fluendo.com>
10891
10892         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
10893         (gst_collect_pads_remove_pad):
10894         Automatically activate/deactivate pads when they are added to a
10895         started/stoped collectpads.
10896
10897 2006-12-15  Wim Taymans  <wim@fluendo.com>
10898
10899         * gst/gstelement.c: (gst_element_add_pad):
10900         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
10901         * gst/gstpad.c: (gst_pad_init):
10902         Set pads to FLUSHING when they are created. Check, warn and fix when a
10903         demuxer adds an inactive pad to itself when running. Fixes #339326.
10904
10905 2006-12-15  Wim Taymans  <wim@fluendo.com>
10906
10907         * gst/gstelement.c: (gst_element_class_init),
10908         (gst_element_default_send_event), (gst_element_send_event),
10909         (gst_element_default_query), (gst_element_query):
10910         Expose default element send_event and query handling as vmethods that
10911         subclasses can chain up to.
10912
10913 2006-12-15  Wim Taymans  <wim@fluendo.com>
10914
10915         * gst/gstelement.c: (gst_element_set_state_func):
10916         Small documentation fixes.
10917
10918 2006-12-15  Wim Taymans  <wim@fluendo.com>
10919
10920         * docs/design/draft-latency.txt:
10921         Checked in draft for handling latency in pipelines.
10922
10923 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10924
10925         * Makefile.am:
10926         * gstreamer.doap:
10927         * gstreamer.spec.in:
10928           adding .doap file
10929
10930 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
10931
10932         * gst/gst.c: (init_pre), (init_post):
10933           init_pre() and init_post() might be called via our GOptionGroup or
10934           from gst_init(), and we should skip both of them if we've already
10935           been initialised, otherwise we will init some things twice or add
10936           two default log functions.
10937
10938 2006-12-13  Edward Hervey  <edward@fluendo.com>
10939
10940         * docs/manual/basics-bus.xml:
10941         No, gst_main_loop does not exist. Its g_main_loop.
10942         Discovered by somebody who abused the copy-paste technique of coding :)
10943
10944 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
10945
10946         * gst/gstghostpad.c:
10947           Log ghostpad debug stuff to the GST_PADS category as well rather
10948           than just to the default category.
10949
10950 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
10951
10952         * configure.ac:
10953         * gst/gst.c: (init_pre):
10954           Add some basic system details such as OS and architecture
10955           to the debug output if possible, courtesy of uname().
10956
10957 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
10958
10959         * docs/gst/running.xml:
10960           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
10961           environment variables.
10962
10963 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
10964
10965         * tests/check/gst/gstbin.c: (GST_START_TEST):
10966         It is acceptable to have a refcount of 2 or 3 at this point in the
10967         test, because the pipeline might be just posting its state_change
10968         message. The next line then waits for that message to appear using
10969         bus_poll, so that should be fine too.
10970
10971 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
10972
10973         * gst/gst.c: (ensure_current_registry_forking):
10974         Ignore EINTR when reading from the child registry pipe.
10975         Explicitly ignore the return value from close, since it makes no
10976         difference.
10977
10978         * gst/gstminiobject.c: (gst_mini_object_ref),
10979         (gst_mini_object_unref):
10980         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
10981
10982         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
10983         When removing cached plugins, remove their features too, so they're
10984         not visible after they've disappeared.
10985
10986         * gst/gstutils.c: (prepare_link_maybe_ghosting):
10987         In the unlikely case that we are linking pads with no parents, don't
10988         crash trying to get the non-existent parent bin.
10989
10990         * gst/parse/grammar.y:
10991         Output debug in the PIPELINE category
10992
10993 2005-03-08  Wim Taymans  <wim@fluendo.com>
10994
10995         Patch by: René Stadler <mail at renestadler dot de>
10996
10997         * gst/gstclock.c: (gst_clock_new_periodic_id):
10998         Reject invalid clock times for interval of periodic ids.
10999         Fixes ##383506.
11000
11001 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11002
11003         * gst/gstelementfactory.c: (gst_element_factory_create):
11004         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11005         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
11006         * tools/gst-inspect.c: (print_element_info):
11007         Fix refcounting of gst_plugin_feature_load to match the docs. 
11008         Fixes: #380129
11009
11010 2006-12-07  Wim Taymans  <wim@fluendo.com>
11011
11012         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
11013         (gst_base_sink_get_position):
11014         Improve debugging of events.
11015
11016 2006-12-07  Wim Taymans  <wim@fluendo.com>
11017
11018         Patch by: René Stadler <mail at renestadler dot de>
11019
11020         * gst/gstclock.c: (gst_clock_id_wait):
11021         Make period ids add the interval to the origial requested time instead
11022         of the possibly updated time which can be wrong when there are multiple
11023         waiters for the same id. Fixes #382592.
11024
11025         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
11026         (gst_system_clock_id_wait_jitter_unlocked),
11027         (gst_system_clock_id_wait_jitter):
11028         Fix restart in the async notify thread when an async entry is added to
11029         the front of the list. Fixes #381492. 
11030
11031         * tests/check/gst/gstsystemclock.c: (store_callback),
11032         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
11033         Added test for multiple async waits.
11034         Added test for async wait order.
11035
11036 2006-12-07  Wim Taymans  <wim@fluendo.com>
11037
11038         * gst/gstbin.c: (gst_bin_query):
11039         Add some more docs about the POSITION query.
11040
11041 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
11042
11043         * configure.ac:
11044         Bump version nano - back to CVS.
11045
11046 === release 0.10.11 ===
11047
11048 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
11049
11050         * configure.ac:
11051           releasing 0.10.11, "Love never runs on time"
11052
11053 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
11054
11055         * win32/common/libgstbase.def:
11056         * win32/common/libgstreamer.def:
11057         * win32/vs8/libgstbase.vcproj:
11058         * win32/vs8/libgstcoreelements.vcproj:
11059         * win32/vs8/libgstreamer.vcproj:
11060         Fix compilation on win32 under VS8
11061         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11062         Partially fixes #381175
11063
11064 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
11065
11066         * gst/gstvalue.c: (gst_value_compare_fraction):
11067         If someone is foolish enough to compare 2 fractions with denominator =
11068         0, return UNORDERED rather than aborting.
11069
11070 2006-11-28  Edward Hervey  <edward@fluendo.com>
11071
11072         * libs/gst/base/Makefile.am:
11073         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
11074         (gst_data_queue_base_init), (gst_data_queue_class_init),
11075         (gst_data_queue_init), (gst_data_queue_new),
11076         (gst_data_queue_cleanup), (gst_data_queue_finalize),
11077         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
11078         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
11079         (gst_data_queue_is_empty), (gst_data_queue_is_full),
11080         (gst_data_queue_set_flushing), (gst_data_queue_push),
11081         (gst_data_queue_pop), (gst_data_queue_drop_head),
11082         (gst_data_queue_set_property), (gst_data_queue_get_property):
11083         * libs/gst/base/gstdataqueue.h:
11084         New GstDataQueue object for threadsafe queueing. Most useful for
11085         elements that need some queueing functionnality.
11086         * docs/libs/gstreamer-libs-docs.sgml:
11087         * docs/libs/gstreamer-libs-sections.txt:
11088         Insert documentation for GstDataQueue
11089         * plugins/elements/Makefile.am:
11090         * plugins/elements/gstelements.c:
11091         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
11092         (gst_multi_queue_class_init), (gst_multi_queue_init),
11093         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
11094         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
11095         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
11096         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
11097         (gst_multi_queue_loop), (gst_multi_queue_chain),
11098         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
11099         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
11100         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
11101         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
11102         (wake_up_next_non_linked), (compute_next_non_linked),
11103         (single_queue_overrun_cb), (single_queue_underrun_cb),
11104         (single_queue_check_full), (gst_single_queue_new):
11105         * plugins/elements/gstmultiqueue.h:
11106         New multiqueue element, using GstDataQueue. Used for queuing multiple
11107         streams.
11108         Closes #344639 and #347785
11109
11110 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
11111
11112         * docs/pwg/advanced-types.xml:
11113           add more missing type details
11114
11115         * tools/gst-run.c: (main):
11116           remove unused variable
11117
11118 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
11119
11120         * docs/libs/Makefile.am:
11121         * docs/libs/gstreamer-libs.types:
11122           add types of base classes to enable gobject specific stuff in the docs
11123
11124         * docs/random/ensonic/embedded.txt:
11125           more ideas about isolating platform specific things
11126
11127 2006-11-20  Wim Taymans  <wim@fluendo.com>
11128
11129         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
11130
11131         * libs/gst/check/gstcheck.h:
11132         Fix compilation and running against 0.9.4. Fixes #377332.
11133
11134 2006-11-20  Wim Taymans  <wim@fluendo.com>
11135
11136         * gst/gstsegment.c: (gst_segment_set_seek),
11137         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11138         (gst_segment_to_running_time):
11139         Fix boundary checking in to_running_time() and to_stream_time().
11140         Fixes #377183.
11141
11142         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11143         stream and running time can now be calculated for the complete
11144         clipped segment.
11145
11146 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
11147
11148         * gst/gstpad.c: (gst_pad_push_event):
11149           Can't access event structure after giving away ownership of
11150           the event.
11151
11152 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
11153
11154         * docs/random/ensonic/embedded.txt:
11155         * docs/random/ensonic/profiling.txt:
11156         * docs/random/ensonic/receipies.txt:
11157           more thinking
11158
11159 2006-11-13  Wim Taymans  <wim@fluendo.com>
11160
11161         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11162
11163         * gst/gstpad.c:
11164         Fix documentation for gst_pad_dispatcher. Fixes #374475.
11165
11166 2006-11-13  Wim Taymans  <wim@fluendo.com>
11167
11168         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
11169
11170         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11171         Store new length in segment duration so we don't keep on calling the
11172         potentially expensize get_size() call. Fixes #370865.
11173
11174 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
11175
11176         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
11177
11178         * win32/common/libgstreamer.def:
11179           Add two missing symbols (#366492).
11180
11181 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
11182
11183         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
11184         (gst_adapter_take_buffer):
11185         Fix format string to use all its arguments.
11186         Remove useless >= check on a guint
11187
11188 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11189
11190         * tests/examples/adapter/.cvsignore:
11191         Ignore build file as commanded by the build-bot
11192
11193 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11194
11195         * tests/examples/adapter/Makefile.am:
11196         * tests/examples/adapter/adapter_test.c: (run_test_take),
11197         (run_test_take_buffer), (run_tests), (main):
11198
11199         Add new files from the previous commit
11200
11201 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11202
11203         * Makefile.am:
11204         * configure.ac:
11205         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
11206         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
11207         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
11208         * libs/gst/base/gstadapter.h:
11209         * tests/check/libs/adapter.c: (create_and_fill_adapter),
11210         (GST_START_TEST), (gst_adapter_suite):
11211         * tests/examples/Makefile.am:
11212         Do some optimisation work in GstAdapter to avoid copies in more cases.
11213         It could still do slightly better by merging buffers when
11214         gst_buffer_is_span_fast is true, but is already faster. 
11215
11216         Also, avoid traversing a single-linked list to append each incoming 
11217         buffer inside the adapter.
11218
11219         Add simple test app that times the adapter behaviour in different
11220         situations, and extend the unit test to check that bytes enter and
11221         exit the adapter in their original order.
11222
11223 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
11224
11225         * docs/random/draft-missing-plugins.txt:
11226           Update: use element message instead of adding a new message
11227           type to the core; don't provide GStreamer API to initiate the
11228           plugin download, just provide API to compose the strings needed
11229           and let an external libgimmestuff handle the rest.
11230
11231 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
11232
11233         * tools/gst-inspect.c: (print_element_properties_info):
11234         Print a string instead of 'unknown type' for GValueArray properties
11235
11236 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
11237
11238         * docs/random/draft-missing-plugins.txt:
11239         More small fixes.
11240
11241 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11242
11243         * tests/examples/typefind/typefind.c: (type_found), (main):
11244           Make typefind element example work again (#371894); add a
11245           license header.
11246
11247 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11248
11249         * docs/random/draft-missing-plugins.txt:
11250           Commit initial draft about how to deal with missing plugins,
11251           needs work (API too).
11252
11253 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
11254
11255         * docs/pwg/advanced-types.xml:
11256           documents the new caps elements (see #363118)
11257
11258 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11259
11260         * gst/gstplugin.c: (gst_plugin_load_file):
11261         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
11262         (gst_file_src_map_region), (gst_file_src_start):
11263         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
11264         (gst_file_index_commit):
11265           Use g_strerror() instead of strerror() - we want UTF-8.
11266
11267 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11268
11269         Patch by: Peter Kjellerstedt <pkj at axis com>
11270
11271         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11272           Another printf fix (#371493).
11273
11274 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11275
11276         * tests/check/gst/gsttag.c:
11277           relicence (okay with author=company)
11278
11279 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11280
11281         * gst/gstpad.c: (gst_pad_event_default_dispatch),
11282         (gst_pad_push_event):
11283           Enhance debug and improve docs
11284         
11285         * gst/gsturi.c:
11286           Fix docs
11287
11288 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11289
11290         * docs/random/ensonic/distributed.txt:
11291         * docs/random/ensonic/profiling.txt:
11292           more ideas
11293
11294 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11295
11296         * docs/gst/gstreamer-sections.txt:
11297           add new API and fix the build
11298           
11299         * gst/gstbin.c: (gst_bin_recalc_state):
11300         * gst/gstelement.c: (gst_element_message_full),
11301         (gst_element_get_state_func), (gst_element_set_state_func):
11302           use new API and improve logging
11303         
11304         * gst/gstutils.c: (gst_element_state_change_return_get_name):
11305         * gst/gstutils.h:
11306           API: add function to get StateChangereturn names to improve logs 
11307
11308 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11309
11310         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11311           I'm considering shooting the next person to put strerror stuff
11312           in the translateable part of the message.
11313
11314 2006-11-03  Wim Taymans  <wim@fluendo.com>
11315
11316         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11317         Get the type and printf conversion specifiers right.
11318
11319 2006-11-03  Wim Taymans  <wim@fluendo.com>
11320
11321         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11322
11323         * gst/gstpad.c: (gst_pad_init), (pre_activate),
11324         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
11325         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
11326         Some small cleanups. Improve debugging.
11327         * gst/gstpad.h:
11328         Signal all waiting threads with a broadcast instead of just one.
11329         Fixes #369942.
11330
11331 2006-11-03  Wim Taymans  <wim@fluendo.com>
11332
11333         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
11334         (gst_fd_src_create):
11335         Add some debugging. 
11336         Only update fd when it's different from the old.
11337
11338 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11339
11340         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
11341           Printf fixes for PPC/OSX, take two (#369366).
11342
11343 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11344
11345         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
11346
11347         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11348         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11349         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
11350           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
11351           don't cast to long long for portability reasons, but use
11352           GLib's types instead.
11353
11354 2006-10-30  Michael Smith  <msmith@fluendo.com>
11355
11356         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11357           Get the arguments to lseek() the right way around.
11358           Fixes 367677.
11359
11360 2006-10-30  Wim Taymans  <wim@fluendo.com>
11361
11362         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
11363
11364         * gst/gstinfo.h:
11365         _declspec should be __declspec (two underscores, not one). Fixes 366572.
11366
11367 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11368
11369         Patch by: Kjartan Maraas  <kmaraas at gnome org>
11370
11371         * docs/design/part-MT-refcounting.txt:
11372         * docs/random/wtay/capsnego2-docs:
11373         * gst/gstclock.c:
11374         * gst/gstxml.c:
11375           Typo fixes (#366212).
11376
11377 2006-10-28  Wim Taymans  <wim@fluendo.com>
11378
11379         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11380
11381         * gst/gst.c:
11382         * win32/common/libgstbase.def:
11383         * win32/common/libgstreamer.def:
11384         * win32/vs8/libgstbase.vcproj:
11385         * win32/vs8/libgstcontroller.vcproj:
11386         Add needed entries in .def files.
11387         Use HAVE_UNISTD_H.
11388         Rearrange def files in vs8 solutions. Fixes #366286.
11389
11390 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11391
11392         * win32/common/gstconfig.h:
11393           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
11394           hand-made win32 gstconfig.h. Fixes #366321.
11395
11396 2006-10-27  Wim Taymans  <wim@fluendo.com>
11397
11398         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
11399         (gst_ghost_pad_new_full):
11400         Make acceptcaps return TRUE when we don't have a target, just like
11401         setcaps does.
11402
11403 2006-10-27  Wim Taymans  <wim@fluendo.com>
11404
11405         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11406         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
11407
11408 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
11409
11410         * gst/gststructure.c: (gst_structure_id_set_value):
11411           If someone tries to set a non-UTF8 string field on a structure,
11412           don't just print a warning, but also ignore the request and do
11413           not change/add that field to the structure.
11414
11415         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11416           Test for the above.
11417
11418 2006-10-25  David Schleef  <ds@schleef.org>
11419
11420         * gst/gstinfo.c:
11421           g_hash_table_insert() needs a cast to a non-const pointer duh.
11422
11423 2006-10-25  David Schleef  <ds@schleef.org>
11424
11425         * gst/gstinfo.c:
11426         * gst/gstinfo.h:
11427           Change name parameter of _gst_debug_register_funcptr to const
11428           to reflect the constness of its use in the function as well
11429           as to quiet a gcc warning.
11430
11431 2006-10-25  Edward Hervey  <edward@fluendo.com>
11432
11433         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11434         Don't push the buffer if it's empty.
11435         Closes #363095
11436
11437 2006-10-24  Wim Taymans  <wim@fluendo.com>
11438
11439         * gst/gstevent.h:
11440         Add small comment.
11441
11442         * libs/gst/base/gstbasetransform.c:
11443         (gst_base_transform_sink_eventfunc):
11444         Debug segment values *after* updating them as this is more
11445         interesting.
11446
11447 2006-10-23  Wim Taymans  <wim@fluendo.com>
11448
11449         * docs/design/part-events.txt:
11450         Update some docs.
11451
11452         * docs/design/part-block.txt:
11453         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11454         (gst_pad_push_event):
11455         Revert BLOCKING patch, it tries to be smart without really having a
11456         clear idea what or how. So, now we discard all FLUSHING events again on
11457         a blocking pad. Should fix gnonlin again.
11458
11459 2006-10-23  Wim Taymans  <wim@fluendo.com>
11460
11461         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11462
11463         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11464         (gst_base_src_start), (gst_base_src_activate_push):
11465         Make sure size is always initialized. Fixes #364388.
11466
11467 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
11468
11469         * docs/random/ensonic/distributed.txt:
11470           add some ideas about doing distributed processing
11471
11472         * docs/random/ensonic/profiling.txt:
11473           get_rusage look promising
11474
11475 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11476
11477         * docs/manual/basics-helloworld.xml:
11478           Add a cast in example to fix compile warning
11479
11480 2006-10-18  Wim Taymans  <wim@fluendo.com>
11481
11482         * gst/gstsegment.c: (gst_segment_set_last_stop),
11483         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11484         Relax arg checking again, -1 is allowed.
11485
11486 2006-10-18  Wim Taymans  <wim@fluendo.com>
11487
11488         * gst/gstsegment.c: (gst_segment_set_last_stop),
11489         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11490         _set_last_stop() must be with a value != -1
11491         A _TYPE_SET to -1 means seek to 0.
11492         Calc last_stop correctly for negative rates.
11493         Make sure we work with positive durations when updating a segment.
11494
11495 2006-10-18  Wim Taymans  <wim@fluendo.com>
11496
11497         * docs/design/part-live-source.txt:
11498         * gst/gstclock.h:
11499         Small docs fixes.
11500
11501 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
11502
11503         * gst/gstbuffer.h:
11504           Add an explicit cast to GstBuffer** to keep old code that added an
11505           explicit cast to GstMiniObject** for gst_mini_object_replace()
11506           compiling without warning.
11507
11508 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11509
11510         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
11511           check for validity of dates
11512
11513 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11514
11515         * docs/gst/gstreamer-sections.txt:
11516           Forgot this one, makes gtk-doc shut up.
11517
11518 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11519
11520         Patch by: Peter Kjellerstedt <pkj at axis com>
11521
11522         * gst/gstobject.h:
11523           Don't define xmlNodePtr to gpointer if the core was built with
11524           --disable-loadsave and --disable-registry, this will break
11525           applications that want to use libxml2 but are buildling against a
11526           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11527           instead so we don't have to mess with the libxml2 namespace
11528           (#361675).
11529
11530 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11531
11532         * gst/gstbuffer.h:
11533           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
11534           type-punned pointer warnings.
11535
11536 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
11537
11538         * gst/gstelement.h:
11539           Add casts to the correct return type to state <=> state transition
11540           macros.
11541
11542 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
11543
11544         * docs/design/part-live-source.txt:
11545           describe howto handle latency
11546         
11547         * docs/random/ensonic/profiling.txt:
11548           more ideas
11549
11550         * tools/gst-plot-timeline.py:
11551           fix log parsing for solaris, remove unused function
11552
11553 2006-10-16  Wim Taymans  <wim@fluendo.com>
11554
11555         * docs/design/part-trickmodes.txt:
11556         * gst/gstevent.c:
11557         Update some docs regarding reverse playback.
11558
11559 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
11560
11561         Patch by: Marcus Granado  <mrc dot gran at gmail com>
11562
11563         * win32/vs8/grammar.vcproj:
11564           Error out with a warning if glib-genmarshal.exe is not in path,
11565           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
11566
11567 2006-10-13  Wim Taymans  <wim@fluendo.com>
11568
11569         * gst/gstsegment.c: (gst_segment_set_seek):
11570         When seeking to stop -1, set last_stop (current position) to the
11571         duration of the segment.
11572
11573 2006-10-13  Wim Taymans  <wim@fluendo.com>
11574
11575         * gst/gstelement.h:
11576         Clarify _NO_PREROLL a bit more.
11577
11578         * gst/gstevent.c:
11579         Fix docs.
11580
11581         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
11582         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
11583         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
11584         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
11585         due to wrong locking order. Fixes #361769.
11586         Remove some redundant/misplaced checks in pad_block.
11587
11588         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11589         For negative rates, count backwards from the duration.
11590
11591 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
11592
11593         * gst/gsterror.c: (_gst_library_errors_init):
11594           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
11595           up with something better).
11596
11597 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11598
11599         * win32/vs6/libgstreamer.dsp:
11600         * win32/vs7/libgstreamer.vcproj:
11601         * win32/vs8/libgstreamer.vcproj:
11602           Don't reference glib-compat.c which is currently not used and not
11603           disted; add gstquark.c which was recently added. Fixes #361730.
11604
11605 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11606
11607         * win32/common/libgstbase.def:
11608         * win32/common/libgstcontroller.def:
11609         * win32/common/libgstreamer.def:
11610           Add gst_caps_merge() and a bunch of other recently-added functions.
11611           Fixes #361732.
11612
11613 2006-10-11  Wim Taymans  <wim@fluendo.com>
11614
11615         * docs/plugins/gstreamer-plugins.args:
11616         * docs/plugins/inspect/plugin-coreelements.xml:
11617         * docs/plugins/inspect/plugin-coreindexers.xml:
11618         Update element args.
11619
11620         * gst/gstsystemclock.c:
11621         Small comment update.
11622
11623         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11624         (gst_tee_request_new_pad), (gst_tee_release_pad),
11625         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
11626         (gst_tee_sink_activate_pull):
11627         * plugins/elements/gsttee.h:
11628         Some tee loving:
11629         Add default property defines.
11630         Implement release pad function.
11631         Give properties better blubs etc.
11632         Activate pads before adding them to a running tee.
11633         Do simple buffer_alloc on the first requested pad.
11634         Post error when activation fails.
11635
11636 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11637
11638         * gst/gst.c: (ensure_current_registry_forking):
11639           Check return value of write() to make compiler happy.
11640
11641 2006-10-11  Wim Taymans  <wim@fluendo.com>
11642
11643         Patch by: Sjoerd Simons <sjoerd at luon dot net>
11644
11645         * plugins/elements/gstqueue.c: (gst_queue_chain):
11646         Recheck queue filledness after signalling the overrun when we're about
11647         to leak downstream because we released the lock when emitting the signal
11648         and the queue could be empty again. Fixes #352345.
11649
11650 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11651
11652         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
11653           Fix refcounting here too, just like we did for _new_valist() a few
11654           days ago (#357180) (thanks to René Stadler). Also remove all those
11655           'Since: 0.9' from the gtk-doc blobs.
11656
11657         * tests/check/libs/controller.c: (controller_refcount_new_list),
11658         (gst_controller_suite):
11659           Unit test for the above.
11660
11661 2006-10-10  Wim Taymans  <wim@fluendo.com>
11662
11663         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
11664
11665         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
11666         (gst_pad_save_thyself):
11667         Update some docs.
11668         Write pad direction in XML output. Fixes #345496.
11669
11670 2006-10-10  Wim Taymans  <wim@fluendo.com>
11671
11672         Patch by: René Stadler <mail at renestadler dot de>
11673
11674         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11675         (gst_controller_new_list), (_gst_controller_dispose),
11676         (_gst_controller_finalize), (_gst_controller_class_init):
11677         Take ref to controlled object so that it cannot disappear. 
11678         Fixes #357432.
11679
11680 2006-10-10  Wim Taymans  <wim@fluendo.com>
11681
11682         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11683         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11684         (gst_check_teardown_sink_pad):
11685         Activate/deactivate pads in setup/teardown respectively.
11686
11687 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11688
11689         Patch by: Josep Torra Valles <josep@fluendo.com>
11690
11691         * gst/Makefile.am:
11692         Cast values when making gstenumtypes.h.  This pacifies Forte
11693         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
11694         in the enumeration.
11695
11696 2006-10-09  Wim Taymans  <wim@fluendo.com>
11697
11698         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
11699         Rename some more @cur to @start to fix docs. 
11700
11701         * gst/gstsegment.c: (gst_segment_set_seek):
11702         Fix typo.
11703         time and start must always stay in sync as defined in design doc.
11704
11705         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11706         Rename param to fix docs.
11707
11708         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11709         Check that start and time are in sync.
11710
11711         * tests/check/pipelines/parse-launch.c:
11712         (gst_parse_test_element_change_state):
11713         Activate pad before adding to the element.
11714
11715 2006-10-09  Wim Taymans  <wim@fluendo.com>
11716
11717         * docs/design/part-qos.txt:
11718         Fix typo.
11719
11720         * gst/gstevent.c:
11721         * gst/gstevent.h:
11722         Update seek event docs regarding negative rates.
11723         Rename @cur to @start. 
11724
11725         * gst/gstsegment.c: (gst_segment_set_seek):
11726         * gst/gstsegment.h:
11727         Update set_seek docs regarding negative rates.
11728         Correctly update last_stop to @stop when dealing with negative
11729         rates.
11730         Rename @cur to @start. 
11731
11732         * tests/check/gst/gstpad.c: (GST_START_TEST):
11733         Activate pads before trying to use them.
11734
11735         * tests/check/gst/gstsegment.c: (GST_START_TEST),
11736         (gst_segment_suite):
11737         Add simple check for segments and negative rates.
11738
11739 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
11740
11741         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11742         * gst/gsttaglist.h:
11743         * docs/gst/gstreamer-sections.txt:
11744           API: add gst_tag_list_is_empty() (#360467).
11745
11746         * tests/check/gst/gsttag.c: (GST_START_TEST):
11747           And a test case.
11748
11749 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11750
11751         * gst/gstmessage.h:
11752         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
11753         a value that doesn't fit on enumeration.
11754
11755 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11756
11757         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11758         Remove local debugging system and use Gstreamer's instead.
11759
11760 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11761
11762         Patch by: Josep Torra Valles <josep@fluendo.com>
11763
11764         * common/m4/gst-error.m4:
11765         Disable warning of statement not reached on Forte.
11766         * gst/gstmessage.h:
11767         Fix warning on Forte (value doesn't fit on enumeration).
11768         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
11769         Fix warning on Forte (value doesn't fit on enumeration).
11770         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11771         DEBUG macro says it takes minimum of 2 args and so Forte
11772         complains about the use with just 1 arg.
11773         * plugins/elements/gstfdsink.c:
11774         * plugins/elements/gstfdsrc.c:
11775         * plugins/elements/gstfilesink.c:
11776         * plugins/elements/gstfilesrc.c:
11777         Use correct return type for the uri handler implementations.
11778
11779         All these fix warnings in Forte.  Fixes bug #360860.
11780
11781 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
11782
11783         * gst/gstelement.h:
11784           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
11785           format string, so don't use G_GNUC_PRINTF for those versions.
11786
11787 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
11788
11789         * gst/gsttaglist.c: (gst_is_tag_list):
11790         * gst/gsttaglist.h:
11791           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
11792
11793         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11794           Small test for the above.
11795
11796 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
11797
11798         * gst/gsttaglist.h:
11799           Less tabs, more spaces.
11800
11801 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
11802
11803         * gst/gstinfo.h:
11804           Those two function declarations do actually belong there, revert
11805           commit from yesterday that turned them intro macros.
11806
11807 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11808
11809         Patch by: Josep Torra Valles <josep@fluendo.com>
11810
11811         * gst/gst.c: (gst_init_get_option_group):
11812         Fix empty declaration and type mismatch.
11813         * gst/gstbin.c: (gst_bin_change_state_func):
11814         Fix type mismatch.
11815         * gst/gstelement.c: (gst_element_continue_state),
11816         (gst_element_set_state_func), (gst_element_change_state),
11817         (gst_element_change_state_func):
11818         Fix type mismatches.
11819         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
11820         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
11821         Cast as appropriate.
11822         * gst/gstobject.c: (gst_class_signal_connect):
11823         Cast as appropriate.  The function pointer parameter really
11824         has the wrong type but would break API if we change it.
11825         * gst/gstquery.c:
11826         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
11827         order of including string.h.
11828         * gst/gstutils.c: (gst_element_state_get_name):
11829         Remove unreachable line.
11830         * gst/gstxml.c: (gst_xml_parse_doc):
11831         Fix type mismatch.
11832         All these caught by Forte.
11833
11834 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11835
11836         Patch by: Josep Torra Valles <josep@fluendo.com>
11837
11838         * common/m4/gst-error.m4:
11839         Fixed bug #360151.
11840         We need to disable warnings on Forte for empty declarations
11841         due to gst-indent adding ;s to lines that just use macros
11842         where the macro actually doesn't need a ; at end to end
11843         statement.
11844
11845 2006-10-06  Wim Taymans  <wim@fluendo.com>
11846
11847         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
11848         (gst_file_sink_close_file), (gst_file_sink_event),
11849         (gst_file_sink_render):
11850         Add some FIXME for the NEWSEGMENT handling.
11851
11852 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11853
11854         * gst/parse/grammar.y:
11855         Remove static function gst_parse_element_lock as all it does
11856         is return.  Looks like cruft from 0.8.
11857
11858 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11859
11860         Patch by: Josep Torra Valles <josep@fluendo.com>
11861
11862         * common/m4/gst-error.m4:
11863         * configure.ac:
11864         * libs/gst/net/Makefile.am:
11865         Fix a compilation issue with Forte on Solaris.  inet_aton is in
11866         libresolv.
11867
11868 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
11869
11870         * gst/gstpad.c: (pre_activate):
11871         * gst/gstregistry.c: (gst_registry_scan_path_level):
11872         * gst/gstregistryxml.c: (load_plugin):
11873         * libs/gst/controller/gstcontroller.c:
11874         (gst_controlled_property_set_interpolation_mode):
11875         * libs/gst/dataprotocol/dataprotocol.c:
11876         (gst_dp_packet_from_event_1_0):
11877         * libs/gst/net/gstnetclientclock.c:
11878         (gst_net_client_clock_observe_times):
11879         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11880           Printf fixes.
11881
11882 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
11883
11884         * configure.ac:
11885         * docs/gst/gstreamer-sections.txt:
11886         * gst/gstconfig.h.in:
11887         * gst/gstelement.h:
11888         * gst/gstinfo.h:
11889           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
11890           whether we can use G_GNUC_PRINTF in other header files and at
11891           least check the printf format/arguments of debug messages and
11892           GST_ELEMENT_ERROR messages when the printf extension is not
11893           being used.
11894           Replace more tabs with spaces in gstinfo.h and remove two spurious
11895           function declarations in GST_DISABLE_DEBUG part with macros.
11896
11897 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
11898
11899         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
11900           More docs for the sync-message signal (mention that it is not
11901           emitted by default); log message structures of messages posted on
11902           the bus as well.
11903
11904 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
11905
11906         * gst/gst.c: (ensure_current_registry_forking):
11907         Use a pipe pair to receive status results from the forked child, and
11908         ignore the result from waitpid. Fixes #355499
11909
11910 2006-10-02  Wim Taymans  <wim@fluendo.com>
11911
11912         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
11913         (gst_ghost_pad_suite):
11914         Fix leak in check.
11915
11916 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
11917
11918         * gst/gstpad.c:
11919           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
11920
11921 2006-10-02  Edward Hervey  <edward@fluendo.com>
11922
11923         * docs/design/part-block.txt:
11924         Further explain the use of flushing on blocked pads.
11925         * docs/gst/gstreamer-sections.txt:
11926         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11927         (gst_pad_push_event):
11928         * gst/gstpad.h:
11929         Added new GstPadFlag : GST_PAD_BLOCKING.
11930         Adds the notion of pads really blocking, which enables to properly
11931         handle FLUSH_START/FLUSH_STOP events on blocked pads.
11932         Fixes #358999
11933         API: gst_pad_is_blocking()
11934         API: GST_PAD_IS_BLOCKING() macro
11935         API: GST_PAD_BLOCKING GstPadFlag
11936         
11937 2006-10-02  Wim Taymans  <wim@fluendo.com>
11938
11939         Patch by: mrcgran <mrc.gran at gmail dot com>
11940
11941         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
11942         Filter the proxied caps against the padtemplate if we have one.
11943
11944         * gst/gstquery.c: (gst_query_new_segment):
11945         Add include for gstinfo.h so that compilation with
11946         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
11947
11948 2006-10-02  Wim Taymans  <wim@fluendo.com>
11949
11950         Patch by: Alessandro Decina  <alessandro at nnva org>
11951
11952         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
11953         (gst_file_sink_set_location), (gst_file_sink_open_file),
11954         (gst_file_sink_close_file), (gst_file_sink_event),
11955         (gst_file_sink_render):
11956         Set file to NULL when closing filesink so that we can set a new filename
11957         in READY. Fixes #358613.
11958
11959 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
11960
11961         Patch by: Alessandro Decina  <alessandro at nnva org>
11962
11963         * gst/gstevent.c: (_gst_event_copy):
11964           Fix gst_mini_object_make_writable() and gst_event_copy() for events
11965           with event structures by setting the parent refcount address of the
11966           copied structure to the address of the refcount member of the newly
11967           copied event rather than the address of the refcount member of the
11968           original event. Fixes #358737.
11969
11970         * tests/check/gst/gstevent.c: (GST_START_TEST):
11971           Unit test for the above.
11972
11973 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
11974
11975         * docs/design/Makefile.am:
11976           Dist some more files.
11977
11978 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11979
11980         * tests/check/libs/controller.c: (GST_START_TEST),
11981         (gst_controller_suite):
11982           Add test for the previous fix; add some more tests
11983           for correct refcounting behaviour; fix a few leaks
11984           in test cases; call gst_controller_init() at start
11985           of all tests.
11986
11987 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11988
11989         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11990         (gst_controller_set_from_list):
11991           Don't g_return_val_if_fail() on timed values with invalid timestamps
11992           inside a critical section without unlocking the mutex. Spotted by
11993           René Stadler. (#357617)
11994           Also, fix up refcounting properly: when returning an existing
11995           controller, we should increase the reference only once and not
11996           once per property and when trying to control a property again
11997           we should also increase the refcount.
11998
11999 2006-09-29  Wim Taymans  <wim@fluendo.com>
12000
12001         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
12002         * libs/gst/net/gstnettimeprovider.c:
12003         (gst_net_time_provider_thread):
12004         Stop reading commands when EOF as well.
12005
12006         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
12007         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
12008         * plugins/elements/gstidentity.c: (gst_identity_class_init):
12009         Unify description of the dump property.
12010
12011 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12012
12013         * tests/examples/manual/.cvsignore:
12014         OK, so it's actually cvsignore that needs changing. Stop laughing.
12015
12016 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12017
12018         * tests/examples/manual/Makefile.am:
12019         Gah, declare vars *before* using them
12020
12021 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12022
12023         * gst/gst.c: (init_pre), (scan_and_update_registry),
12024         (ensure_current_registry_nonforking),
12025         (ensure_current_registry_forking), (ensure_current_registry),
12026         (init_post), (gst_debug_help), (gst_deinit):
12027         * gst/gst_private.h:
12028         * gst/gstregistry.c: (gst_registry_finalize),
12029         (gst_registry_remove_features_for_plugin_unlocked),
12030         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12031         (gst_registry_scan_path),
12032         (_priv_gst_registry_remove_cache_plugins),
12033         (_priv_gst_registry_cleanup):
12034         * gst/gstregistry.h:
12035         Re-commit the registry changes, along with an extra fix:
12036           When a cached plugin is encountered at a different file path,
12037           update the stored path in the registry cache so that the parent
12038           process knows where it actually is now when it re-reads the registry
12039           cache. Fixes the thing that broke distcheck with the previous commit.
12040
12041         * tests/check/Makefile.am:
12042         Clean up files named 'core' too when running make clean.
12043
12044         * tests/examples/manual/Makefile.am:
12045         Set up a registry path for running these tests, and clean it properly
12046         for distcheck.
12047
12048 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
12049
12050         * configure.ac:
12051         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
12052         want gmodule-no-export-2.0.pc instead so that we don't drag in
12053         --export-dynamic on every project that links to GStreamer.
12054
12055         Also, make our export regex only match the start of symbols, rather 
12056         than any symbol that contains '_gst' somewhere.
12057
12058         * libs/gst/check/Makefile.am:
12059         The libgstcheck we build does however need export-dynamic, as it
12060         produces some symbols that don't match our _gst... style regex.
12061         Fixes: #318031
12062
12063 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12064
12065         * gst/gst.c: (init_pre), (scan_and_update_registry),
12066         (ensure_current_registry_nonforking),
12067         (ensure_current_registry_forking), (ensure_current_registry),
12068         (init_post), (gst_debug_help), (gst_deinit):
12069         * gst/gst_private.h:
12070         * gst/gstregistry.c: (gst_registry_finalize),
12071         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12072         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
12073         (_gst_registry_cleanup):
12074         * gst/gstregistry.h:
12075           Revert previous change until I figure out why it breaks distcheck.
12076
12077 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
12078
12079         * gst/gst.c: (init_pre), (scan_and_update_registry),
12080         (ensure_current_registry_nonforking),
12081         (ensure_current_registry_forking), (ensure_current_registry),
12082         (init_post), (gst_debug_help), (gst_deinit):
12083
12084           Make init_pre and init_post take the full complement of GOptionFunc
12085           args so they can return useful GErrors. Make the registry updating
12086           functions do so.
12087
12088           Call _priv_gst_registry_remove_cache_plugins after scanning files to
12089           ensure that the registry we're about to write out doesn't contain
12090           stale information about old-deleted plugin files.
12091
12092           Make _priv_gst_registry_remove_cache_plugins return a boolean so
12093           that deletion of plugin files is considered a registry change.
12094
12095         * gst/gst_private.h:
12096         * gst/gstregistry.c: (gst_registry_finalize),
12097         (gst_registry_remove_features_for_plugin_unlocked),
12098         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12099         (gst_registry_scan_path),
12100         (_priv_gst_registry_remove_cache_plugins),
12101         (_priv_gst_registry_cleanup):
12102         * gst/gstregistry.h:
12103         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
12104         by adding _priv prefix, so that they won't appear in the global
12105         symbol table. They still do atm though because of #318031. Move the
12106         prototypes to gst_private.h
12107
12108         When removing a plugin, remove all features for that plugin too. 
12109         Fixes #340878.
12110
12111 2006-09-27  Wim Taymans  <wim@fluendo.com>
12112
12113         * docs/random/moving-plugins:
12114         Make it clear that the "compiled-in descriptions" really mean
12115         the element details.
12116
12117         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12118         (gst_base_sink_wait_preroll):
12119         Update docs.
12120
12121         * docs/libs/gstreamer-libs-sections.txt:
12122         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
12123         (gst_base_src_get_range), (gst_base_src_activate_push):
12124         * libs/gst/base/gstbasesrc.h:
12125         Added function to block while waiting for PLAYING, this function
12126         is used by live sources that block on the clock.
12127         API: gst_base_src_wait_playing()
12128
12129 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12130
12131         Patch by: Peter Kjellerstedt <pkj at axis com>
12132
12133         * Makefile.am:
12134           gst-element-check.m4 is generated and should therefore be
12135           copied from the build dir rather than the source dir (#357593).
12136           'make distcheck' hasn't noticed this because we were disting
12137           the file as well, so stop doing that.
12138
12139 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12140
12141         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12142           Add some tests for gst_caps_intersect().
12143
12144         * tools/gst-launch.c: (event_loop):
12145           Print all buffering percentages we get, even the 100% one.
12146
12147 2006-09-26  Wim Taymans  <wim@fluendo.com>
12148
12149         * tools/gst-inspect.c: (print_element_properties_info),
12150         (print_signal_info):
12151         Fix printing of flags to match the look of enums.
12152
12153 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12154
12155         * gst/gstelementfactory.c:
12156           Fix typo in docs blurb.
12157
12158 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12159
12160         * gst/gsturi.c: (search_by_entry):
12161           Don't assert/crash here if a uri handler doesn't return any
12162           supported protocols. The list of protocols could be generated
12163           dynamically at runtime or at plugin registration, and an error
12164           in the underlying library shouldn't be fatal (#353301).
12165
12166 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12167
12168         * gst/gstinfo.c:
12169           Fix warning if HAVE_PRINTF_EXTENSION is undefined
12170           (spotted by Peter Kjellerstedt).
12171
12172 2006-09-23  Wim Taymans  <wim@fluendo.com>
12173
12174         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
12175
12176         * libs/gst/base/gstbasesrc.c:
12177         (gst_base_src_default_check_get_range), (gst_base_src_start),
12178         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12179         (gst_base_src_change_state):
12180         Match _start/_stop calls in the activate functions. Remove redundant
12181         _stop call from the state change function. Fixes #356910.
12182         Turn failure DEBUG into ERROR. 
12183
12184 2006-09-22  Wim Taymans  <wim@fluendo.com>
12185
12186         * docs/design/part-buffering.txt:
12187         * gst/gstmessage.c: (gst_message_new_buffering),
12188         (gst_message_parse_buffering):
12189         Update docs about buffering.
12190
12191         * docs/design/part-trickmodes.txt:
12192         Fix typo.
12193
12194 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
12195
12196         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12197         (gst_controller_new_list):
12198           Ref instances when returning them again (fixes #357180)
12199
12200 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12201
12202         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
12203           Don't forget to release proxy lock when there's an error.
12204
12205 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
12206
12207         * gst/gstcaps.h:
12208           Add extra initialisers for Caps things, to fix some plugin warnings
12209           when using -Wextra
12210
12211 2006-09-18  Wim Taymans  <wim@fluendo.com>
12212
12213         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
12214           Also set template on the internal pad so that a getcaps from the 
12215           target pad returns the template caps.
12216
12217 2006-09-18  Wim Taymans  <wim@fluendo.com>
12218
12219         * gst/gstelement.c: (gst_element_post_message),
12220         (gst_element_dispose):
12221         Use _DEBUG_OBJECT some more.
12222
12223         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12224         Avoid typechecks.
12225
12226         * tools/gst-launch.c: (main):
12227         If the toplevel element is not a GstPipeline, it must be put in a
12228         pipeline so that a bus and clock is selected.
12229
12230 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12231
12232         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
12233           JITTER, RATE, and LATENCY query should be handled by the
12234           default case and not by the CONVERT query code.
12235
12236 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12237
12238         * gst/gstformat.c: (gst_format_register):
12239           Fix locking order (must take lock before using n_values).
12240
12241         * gst/gstvalue.c: (gst_value_serialize_enum),
12242         (gst_value_deserialize_enum_iter_cmp),
12243         (gst_value_deserialize_enum):
12244           Fix serialisation/deserialisation of custom registered GstFormats.
12245
12246         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12247           Unit test for custom format serialisation/deserialisation.
12248
12249 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
12250
12251         * docs/pwg/building-boiler.xml:
12252         * plugins/elements/gstcapsfilter.c:
12253         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
12254         section.
12255
12256 2006-09-16  Edward Hervey  <edward@fluendo.com>
12257
12258         * libs/gst/base/gstbasetransform.c:
12259         (gst_base_transform_buffer_alloc):
12260         Check if requested caps are the same as the sinks caps IF
12261         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
12262         is FALSE.
12263         This fixes the renegotiation issues stated in #352827.
12264
12265 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12266
12267         * configure.ac:
12268         * docs/manual/advanced-autoplugging.xml:
12269         * tests/examples/Makefile.am:
12270         * tests/examples/manual/.cvsignore:
12271         * tests/examples/manual/Makefile.am:
12272         * tests/examples/manual/extract.pl:
12273           Extract the manual examples again like we used to do.
12274           Fix one of them.
12275
12276 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12277
12278         * win32/common/config.h:
12279           update for version
12280
12281 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
12282
12283         * gst/gsterror.c:
12284           Documents how to receive errors.
12285
12286 2006-09-15  Wim Taymans  <wim@fluendo.com>
12287
12288         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
12289         (event_loop), (main):
12290         Added some comments here and there.
12291         Post an application message when an interrupt is caught instead of doing
12292         an uncontrolled state change.
12293         Clean up the event loop.
12294         Handle buffering messages, pause/resume the pipeline.
12295         Make shutdown because of an interrupt more reliable.
12296
12297 2006-09-15  Wim Taymans  <wim@fluendo.com>
12298
12299         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12300         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
12301         (gst_base_sink_preroll_object):
12302         Make sure that our internal state is correct when we commit our state
12303         asynchronously. This solves a race where a state change to PLAYING
12304         could cause the sink to remain blocked in preroll in some situations.
12305
12306 2006-09-15  Wim Taymans  <wim@fluendo.com>
12307
12308         * tools/gst-inspect.c: (print_element_properties_info),
12309         (print_signal_info):
12310         List flags as hex so it's easier to deal with.
12311
12312 2006-09-15  Wim Taymans  <wim@fluendo.com>
12313
12314         * docs/libs/gstreamer-libs-sections.txt:
12315         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
12316         (gst_base_sink_do_sync):
12317         * libs/gst/base/gstbasesink.h:
12318         Expose logic to wait for preroll so that subclasses such as audiosink
12319         can also use this method.
12320         API: gst_base_sink_wait_preroll()
12321
12322 2006-09-15  Wim Taymans  <wim@fluendo.com>
12323
12324         * gst/gstobject.c: (gst_object_set_parent):
12325         * gst/gstpipeline.c: (do_pipeline_seek):
12326         Small cleanups in docs and code.
12327
12328         * gst/gstsegment.c: (gst_segment_clip):
12329         * tests/check/gst/gstsegment.c: (GST_START_TEST):
12330         if stop == start and start is in the segment, no clipping should be
12331         done. Also add a test for this.
12332
12333 2006-09-15  Wim Taymans  <wim@fluendo.com>
12334
12335         * docs/design/part-buffering.txt:
12336         * docs/gst/gstreamer-sections.txt:
12337         * gst/gstmessage.c: (gst_message_new_buffering),
12338         (gst_message_parse_buffering):
12339         * gst/gstmessage.h:
12340         Added methods to create and parse BUFFERING messages.
12341         Added preliminary docs about buffering.
12342         API: gst_message_new_buffering
12343         API: gst_message_parse_buffering
12344
12345 2006-09-06  Wim Taymans  <wim@fluendo.com>
12346
12347         * gst/gstbin.c:
12348         Update documentation.
12349
12350         * gst/gstelement.c: (gst_element_class_init),
12351         (gst_element_release_request_pad), (gst_element_set_clock),
12352         (gst_element_get_index), (gst_element_add_pad),
12353         (gst_element_remove_pad), (gst_element_get_random_pad),
12354         (gst_element_send_event), (gst_element_get_query_types),
12355         (gst_element_query), (gst_element_post_message),
12356         (gst_element_message_full), (gst_element_continue_state),
12357         (gst_element_lost_state), (gst_element_save_thyself),
12358         (gst_element_restore_thyself):
12359         Documentation updates.
12360         Rename last bit of the new-pad -> pad-added signal rename.
12361         Fix the case where an element query would only work if the source
12362         pad was linked.
12363         Avoid some useless type checking in message handling.
12364
12365         * gst/gstevent.c:
12366         * gst/gstevent.h:
12367         * gst/gstutils.c:
12368         Documentation updates.
12369
12370 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12371
12372         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
12373           add an INFO line for when we actually update the fd
12374
12375 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12376
12377         * configure.ac:
12378           back to TRUNK
12379
12380 === release 0.10.10 ===
12381
12382 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
12383
12384         * configure.ac:
12385           releasing 0.10.10, "Pais"
12386
12387 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
12388
12389         * docs/manual/advanced-position.xml:
12390           Fix typo in sample code.
12391
12392 2006-09-05  Wim Taymans  <wim@fluendo.com>
12393
12394         * libs/gst/net/gstnetclientclock.c: (inet_aton),
12395         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12396         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
12397         * libs/gst/net/gstnetclientclock.h:
12398         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12399         * libs/gst/net/gstnettimepacket.h:
12400         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
12401         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
12402         (gst_net_time_provider_thread), (gst_net_time_provider_new):
12403         * libs/gst/net/gstnettimeprovider.h:
12404         Make stuff compile on windows. Fixes #345295.
12405
12406 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12407
12408         * gst/gst.c: (ensure_current_registry_forking):
12409           Print better details when child was terminated by signal.
12410
12411 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12412
12413         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
12414           Print a warning rather than g_assert() if a plugin feature
12415           is a URI handler but returns no protocols (#353976).
12416
12417 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
12418
12419         * docs/random/moving-plugins:
12420         Fix two typos.         
12421
12422 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12423
12424         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
12425           Fix locking order, handle NULL function values properly.
12426
12427         * gst/gstinfo.h:
12428           Fix docs.
12429
12430         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
12431           Initialise variable before using it and fix debug statement to
12432           print the address of the function rather than the address of the
12433           variable on the stack holding the address of the function.
12434
12435 2006-09-01  Wim Taymans  <wim@fluendo.com>
12436
12437         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
12438         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
12439         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12440         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
12441         (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_init), (gst_ghost_pad_dispose),
12447         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
12448         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
12449         (gst_ghost_pad_new_no_target_from_template),
12450         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12451         More cleanups.
12452         Avoid needless typechecking in macros.
12453         Since the internal pad is always present and never changes, there is
12454         no need to locking or ref when retrieving it.
12455         Improve debugging a bit.
12456         Handle link errors when setting the target. Fixes #341029.
12457
12458 2006-09-01  Wim Taymans  <wim@fluendo.com>
12459
12460         * docs/libs/gstreamer-libs-sections.txt:
12461         * docs/plugins/gstreamer-plugins-sections.txt:
12462         Fix docs some more.
12463
12464         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12465         (gst_collect_pads_event):
12466         * libs/gst/base/gstcollectpads.h:
12467         Documentation updates.
12468         Free queued buffer when removing a pad.
12469
12470 2006-08-31  Michael Smith  <msmith@fluendo.com>
12471
12472         * gst/gstutils.c: (gst_element_link_pads),
12473         (gst_element_link_pads_filtered):
12474           Ensure that we set a capsfilter to NULL if we failed to link it
12475           when doing filtered linking, to avoid criticals.
12476
12477           No need to check for unreffing srcpad, which is explicly NULLed
12478           above (a trivial code cleanup).
12479
12480 2006-08-31  Wim Taymans  <wim@fluendo.com>
12481
12482         * docs/design/part-gstghostpad.txt:
12483         Update ascii art in documentation.
12484
12485         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
12486         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
12487         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12488         (gst_ghost_pad_internal_do_activate_push),
12489         (gst_ghost_pad_internal_do_activate_pull),
12490         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12491         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12492         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
12493         (gst_ghost_pad_set_target):
12494         Small cleanups and leak fixes.
12495         Remove some checks now that the internal pad is never NULL.
12496         Fix the case where linking pads without a target would create nasty
12497         criticals. Fixes #341029.
12498         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
12499         value of _set_target().
12500
12501         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12502         (gst_ghost_pad_suite):
12503         Some more tests for creating and linking untargeted ghostpads.
12504
12505 2006-08-31  Edward Hervey  <edward@fluendo.com>
12506
12507         * docs/gst/gstreamer-sections.txt:
12508         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
12509         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12510         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
12511         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
12512         (gst_ghost_pad_new_from_template),
12513         (gst_ghost_pad_new_no_target_from_template):
12514         * gst/gstghostpad.h:
12515         Refactored *_new() functions.
12516         Templates are now used as a g_object_new() parameter.
12517         Use template in _do_getcaps() if we don't have a target.
12518         Small documentation cleanups.
12519         Added two new constructors:
12520         gst_ghost_pad_new_from_template()
12521         gst_ghost_pad_new_no_target_from_template()
12522         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12523         (gst_ghost_pad_suite):
12524         Added tests for new ghostpad instanciation functions.
12525
12526         API additions: gst_ghost_pad_new_from_template,
12527         gst_ghost_pad_new_no_target_from_template
12528
12529 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
12530
12531         * docs/random/ensonic/profiling.txt:
12532           Ideas about qos profiling.
12533
12534 2006-08-29  Wim Taymans  <wim@fluendo.com>
12535
12536         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
12537         Code cleanups.
12538         Fix memleak.
12539
12540 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
12541
12542         * gst/gstxml.c:
12543           Improve and detypofy docs.
12544
12545         * tests/check/Makefile.am:
12546         * tests/check/gst/.cvsignore:
12547         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
12548           Add a basic test suite for GstXML.
12549
12550 2006-08-29  Wim Taymans  <wim@fluendo.com>
12551
12552         * gst/gstelement.c: (activate_pads), (clear_caps),
12553         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12554         Clear the pad caps when the element shut down all of the pads and
12555         is not streaming data that could modify the caps. 
12556         Fixes #352958.
12557
12558 2006-08-28  Michael Smith  <msmith@fluendo.com>
12559
12560         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12561           Revert previous change; I misunderstood single-segment mode.
12562
12563 2006-08-28  Michael Smith  <msmith@fluendo.com>
12564
12565         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12566           Unset DISCONT on buffers when using single-segment mode.
12567
12568 2006-08-28  Wim Taymans  <wim@fluendo.com>
12569
12570         * gst/gstcaps.c: (gst_caps_merge_structure):
12571         * gst/gstcaps.h:
12572         Fix docs and indentation again.
12573
12574         * tests/check/gst/gstquery.c: (GST_START_TEST):
12575         Fix leak in tests and add some more tests.
12576
12577 2006-08-28  Edward Hervey  <edward@fluendo.com>
12578
12579         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12580         Inform GstSegment of the last stop position in order for the current
12581         segment to have a proper duration if it doesn't have a specific stop
12582         position from which a duration could be calculated.
12583         This bug was noticeable when a non-flushing, non-update new segment was
12584         followed by another segment (all buffers from the new segment were being
12585         dropped).
12586
12587 2006-08-28  Wim Taymans  <wim@fluendo.com>
12588
12589         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12590         Small comment update.
12591
12592         * plugins/elements/gstidentity.c: (gst_identity_class_init),
12593         (gst_identity_transform_ip):
12594         Drop-probability is broken, mention this in the code with a 
12595         FIXME and also in the property description.
12596         Make silent also be silent about the drop messages.
12597
12598 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
12599
12600         * docs/manual/appendix-win32.xml:
12601           Remove mention of popt, we don't depend on that any
12602           longer (#353136). Add some comments pointing out that
12603           this section is slightly outdated.
12604
12605 2006-08-28  Wim Taymans  <wim@fluendo.com>
12606
12607         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12608
12609         * gst/gstquery.c: (gst_query_new_segment):
12610         * tests/check/gst/gstquery.c: (GST_START_TEST):
12611         Initialize variables when creating a new segment query.
12612         Fixes #353121.
12613
12614 2006-08-28  Wim Taymans  <wim@fluendo.com>
12615
12616         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12617
12618         * gst/gstelement.c: (gst_element_get_bus):
12619         * tests/check/gst/gstelement.c: (GST_START_TEST):
12620         Check for NULL before _reffing the bus. Fixes #353122.
12621
12622 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
12623
12624         * docs/manual/basics-bus.xml:
12625           Docs update: fix wrong callback return value explanation; add
12626           some lines about the implicit relationship between main loop
12627           and main context; remove duplicate main loop variable declaration.
12628
12629 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
12630
12631         * tests/check/gst/gstcaps.c: (GST_START_TEST):
12632           Don't leak caps in unit test; add a few more simple
12633           checks. 
12634
12635 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
12636
12637         * docs/gst/gstreamer-sections.txt:
12638         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
12639         (gst_caps_structure_is_subset), (gst_caps_merge),
12640         (gst_caps_merge_structure):
12641         * gst/gstcaps.h:
12642         * libs/gst/base/gstbasetransform.c:
12643         (gst_base_transform_transform_caps):
12644         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12645           implement caps merging (fixes #352580)
12646
12647 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
12648
12649         * tools/Makefile.am:
12650         * tools/gst-plot-timeline.py:
12651           add debug-log plotting developer tool (#340674)
12652
12653 2006-08-23  Wim Taymans  <wim@fluendo.com>
12654
12655         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
12656         (gst_pad_stop_task):
12657         Improve debugging for task functions.
12658
12659         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
12660         (gst_task_start), (gst_task_pause), (gst_task_join):
12661         Make sure that the task function started and finished after a 
12662         join(). 
12663         Don't try to push the task function on the threadpool multiple
12664         times.
12665         Improve the g_warning message with some useful suggestions
12666         about how to fix the problem. 
12667
12668 2006-08-23  Wim Taymans  <wim@fluendo.com>
12669
12670         * gst/gstutils.c: (gst_pad_proxy_getcaps):
12671         Handle RESYNC correctly in _proxy_getcaps.
12672
12673 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
12674
12675         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
12676         (gst_xml_parse_memory), (gst_xml_get_element):
12677           Chain up to parent class in dispose function and also
12678           unref the elements in the toplevel_elements GList.
12679           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
12680           Always return a reference in gst_xml_get_element() rather
12681           than only sometimes.
12682
12683         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12684           Don't leak GstXml object.
12685
12686 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
12687
12688         * docs/gst/gstreamer-sections.txt:
12689         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
12690         (gst_caps_merge):
12691         * gst/gstcaps.h:
12692         * libs/gst/base/gstbasetransform.c:
12693         (gst_base_transform_transform_caps):
12694           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
12695           in a better way
12696
12697 2006-08-21  Edward Hervey  <edward@fluendo.com>
12698
12699         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
12700         Implement GObject::dispose virtual method in GstXML so we can free the
12701         top_elements GList.
12702
12703 2006-08-21  Wim Taymans  <wim@fluendo.com>
12704
12705         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
12706         (gst_buffer_create_sub):
12707         Copy duration/offset_end/caps when creating a subbuffer of the
12708         complete parent.
12709         Make the subbuffer read-only when we make the metadata writable for
12710         now. Fixes #351768.
12711
12712         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12713         Added check for metadata copy when creating subbuffers.
12714
12715 2006-08-21  Edward Hervey  <edward@fluendo.com>
12716
12717         * libs/gst/base/gstbasetransform.c:
12718         (gst_base_transform_buffer_alloc):
12719         Only call downstream buffer_alloc if transform element is passthrough
12720         or always_in_place. Closes #350449.
12721
12722 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12723
12724         * ChangeLog:
12725           ChangeLog surgery to add comments to previous changes
12726
12727 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12728
12729         * gst/gst.c:
12730           Add comments
12731
12732         * gst/gstpad.c: (gst_pad_set_active):
12733           Be more verbose in the log
12734
12735         * libs/gst/base/gstbasetransform.c:
12736         (gst_base_transform_transform_caps):
12737           Simplify caps to get rid of duplicates, fixes #345444
12738
12739 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12740
12741         * gst/gstvalue.c:
12742         * gst/gstvalue.h:
12743           Use these optimizations only internally.
12744
12745 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12746
12747         * gst/gstvalue.c: (gst_value_compare_list),
12748         (gst_value_compare_fraction_range),
12749         (gst_value_intersect_fraction_fraction_range),
12750         (gst_value_intersect_fraction_range_fraction_range),
12751         (gst_value_subtract_fraction_fraction_range),
12752         (gst_value_subtract_fraction_range_fraction_range),
12753         (gst_value_get_compare_func), (gst_value_compare),
12754         (gst_value_compare_with_func):
12755         * gst/gstvalue.h:
12756           Saves the expensive lookup of the compare function in many cases
12757          (#345444)
12758
12759 2006-08-18  Edward Hervey  <edward@fluendo.com>
12760
12761         * tests/check/gst/gstinfo.c: (gst_info_suite):
12762         Disable test that require gstdebug if it wasn't built in core.
12763
12764 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
12765
12766         * docs/random/ensonic/logging.txt:
12767           update ideas
12768           
12769         * gst/gstinfo.c: (gst_debug_log_default):
12770           reorder fields, save some columns, add optional color codes for log
12771           levels
12772
12773 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
12774
12775         * docs/random/ensonic/logging.txt:
12776           add ideas about making the logs a bit more useful
12777
12778 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
12779
12780         * docs/pwg/advanced-events.xml:
12781         * docs/pwg/titlepage.xml:
12782           Update for 0.10 API (#340627). Add myself
12783           to authors list.
12784
12785 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
12786
12787         * docs/libs/gstreamer-libs-docs.sgml:
12788         * docs/libs/gstreamer-libs-sections.txt:
12789         * libs/gst/check/gstbufferstraw.c:
12790           Make gstcheck stuff show up in docs (still needs to
12791           be documented properly though).
12792
12793 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
12794
12795         * docs/gst/gstreamer-sections.txt:
12796         * gst/Makefile.am:
12797         * gst/gst.c: (init_post):
12798         * gst/gst_private.h:
12799         * gst/gstquark.c: (_priv_gst_quarks_initialize):
12800         * gst/gstquark.h:
12801         * gst/gstquery.c: (gst_query_new_position),
12802         (gst_query_set_position), (gst_query_parse_position),
12803         (gst_query_new_duration), (gst_query_set_duration),
12804         (gst_query_parse_duration), (gst_query_new_convert),
12805         (gst_query_set_convert), (gst_query_parse_convert),
12806         (gst_query_new_segment), (gst_query_set_segment),
12807         (gst_query_parse_segment), (gst_query_new_seeking),
12808         (gst_query_set_seeking), (gst_query_parse_seeking):
12809         Add internal helpers for pre-registering quarks from static strings
12810         and using the quark values directly instead of looking them up when
12811         creating and parsing queries. Can be used for event construction too.
12812         Closes #350432.
12813
12814 2006-08-16  Wim Taymans  <wim@fluendo.com>
12815
12816         * gst/gstbin.c:
12817         Fix bogus docs.
12818
12819 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12820
12821         * gst/gstutils.c: (gst_util_set_value_from_string):
12822           Fix memleak (#351502).
12823
12824         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12825           Add unit test for most of gst_util_set_value_from_string()
12826           (not that one would want to encourage use of this function).
12827
12828 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12829
12830         * libs/gst/check/gstcheck.h:
12831           Use const gchar * variables in fail_unless_equals_string
12832           macro to avoid compiler warnings (and don't use tabs for
12833           indenting).
12834
12835 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12836
12837         * tools/gst-launch.c: (print_tag):
12838           More space on the left for the tag names, to cater
12839           for the 'extended comment' tag (not touching the
12840           string for the first line since it's translated).
12841
12842 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12843
12844         * libs/gst/check/gstcheck.h:
12845           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
12846           print something when they fail.
12847
12848 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
12849
12850         * docs/gst/gstreamer-sections.txt:
12851         * gst/gsttaglist.c: (_gst_tag_initialize):
12852         * gst/gsttaglist.h:
12853           API: add GST_TAG_EXTENDED_COMMENT (#350935).
12854           Also change merge function for GST_TAG_COMMENT to
12855           use_first.
12856
12857 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
12858
12859         * gst/gstinfo.c: (gst_debug_print_object):
12860           Make GST_PTR_FORMAT print messages as well.
12861
12862         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
12863         (GST_START_TEST), (gst_info_suite):
12864           More tests.
12865
12866 2006-08-14  Edward Hervey  <edward@fluendo.com>
12867
12868         * gst/gstelementfactory.c: (gst_element_register):
12869         If the GstElementClass doesn't have a GstElementDetails with all fields
12870         filled up correctly (longname, description AND author), then error out
12871         nicely instead of crashing.
12872
12873 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
12874
12875         * gst/gststructure.c:
12876           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
12877
12878         * gst/gstvalue.h:
12879           Expand on the difference between arrays and lists as we use them.
12880           
12881 2006-08-14  Wim Taymans  <wim@fluendo.com>
12882
12883         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
12884         If the parent state change function failed, don't assume we can safely
12885         stop the source, this will be done when the pads are deactivated.
12886
12887 2006-08-14  Wim Taymans  <wim@fluendo.com>
12888
12889         * gst/gstbuffer.c:
12890         * gst/gsttask.c: (gst_task_join):
12891         Small doc updates.
12892
12893         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
12894         (gst_pad_stop_task):
12895         When pad (de)activation failed for some reason, restore the old
12896         activation mode and set the pad to flushing instead of assuming the
12897         pad is deactivated.
12898         If the _task_join() failed, reinstall the task on the pad so that it can
12899         be stopped later and return an error.
12900
12901 2006-08-11  Andy Wingo  <wingo@pobox.com>
12902
12903         * configure.ac:
12904         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
12905         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
12906         is only for users of API that don't want to see deprecated
12907         functions in the headers; people that want to compile out
12908         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
12909         CFLAGS. Fixes the build of multifdsink, or will soon..
12910
12911 2006-08-11  Wim Taymans  <wim@fluendo.com>
12912
12913         * docs/gst/gstreamer-sections.txt:
12914         Add GstClockClass vmethod docs.
12915
12916         * gst/gstcaps.h:
12917         Mark #endif with comment for associated #if
12918
12919         * gst/gstclock.c: (gst_clock_id_wait):
12920         * gst/gstclock.h:
12921         Add vmethod wait_jitter to avoid an unneeded _get_time() for
12922         most clock implementations.
12923         Document vmethods.
12924         Flesh out docs about resolution methods.
12925         API: GstClockClass::wait_jitter
12926
12927         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12928         (gst_system_clock_async_thread),
12929         (gst_system_clock_id_wait_jitter_unlocked),
12930         (gst_system_clock_id_wait_jitter):
12931         Use base class wait_jitter variant for improved performance
12932         due to less clock polling.
12933
12934 2006-08-11  Edward Hervey  <edward@fluendo.com>
12935
12936         * gst/gst.c: (gst_init_check), (init_post):
12937         Set gst as being initialized before scanning/updating the registry,
12938         since there might be my python plugin loader that calls gst_init() and
12939         we don't want to loop back in.
12940         Closes #350879
12941
12942 2006-08-11  Wim Taymans  <wim@fluendo.com>
12943
12944         * docs/design/part-qos.txt:
12945         Bring docs in line with the code. Mostly the sign of the jitter was
12946         wrong in the docs. Fixes #349943.
12947
12948         * gst/gstclock.c:
12949         Fix the docs for the jitter.
12950
12951         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
12952         (gst_event_parse_tag), (gst_event_new_buffer_size),
12953         (gst_event_parse_buffer_size), (gst_event_parse_qos),
12954         (gst_event_new_seek), (gst_event_parse_seek),
12955         (gst_event_new_navigation):
12956         Make sure the GstStructure has no parent when creating custom
12957         events.
12958         Add some more argument checking so that we avoid 0.0 rates.
12959         Flesh out the docs for the QoS event some more.
12960
12961 2006-08-11  Wim Taymans  <wim@fluendo.com>
12962
12963         * docs/gst/gstreamer-sections.txt:
12964         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
12965         (ensure_current_registry_forking), (ensure_current_registry),
12966         (parse_one_option), (parse_goption_arg), (gst_deinit),
12967         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
12968         * gst/gst.h:
12969         Doc updates.
12970         Added API and command line option to disable registry forking in
12971         addition to the environment variable.
12972         Constify some static arrays.
12973         Added some more debug.
12974         Don't deinit twice.
12975         API: gst_registry_fork_is_enabled()
12976         API: gst_registry_fork_set_enabled()
12977         API: --gst-disable-registry-fork command line option
12978         Fixes #348918.
12979
12980 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
12981
12982         * gst/gst.c: (gst_init):
12983           Fix typo in error message.
12984
12985 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
12986
12987         * libs/gst/controller/gstcontroller.h:
12988           fix ABI size-correction
12989
12990         * tests/check/libs/gdp.c: (gst_dp_suite):
12991           make tests that use deprecated API conditional
12992
12993 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
12994
12995         * docs/libs/gstreamer-libs-sections.txt:
12996         * libs/gst/controller/gstcontroller.c:
12997         (_gst_controller_get_property), (_gst_controller_set_property),
12998         (_gst_controller_init), (_gst_controller_class_init):
12999         * libs/gst/controller/gstcontroller.h:
13000         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
13001         (gst_object_set_control_rate):
13002           API: add gst_object_{s,g}et_control_rate(), add private data section,
13003           fix docs
13004
13005         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
13006         * libs/gst/dataprotocol/dataprotocol.h:
13007           add deprecation guards to make gtk-doc happy and allow disabling cruft
13008
13009 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
13010
13011         * tests/check/Makefile.am:
13012         * tests/check/gst/.cvsignore:
13013           Let's enable the new unit test as well.
13014
13015 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
13016
13017         * configure.ac:
13018         * docs/gst/gstreamer-sections.txt:
13019         * gst/gstconfig.h.in:
13020         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
13021         (_gst_info_printf_extension_ptr),
13022         (_gst_info_printf_extension_segment):
13023           API: add GST_SEGMENT_FORMAT, which is a printf extension we
13024           register that lets us easily dump GstSegments into debug
13025           logs (#350419).
13026
13027         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
13028         (info_segment_format_printf_extension), (gst_info_suite):
13029           Add simple unit test that logs a bunch of different segments (not
13030           valgrinded at the moment because of leaks in
13031           gst_debug_add_log_function).
13032
13033 2006-08-09  Edward Hervey  <edward@fluendo.com>
13034
13035         * libs/gst/base/gstbasetransform.c:
13036         (gst_base_transform_buffer_alloc):
13037         Even if we can't figure out the proper format to request downstream,
13038         call buffer_alloc() downstream with the input parameters without setting
13039         the caps on the srcpad. This will force negotiation in the chain
13040         function.
13041         Closes #350449
13042
13043 2006-08-08  Edward Hervey  <edward@fluendo.com>
13044
13045         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
13046         Unlinking from a pad without a target is now a perfectly valid case
13047         which should NOT raise an assertion.
13048         This case would happen if a linked ghostpad its target set to NULL after
13049         it was previously linked.
13050
13051 2006-08-08  Edward Hervey  <edward@fluendo.com>
13052
13053         * tests/check/libs/gdp.c:
13054         Also comment out the test (see below).
13055
13056 2006-08-08  Edward Hervey  <edward@fluendo.com>
13057
13058         * tests/check/libs/gdp.c: (gst_dp_suite):
13059         Use the architecture information from config.h and not gcc macros
13060         in order to properly disable a test that fails on PPC64.
13061
13062 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
13063
13064         * gst/gstelement.c: (gst_element_remove_pad):
13065           Don't crash printing the warning if the pad has no parent.
13066
13067 2006-08-02  Wim Taymans  <wim@fluendo.com>
13068
13069         * libs/gst/dataprotocol/dataprotocol.c:
13070         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
13071         (gst_dp_crc), (gst_dp_header_payload_length),
13072         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
13073         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
13074         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
13075         (gst_dp_event_from_packet), (gst_dp_validate_header),
13076         (gst_dp_validate_payload):
13077         Make debug category static
13078         Constify the crc table.
13079         Do some more arg checking in public functions.
13080         Fix some docs and do some small cleanups.
13081
13082         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
13083         Add some more checks to see if GDP deals with bogus input.
13084
13085 2006-07-31  Wim Taymans  <wim@fluendo.com>
13086
13087         * gst/gstvalue.c: (gst_value_compare_list):
13088         Fix GstValueList comparison code. Fixes #347293.
13089
13090         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13091         Check to test GstValueList comparison.
13092
13093 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13094
13095         * gst/gstelementfactory.c: (gst_element_factory_create):
13096         Remove unnecessary ref/unref pair
13097
13098         * gst/parse/grammar.y:
13099         Make sure to free the parse buffer on all code paths.
13100         Move a g_free up to the error handler where it's easier to see.
13101
13102         * tests/check/gst/gstevent.c: (test_event):
13103         Extending timeout for downstream travelling events to 10 seconds to
13104         hopefully avoid intermittent failure on the buildbots.
13105
13106         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
13107         Don't manually set the state of the src element - it will happen as a
13108         natural consequence of the pipeline changing state, and that way it
13109         will do it in the right order too.
13110
13111 2006-07-31  Wim Taymans  <wim@fluendo.com>
13112
13113         * libs/gst/base/gstbasetransform.c:
13114         (gst_base_transform_buffer_alloc):
13115         Use OBJECT_LOCK and refcounting to get the pad caps in the
13116         buffer_alloc function because the caps could change while we are
13117         busy with them. Fixes #349105
13118
13119 2006-07-31  Wim Taymans  <wim@fluendo.com>
13120
13121         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
13122         Protect _PAD_CAPS with OBJECT_LOCK.
13123
13124 2006-07-31  Wim Taymans  <wim@fluendo.com>
13125
13126         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
13127         (gst_pad_get_property), (gst_pad_activate_pull),
13128         (gst_pad_activate_push), (gst_pad_set_blocked_async),
13129         (gst_pad_set_activate_function),
13130         (gst_pad_set_activatepull_function),
13131         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
13132         (gst_pad_set_getrange_function),
13133         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
13134         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13135         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
13136         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
13137         (gst_pad_set_acceptcaps_function),
13138         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13139         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
13140         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
13141         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
13142         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
13143         (gst_pad_configure_sink), (gst_pad_configure_src),
13144         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
13145         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
13146         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
13147         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
13148         (gst_pad_send_event):
13149         Use _DEBUG_OBJECT when it makes sense.
13150         Protect GST_PAD_CAPS with the OBJECT_LOCK.
13151         Small cleanups and code reflows.
13152         Avoid caps refcounting in _accept_caps.
13153         Refactor alloc_buffer so that the code performed on the peer is in a
13154         separate function. Also if the pad does not implement a buffer alloc
13155         function, we should still check if the pad is flushing before falling
13156         back to the default allocator.
13157
13158 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13159
13160         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13161         Make all uses of identity and fakesink have silent=true to avoid
13162         serialising every passing data structure, which is breaking tests
13163         on FC4 for some unknown reason.
13164
13165 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13166
13167         * gst/parse/Makefile.am:
13168         * gst/parse/grammar.y:
13169         * gst/parse/parse.l:
13170           Reverted previous patch as it required to bump the flex dependency to
13171           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
13172
13173 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13174
13175         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
13176
13177         * gst/parse/Makefile.am:
13178         * gst/parse/grammar.y:
13179         * gst/parse/parse.l:
13180           push & pop the state of the lexer for reentrant use case
13181           Fixes #349180
13182
13183 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
13184
13185         * libs/gst/base/gstbasesrc.h:
13186           Note in the docs that the ::newsegment vfunc is not actually used by
13187           GstBaseSrc.
13188
13189 2006-07-28  Wim Taymans  <wim@fluendo.com>
13190
13191         * libs/gst/base/gstcollectpads.c:
13192         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
13193         (gst_collect_pads_clear), (gst_collect_pads_flush),
13194         (gst_collect_pads_event), (gst_collect_pads_chain):
13195         When flushing a pad, also clear the queued buffer so that we don't
13196         accidentally use it when we shouldn't.
13197         Fix leaks by inreffing incomming buffer.
13198         Flush out queued buffers in case of errors.
13199         Fixes #347452.
13200
13201 2006-07-28  Wim Taymans  <wim@fluendo.com>
13202
13203         * docs/random/phonon-gst:
13204         Random notes about a Phonon backend.
13205
13206 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13207
13208         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13209         Extra debug output
13210         * tests/check/libs/gdp.c: (gst_dp_suite):
13211         Take a whack at fixing the ppc compile using a different define to
13212         disable the broken test.
13213
13214         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13215         Remove excess g_print()
13216
13217 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13218
13219         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13220         Oops, meant to uncomment this line too to dampen the noise a bit.
13221
13222 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13223
13224         * gst/parse/grammar.y:
13225         * gst/parse/parse.l:
13226         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13227         (GST_START_TEST), (parse_suite):
13228         Fix some of the leaks exposed by extending the parse-launch testsuite,
13229         and move the 3 I can't figure out into a separate test that won't run
13230         the pipelines unless the appropriate line is uncommented.
13231
13232 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13233
13234         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13235           Requesting 0 bytes before the end of the file should result in
13236           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
13237           unit test.
13238
13239 2006-07-27  Wim Taymans  <wim@fluendo.com>
13240
13241         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
13242         Fix useless assert, a uint is always positive.
13243
13244         * gst/gststructure.c: (gst_structure_nth_field_name),
13245         (gst_structure_foreach), (gst_structure_map_in_place):
13246         Check input arguments for public functions to avoid obvious crashes.
13247
13248         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
13249         * plugins/elements/gstfakesink.h:
13250         Do less useless typechecking.
13251
13252 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13253
13254         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13255           Do not use mmap() by default since there are a number of error
13256           conditions that we would like to handle in a non-fatal way that
13257           will result in a SIGBUS if we use mmap(). Examples: external
13258           devices (USB harddrive, portable music player) being unplugged
13259           while in use; file on mounted CD/DVD that can't be read because
13260           the medium is partly damaged. Fixes #348455 and #348475.
13261
13262 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13263
13264         * gst/gstquery.h:
13265         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
13266         rates are a gdouble
13267
13268 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
13269
13270         * gst/gstregistry.c:
13271           Move big documentation comment into class section header, so that it
13272           appears in the API docs.
13273
13274 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13275
13276         * docs/gst/gstreamer-sections.txt:
13277         Oops. Commit the docs additions too for new API.
13278         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
13279
13280 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13281
13282         * gst/gststructure.c: (gst_structure_id_set),
13283         (gst_structure_id_set_valist):
13284         * gst/gststructure.h:
13285         Add API for setting values into structures without performing
13286         a quark lookup, if the appropriate quark is already known.
13287
13288         API: gst_structure_id_set
13289         API: gst_structure_id_set_valist
13290
13291         * gst/parse/grammar.y:
13292         * gst/parse/parse.l:
13293         Remove some dead code shown by the coverage information.
13294         Don't throw a critical g_warning when encountering a syntax error,
13295         just warn and let the normal error path handle it.
13296
13297         * plugins/elements/gstelements.c:
13298         Bump the rank of filesink up to PRIMARY so that it is preferred over
13299         gnomevfssink for file:// sink uri's
13300
13301         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13302         (GST_START_TEST), (run_delayed_test),
13303         (gst_parse_test_element_base_init),
13304         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
13305         (gst_parse_test_element_change_state),
13306         (gst_register_parse_element), (parse_suite):
13307         Beef up the tests for parse syntax to check that more error cases
13308         fail as they are supposed to. Increases the test coverage a bit.
13309
13310 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
13311
13312         * docs/manual/basics-elements.xml:
13313           Fix gst_element_link() example.
13314
13315         * gst/gstutils.c:
13316           Mention in API docs that one should usually gst_bin_add()
13317           elements to a bin or pipeline before doing the linking.
13318           
13319 2006-07-26  Wim Taymans  <wim@fluendo.com>
13320
13321         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13322         (gst_subbuffer_get_type), (gst_buffer_create_sub):
13323         Avoid function call for known types by keeping the buffer and
13324         subbuffer GType global.
13325
13326         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13327         Random silly optimisations in read() path.
13328
13329 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13330
13331         * tools/gst-launch.c: (main):
13332           If the top-level of the parse is a normal bin, it doesn't do the
13333           right logic to run as a top-level element, so place it inside a
13334           pipeline.
13335
13336 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
13337
13338         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
13339           Remove superfluous g_object_notify() calls, GObject does
13340           that for us automatically.
13341
13342 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
13343
13344         * gst/gstinfo.h:
13345           on Win32, use dllspec to export the debug category symbols
13346
13347 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
13348
13349         * gst/gsttaglist.c: (_gst_tag_initialize):
13350           Allow more than one GST_TAG_IMAGE per taglist.
13351
13352 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13353
13354         * gst/gstminiobject.c:
13355           update docs
13356         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
13357         (gst_fd_src_create):
13358           log recurring events at LOG level
13359           add more debug for when the fd gets set
13360
13361 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13362
13363         * gst/gstparse.c: (gst_parse_launch):
13364           Also remove reentrance checks if flex is MT safe (#348179)
13365          Fix my empty ChangeLog entry below
13366
13367 2006-07-21  Andy Wingo  <wingo@pobox.com>
13368
13369         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
13370
13371         * libs/gst/check/Makefile.am
13372         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
13373         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
13374         * libs/gst/check/gstbufferstraw.h:
13375         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
13376         functions, thus proving I am still a GStreamer haxor. OK I wrote
13377         them a long time ago, but anyways.
13378
13379 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13380
13381         * configure.ac:
13382         * gst/gstparse.c: (gst_parse_launch):
13383           Check for flex version and omit mutex if we have a MT save flex
13384           (fixes #348179)
13385
13386 2006-07-21  Wim Taymans  <wim@fluendo.com>
13387
13388         * gst/gstparse.c: (gst_parse_launch):
13389         Protect recursive calls to _parse with a recursive mutex
13390         and busy flag.
13391
13392 2006-07-21  Wim Taymans  <wim@fluendo.com>
13393
13394         * tests/check/gst/gstpad.c: (GST_START_TEST):
13395         Fix leak in test.
13396
13397 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
13398
13399         * gst/gstparse.c: (gst_parse_launch):
13400           Do not hang on recursive usage of gst_parse_launch()
13401
13402 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13403
13404         * gst/gsttaglist.c:
13405           Add some more docs, comments and FIXME 0.11s here and there
13406           and also fix some typos.
13407
13408 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13409
13410         * gst/gstsegment.h:
13411           Convert tabs to spaces for better readability. 
13412
13413 2006-07-20  Edward Hervey  <edward@fluendo.com>
13414
13415         * tests/check/libs/gdp.c: (gst_dp_suite):
13416         the test_buffer test fails at line 140 on ppc64 at the following
13417         check:
13418         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
13419                 GST_BUFFER_FLAG_IN_CAPS),
13420                 "GST_BUFFER_IN_CAPS flag should have been copied !");
13421         See bug #348114 for more details.
13422
13423 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
13424
13425         * docs/pwg/advanced-scheduling.xml:
13426         * gst/gstpad.c:
13427           Fix typos (#348000).
13428
13429 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
13430
13431         * docs/pwg/intro-basics.xml:
13432           Fix wrong links (#347927).
13433
13434 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
13435
13436         * gst/gstregistry.h:
13437         * gst/gstregistryxml.c: (load_feature),
13438         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
13439         * win32/common/config.h:
13440           make --disable-index work (#342564)
13441
13442 2006-07-18  Wim Taymans  <wim@fluendo.com>
13443
13444         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13445
13446         * gst/Makefile.am:
13447         * gst/gsttrace.h:
13448         The attached patch adds two missing defines to gsttrace.h when tracing
13449         is disabled.  It also corrects one existing define.
13450         Fixes #347756.
13451
13452 2006-07-17  Wim Taymans  <wim@fluendo.com>
13453
13454         * docs/gst/gstreamer-sections.txt:
13455         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
13456         * gst/gst.h:
13457         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
13458         Add two functions to check and change the SIGSEGV behaviour
13459         when loading plugins.
13460         Don't mess with the SIGSEGV handler when we were told not to.
13461         Fixes #347794.
13462         API: gst_segtrap_is_enabled
13463         API: gst_segtrap_set_enabled
13464
13465 2006-07-14  Wim Taymans  <wim@fluendo.com>
13466
13467         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13468         * tests/check/elements/filesrc.c: (GST_START_TEST):
13469         Revert fix for regression in #347408 after release.
13470
13471 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
13472
13473         Patch by: Antoine Tremblay <hexa00 at gmail com>
13474
13475         * gst/gstutils.c: (gst_element_unlink):
13476           Free iterator when done (#347311).
13477
13478         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13479           And add a test case for this.
13480
13481 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
13482
13483         * configure.ac:
13484         Bump nano back to CVS
13485
13486 === release 0.10.9 ===
13487
13488 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
13489
13490         * configure.ac:
13491           releasing 0.10.9, "On the road again"
13492
13493 2006-07-13  Wim Taymans  <wim@fluendo.com>
13494
13495         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13496         * tests/check/elements/filesrc.c: (GST_START_TEST):
13497         Revert pull-0 fix for release. Disable check. Fixes #347408.
13498
13499 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13500
13501         * libs/gst/dataprotocol/dataprotocol.c:
13502         (gst_dp_event_from_packet_1_0):
13503           Fixes #347337: failure to deserialize event packets with
13504           empty payload (only event type)
13505
13506 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13507
13508         * gst/Makefile.am:
13509           do not install a .c file in the header directory
13510
13511 2006-07-13  Edward Hervey  <edward@fluendo.com>
13512
13513         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13514         GhostPad no longer implicitely use the padtemplates of the targets.
13515         Fixes #347384
13516
13517 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
13518
13519         * gst/gstvalue.c: (gst_value_compare_list),
13520         (gst_value_compare_array), (_gst_value_initialize):
13521         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13522         Make GstValueArray comparison be order dependent as designed.
13523         Add checks for value lists and value array comparisons.
13524         Fixes #347221
13525
13526 2006-07-11  Edward Hervey  <edward@fluendo.com>
13527
13528         * gst/gstbin.c: (activate_pads),
13529         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13530         (gst_bin_change_state_func):
13531         (de)activate src pads before calling state_change on the childs.
13532         This is to avoid the case where a src ghostpad is blocked (holding the
13533         stream lock), which would block the deactivation of the ghostpad's
13534         target pad.
13535         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
13536         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
13537         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
13538         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13539         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13540         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13541         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
13542         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
13543         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
13544         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
13545         (gst_ghost_pad_class_init),
13546         (gst_ghost_pad_internal_do_activate_push),
13547         (gst_ghost_pad_internal_do_activate_pull),
13548         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
13549         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13550         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
13551         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
13552         GhostPads now create their internal GstProxyPad at creation (and not
13553         when they're linked, as it was being done previously).
13554         The internal and target pads are linked straight away.
13555         The data will also travel through the other pad in order to make
13556         pad blocking and probes non-hackish (the probe/block now really happens
13557         on the GhostPad and not on the target).
13558         * gst/gstpad.c: (gst_pad_set_blocked_async),
13559         (gst_pad_link_prepare), (gst_pad_push_event):
13560         Remove previous ghostpad cruft.
13561         * gst/gstutils.c: (gst_pad_add_data_probe),
13562         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13563         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13564         (gst_pad_remove_buffer_probe):
13565         Remove previous ghost pad cruft.
13566         Added more detailed debug statements.
13567         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13568         Fix the testsuite for refcounting changes.
13569         The comments about who has references were correct, but the refcount
13570         being checked wasn't the same (!?!).
13571
13572         Fixes #341029
13573
13574 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13575
13576         * docs/gst/gstreamer-sections.txt:
13577         * gst/gstconfig.h.in:
13578         More docs for configuration options, add docs to gtk-doc.
13579
13580 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13581
13582         * gst/Makefile.am:
13583         * gst/gstconfig.h.in:
13584         * win32/common/config.h:
13585         Fix build when disabling tracing (fixes #344016). Also start to document
13586         the defines that disable the sub-systems.
13587
13588 2006-07-10  Edward Hervey  <edward@fluendo.com>
13589
13590         * gst/gst.c: (ensure_current_registry_forking):
13591         let's make valgrind happy...
13592
13593 2006-07-09  Wim Taymans  <wim@fluendo.com>
13594
13595         * gst/gstelement.c: (activate_pads),
13596         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13597         Better pad activation code: Reset the collect value too on resync.
13598         Add some comments.
13599
13600 2006-07-09  Wim Taymans  <wim@fluendo.com>
13601
13602         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
13603         (gst_pad_activate_push):
13604         Use some more macros where it makes sense.
13605         Allow pad mode switching instead of asserting. When a pad
13606         is activated in one mode and we activate it in another, 
13607         deactivate it first before activating it in a different mode.
13608         Fixes #329198.
13609
13610 2006-07-08  Andy Wingo  <wingo@pobox.com>
13611
13612         * tools/gst-launch.c (main): Handle err == NULL.
13613
13614         * gst/gst.c (init_post, ensure_current_registry)
13615         (ensure_current_registry_forking)
13616         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
13617         factoring out the registry scanning into separate functions. Don't
13618         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
13619         Better environment var name/interface suggestions accepted.
13620
13621 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13622
13623         * gst/gstobject.c: (gst_object_set_name_default),
13624         (gst_object_set_name):
13625           Random micro-optimisation: don't use a hash table
13626           with strings as keys and the usual strdup/strcmp
13627           involved, but rather just use the GQuark of the
13628           type name as key, since it needs to be looked up
13629           anyway to get the type name string.
13630
13631         * tests/check/gst/gstobject.c: (GST_START_TEST):
13632           Fix various leaks.
13633
13634 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13635
13636         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
13637         (gst_bin_iterate_all_by_interface):
13638           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
13639           GTypes are gulongs and thus the top 4 bytes might be cut
13640           off on some platforms when doing GPOINTER_TO_INT, leading
13641           to invalid GTypes and bad things happening (see RH bug #179654).
13642           Also add a check to make sure the type passed in is really
13643           an interface type.
13644
13645 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13646
13647         * .cvsignore:
13648           Ignore more.
13649
13650 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13651
13652         * Makefile.am:
13653         * configure.ac:
13654         * gst-element-check.m4:
13655         * gst-element-check.m4.in:
13656           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
13657           instead of the unversioned gst-inspect (#324176, #168659).
13658
13659 2006-07-06  Wim Taymans  <wim@fluendo.com>
13660
13661         * gst/gstmessage.h:
13662         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
13663         warnings.
13664
13665 2006-07-06  Wim Taymans  <wim@fluendo.com>
13666
13667         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13668         (gst_base_src_wait), (gst_base_src_update_length),
13669         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
13670         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
13671         (gst_base_src_loop), (gst_base_src_start),
13672         (gst_base_src_activate_pull):
13673         Update docs.
13674         blocksize == 0 now means the default blocksize when working in push
13675         based mode.
13676         Remove some pointless asserts in _wait function.
13677         Fix offset/length calculations and EOS handling. We can now pull 0
13678         bytes as well, which is allowed.
13679         use _check_get_range() to decide if we can operate in _pull based
13680         mode.
13681         Fix refcounting leak when check_get_range function was not 
13682         implemented.
13683         API GstBaseSrc::blocksize range can be 0 too now (default)
13684
13685         * tests/check/elements/filesrc.c: (GST_START_TEST),
13686         (filesrc_suite):
13687         Added check to test _get_range() behaviour.
13688
13689 2006-07-06  Wim Taymans  <wim@fluendo.com>
13690
13691         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
13692         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
13693         (gst_pad_pull_range):
13694         * gst/gstpad.h:
13695         Lots of comments and docs added to the pad functions.
13696         Flesh out the expected behaviour of the get_range() functions.
13697
13698 2006-07-06  Wim Taymans  <wim@fluendo.com>
13699
13700         * gst/gstbus.h:
13701         * gst/gstclock.h:
13702         * gst/gstevent.h:
13703         * gst/gstiterator.h:
13704         * gst/gstpad.h:
13705         * gst/gstplugin.h:
13706         * gst/gsttask.h:
13707         Remove comma at end of enumerator list. 
13708
13709 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
13710
13711         * win32/common/libgstbase.def:
13712         * win32/common/libgstdataprotocol.def:
13713         * win32/common/libsgtreamer.def:
13714         Add new exported functions.
13715
13716 2006-07-05  Wim Taymans  <wim@fluendo.com>
13717
13718         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
13719         Add some more docs here and there.
13720
13721 2006-07-05  Wim Taymans  <wim@fluendo.com>
13722
13723         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
13724         (gst_base_sink_loop), (gst_base_sink_get_position):
13725         When operating in pull mode update the offset so that we
13726         read sequentially.
13727
13728 2006-07-05  Wim Taymans  <wim@fluendo.com>
13729
13730         * gst/gstregistryxml.c: (read_string):
13731         Avoid strdup. (will happen in libxml, but hey!)
13732
13733         * gst/gsturi.c:
13734         Add some more docs.
13735
13736 2006-07-05  Wim Taymans  <wim@fluendo.com>
13737
13738         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
13739         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
13740         (gst_buffer_suite):
13741         No point in checking if the size of the subbuffer > 0, the
13742         code handles it correclty as demonstrated by unit test.
13743         Also add a unit test for the zero sized _new_and_alloc and
13744         _copy. Fixes #346663.
13745
13746 2006-07-05  Wim Taymans  <wim@fluendo.com>
13747
13748         * libs/gst/base/gstbasetransform.c:
13749         (gst_base_transform_prepare_output_buffer),
13750         (gst_base_transform_buffer_alloc),
13751         (gst_base_transform_handle_buffer):
13752         Make sure the buffer we pass to transform_ip has a refcount of
13753         1 and thus is writable. Fixes #343196
13754
13755 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
13756
13757         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
13758         (gst_file_src_init), (gst_file_src_set_property),
13759         (gst_file_src_get_property), (gst_file_src_map_region):
13760         * plugins/elements/gstfilesrc.h:
13761         Add "sequential" property, off by default, to use madvise and hint
13762         to the kernel that sequential access is desired.
13763         Touch all retrieved pages by default to ensure they are pulled
13764         into memory. (Closes #345720)
13765
13766 2006-07-03  Wim Taymans  <wim@fluendo.com>
13767
13768         * docs/design/part-block.txt:
13769         * docs/design/part-dynamic.txt:
13770         Small docs updates.
13771
13772 2006-07-03  Wim Taymans  <wim@fluendo.com>
13773
13774         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
13775         (gst_caps_unref), (gst_static_caps_get),
13776         (gst_caps_append_structure):
13777         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
13778         Use GSlice when the glib we build against is >= 2.10
13779
13780 2006-07-03  Wim Taymans  <wim@fluendo.com>
13781
13782         * gst/gstelement.c: (gst_element_pads_activate):
13783         Small cleanup in pad activation code.
13784
13785 2006-07-03  Wim Taymans  <wim@fluendo.com>
13786
13787         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13788
13789         * gst/gst-i18n-app.h:
13790         * gst/gst-i18n-lib.h:
13791         * tools/gst-inspect.c: (print_signal_info):
13792         The attached patch will make the inclusion of gettext.h unconditional in
13793         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
13794         libintl.h in tools/gst-inspect.c.
13795         This allows use of --disable-nls again and fixes #344642.
13796
13797 2006-07-03  Edward Hervey  <edward@fluendo.com>
13798
13799         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
13800         Implement pad blocking on events according to part-block.txt.
13801         More comments on behaviour.
13802         * tests/check/gst/gstevent.c: (test_event):
13803         Send event to peer pad of blocked pad (else it will block).
13804
13805 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13806
13807         * libs/gst/check/gstcheck.c: (gst_check_message_error),
13808         (gst_check_run_suite):
13809           if we get the wrong message, give us the types as string
13810         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
13811           Fix a translatable
13812         * tests/check/elements/filesrc.c: (GST_START_TEST):
13813           add a test for trying to open a non-existing file
13814
13815 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13816
13817         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13818           add a test for adding self
13819
13820 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13821
13822         * libs/gst/check/gstcheck.h:
13823           add some assert_ as alias for fail_unless_*
13824         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
13825           increase test coverage
13826
13827 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13828
13829         * Makefile.am:
13830           include lcov.mak for lcov coverage generation
13831         * tools/Makefile.am:
13832           add to CLEANFILES
13833
13834 2006-07-02  Edward Hervey  <edward@fluendo.com>
13835
13836         * tests/check/elements/.cvsignore:
13837         moaping
13838
13839 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13840
13841         * configure.ac:
13842           don't set CFLAGS and friends for gcov, done from GST_GCOV now
13843         * tests/check/Makefile.am:
13844           clean up gcov files
13845
13846 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13847
13848         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
13849           remove gst_caps_simplify; it was not declared and not used
13850           and deprecated in 0.8
13851
13852 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13853
13854         * docs/faq/gst-uninstalled:
13855           don't put empty paths on PYTHONPATH
13856         * docs/gst/gstreamer-sections.txt:
13857           remove some symbols that are not there
13858
13859 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13860
13861         * gst/gstcaps.c: (gst_caps_compare_structures):
13862           whitespace fixes
13863         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
13864         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13865           add more tests
13866
13867 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13868
13869         * libs/gst/dataprotocol/Makefile.am:
13870           build dataprotocol test by linking to the lib, instead of
13871           compiling the source, so we get coverage
13872         * tests/check/Makefile.am:
13873         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
13874         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
13875           add a test for filesrc
13876
13877 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13878
13879         * tests/check/gst/gststructure.c: (GST_START_TEST),
13880         (gst_structure_suite):
13881           Push coverage from 59.04% to 70.00%
13882
13883 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13884
13885         * tests/check/Makefile.am:
13886           gst-inspect every element; this makes sure that we also get
13887           coverage on element's get/set functions
13888
13889 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13890
13891         * configure.ac:
13892           set CFLAGS and friends to -O0 if gcov is being used
13893           add GCOV LIBS
13894         * gst/Makefile.am:
13895         * libs/gst/base/Makefile.am:
13896         * libs/gst/check/Makefile.am:
13897         * libs/gst/controller/Makefile.am:
13898         * libs/gst/dataprotocol/Makefile.am:
13899         * libs/gst/net/Makefile.am:
13900         * plugins/elements/Makefile.am:
13901         * plugins/indexers/Makefile.am:
13902           add makefile rules to generate gcov data and clean up
13903         * tests/check/Makefile.am:
13904           add a coverage target that generates an html overview
13905           of coverage data
13906
13907 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13908
13909         * tests/check/elements/fakesink.c:
13910         * tests/check/elements/fakesrc.c:
13911         * tests/check/elements/fdsrc.c:
13912         * tests/check/elements/identity.c:
13913         * tests/check/generic/sinks.c: (gst_sinks_suite):
13914         * tests/check/generic/states.c:
13915         * tests/check/gst/gst.c:
13916         * tests/check/gst/gstabi.c:
13917         * tests/check/gst/gstbin.c:
13918         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
13919         * tests/check/gst/gstbus.c: (gst_bus_suite):
13920         * tests/check/gst/gstcaps.c: (GST_START_TEST):
13921         * tests/check/gst/gstelement.c:
13922         * tests/check/gst/gstevent.c: (gst_event_suite):
13923         * tests/check/gst/gstghostpad.c:
13924         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
13925         * tests/check/gst/gstmessage.c: (gst_message_suite):
13926         * tests/check/gst/gstminiobject.c:
13927         * tests/check/gst/gstobject.c:
13928         * tests/check/gst/gstpad.c:
13929         * tests/check/gst/gstpipeline.c:
13930         * tests/check/gst/gstplugin.c:
13931         * tests/check/gst/gstquery.c: (gst_query_suite):
13932         * tests/check/gst/gstsegment.c: (gst_segment_suite):
13933         * tests/check/gst/gststructure.c:
13934         * tests/check/gst/gstsystemclock.c:
13935         * tests/check/gst/gsttag.c:
13936         * tests/check/gst/gsttask.c: (gst_task_suite):
13937         * tests/check/gst/gstutils.c:
13938         * tests/check/gst/gstvalue.c:
13939         * tests/check/libs/adapter.c:
13940         * tests/check/libs/basesrc.c:
13941         * tests/check/libs/collectpads.c:
13942         * tests/check/libs/controller.c:
13943         * tests/check/libs/gdp.c: (gst_dp_suite):
13944         * tests/check/libs/gstnetclientclock.c:
13945         * tests/check/libs/gstnettimeprovider.c:
13946         * tests/check/libs/libsabi.c: (libsabi_suite):
13947         * tests/check/libs/typefindhelper.c:
13948         * tests/check/pipelines/cleanup.c:
13949         * tests/check/pipelines/parse-launch.c:
13950         * tests/check/pipelines/simple-launch-lines.c:
13951         * tests/check/pipelines/stress.c: (stress_suite):
13952           use the new macro
13953
13954 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13955
13956         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
13957         * libs/gst/check/gstcheck.h:
13958           create a macro and function so that the simple unit test
13959           case can be just one macro to create main()
13960
13961 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
13962
13963         * gst/gstbin.c: (gst_bin_restore_thyself):
13964         * gst/gstxml.c: (gst_xml_make_element):
13965           Fix deserialisation from XML. Set parent manually
13966           instead of using gst_bin_add(), since gst_bin_add()
13967           will unlink all pads of the element being added.
13968           Fixes #341667.
13969
13970 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
13971
13972         Patch by: Peter Kjellerstedt <pkj at axis com>
13973
13974         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
13975           Fix missing g_strdup() and double free when using the
13976           --gst-plugin-load command line option (#346097).
13977
13978 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
13979
13980         * gst/gstinfo.c:
13981           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
13982
13983         * libs/gst/net/gstnetclientclock.c:
13984         * libs/gst/net/gstnettimeprovider.c:
13985           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
13986
13987 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
13988
13989         * docs/manual/advanced-dataaccess.xml:
13990           Fix buffer probe example compilation in
13991           ADM (#345708).
13992         
13993 2006-06-22  Edward Hervey  <edward@fluendo.com>
13994
13995         * gst/gstelement.c: (gst_element_pads_activate):
13996         We need to deactivate src pads first and then sink pads.
13997         The reason is the src pads might be blocking while holding the streaming
13998         lock, so we need to deactivate them first so that deactivating the sink
13999         pads doesn't block (since it will require the streaming lock).
14000
14001 2006-06-22  Wim Taymans  <wim@fluendo.com>
14002
14003         * libs/gst/base/gstbasetransform.c:
14004         (gst_base_transform_buffer_alloc):
14005         Forgot to remove two unneeded unrefs.
14006         Simplify a check _is_equal allready checks the obvious case.
14007
14008 2006-06-22  Wim Taymans  <wim@fluendo.com>
14009
14010         * docs/design/part-block.txt:
14011         Some docs about what pad_block should do.
14012
14013 2006-06-22  Wim Taymans  <wim@fluendo.com>
14014
14015         * gst/gstcaps.c: (gst_caps_replace):
14016         Fix crasher when passed NULL. Doc clarification.
14017         Optimize for the trivial case.
14018
14019         * gst/gstpipeline.c: (gst_pipeline_change_state):
14020         Small cleanups.
14021
14022         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
14023         Small documentation cleanup.
14024
14025         * libs/gst/base/gstbasetransform.c:
14026         (gst_base_transform_buffer_alloc):
14027         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
14028         is what we need and it avoids a whole lot of redundant 
14029         refcount operations.
14030
14031 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
14032
14033         Patch by: Philip Jägenstedt  <philip at lysator liu se>
14034
14035         * docs/manual/advanced-dataaccess.xml:
14036           Fix 'Embedding static elements' section to use
14037           GST_PLUGIN_DEFINE_STATIC (#345607).
14038
14039 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14040
14041         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
14042           Attempt to 'fix' spuriously failing test case: it seems like the
14043           timeout of half a second is simply too small when the system is under
14044           load otherwise, and the timeout doesn't really seem to serve any
14045           particular purpose here. Give the pipeline a few seconds to preroll
14046           first, and then give it another half a second to go from PAUSED to
14047           PLAYING and marshal the message into the main thread.
14048
14049 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14050
14051         * tools/gst-feedback-m.m:
14052           Don't only use unversioned tools, try versioned tools as well
14053           (#345086).
14054
14055 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
14056
14057         * gst/gstbus.c: (gst_bus_class_init):
14058           Fix some typos, make docs more explicit.
14059
14060 2006-06-20  Wim Taymans  <wim@fluendo.com>
14061
14062         * tests/check/gst/gstghostpad.c: (block_callback),
14063         (GST_START_TEST), (gst_ghost_pad_suite):
14064         Added some more ghostpad tests, mainly blocking
14065         and probes.
14066
14067 2006-06-16  Wim Taymans  <wim@fluendo.com>
14068
14069         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
14070         (gst_file_sink_close_file), (gst_file_sink_do_seek),
14071         (gst_file_sink_event), (gst_file_sink_render):
14072         * plugins/elements/gstfilesink.h:
14073         Check if we can seek in the file instead of assuming
14074         we always can. Post an error when we are asked to seek in a
14075         non-seekable file (like a fifo). Fixes #343312.
14076         Some cleanups.
14077
14078 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14079
14080         * tools/gst-launch.1.in:
14081           Un-garble (fourcc) bit in filtered caps section.
14082
14083 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
14084
14085         * docs/manual/advanced-autoplugging.xml:
14086         * docs/manual/basics-helloworld.xml:
14087         * docs/manual/highlevel-components.xml:
14088           Don't leak bus reference in sample code.
14089
14090 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
14091
14092         * autogen.sh:
14093           Add default for new --enable-plugin-docs switch.
14094
14095         * configure.ac:
14096           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
14097           Fixes #344039.
14098
14099         * docs/Makefile.am:
14100           Use new ENABLE_PLUGIN_DOCS conditional.
14101
14102 2006-06-14  Wim Taymans  <wim@fluendo.com>
14103
14104         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
14105         Make it clear with a FIXME and a real define what the #if 0
14106         previously disabled.
14107
14108 2006-06-14  Wim Taymans  <wim@fluendo.com>
14109
14110         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14111         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14112         * libs/gst/base/gstbasetransform.c:
14113         (gst_base_transform_sink_eventfunc):
14114         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14115         Don't randomly and silently reset a segment when the format 
14116         changes as this is a bug somewhere upstream. Fixes #330379.
14117
14118 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
14119
14120         Patch by: Wouter Paesen  <wouter at kangaroot net>
14121
14122         * libs/gst/controller/gstcontroller.c:
14123         (gst_controlled_property_new):
14124           Fix controlling of float properties (#344849).
14125
14126         * tests/check/libs/controller.c:
14127         (gst_test_mono_source_get_property),
14128         (gst_test_mono_source_set_property),
14129         (gst_test_mono_source_class_init), (GST_START_TEST):
14130           While we're at it, add some float stuff to unit test.
14131
14132 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14133
14134         * docs/README:
14135         * docs/images/gdp-header.svg:
14136           add a gdp image
14137         * docs/libs/Makefile.am:
14138         * docs/libs/gdp-header.png:
14139         * libs/gst/dataprotocol/dataprotocol.c:
14140           add it to the API docs
14141         * docs/manual/intro-motivation.xml:
14142           fix typo
14143
14144 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14145
14146         * gst/gst.c: (scan_and_update_registry), (init_post):
14147           If the fork()'ed child process can't write the updated registry cache
14148           file to disk for some reason, make it exit with a failure exit code,
14149           so that the parent can then re-scan the plugins itself and update the
14150           registry structures in memory and work with that (rather than failing
14151           when creating elements because seemingly no plugins are available).
14152           Refactor registry scanning code into separate function for this and
14153           also separate fork() and non-fork() code paths. Fixes #344748.
14154
14155 2006-06-13  Wim Taymans  <wim@fluendo.com>
14156
14157         * docs/manual/advanced-dataaccess.xml:
14158         Fix wrong PluginDesc. Fixes #344755.
14159
14160 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14161
14162         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14163           Fix silly bug that prevented us from creating
14164           ~/.gstreamer-0.10 and writing the registry in one
14165           go (the first call to g_mkstemp() would overwrite the
14166           placeholder in the template string, so the second call
14167           to g_mkstemp() after creating the missing directory
14168           would then error out with 'invalid argument').
14169
14170 2006-06-13  Edward Hervey  <edward@fluendo.com>
14171
14172         * gst/gst.c: (init_post):
14173         Free string.
14174
14175 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14176
14177         * gst/glib-compat-private.h:
14178         * gst/glib-compat.c:
14179         * gst/glib-compat.h:
14180         * gst/gstvalue.c: (gst_value_serialize_flags):
14181           remove GLib 2.6 compatibility code
14182
14183 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
14184
14185         * gst/parse/Makefile.am:
14186           Fix build with 'make -j N' even more (#340016).
14187
14188 2006-06-12  Wim Taymans  <wim@fluendo.com>
14189
14190         * docs/gst/gstreamer-sections.txt:
14191         Fix docs.
14192
14193 2006-06-12  Wim Taymans  <wim@fluendo.com>
14194
14195         * gst/gstsegment.c: (gst_segment_set_duration),
14196         (gst_segment_set_last_stop), (gst_segment_set_seek),
14197         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
14198         (gst_segment_to_running_time), (gst_segment_clip):
14199         Use G_UNLIKELY to help the compiler a bit.
14200
14201 2006-06-12  Wim Taymans  <wim@fluendo.com>
14202
14203         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14204
14205         * gst/gstevent.c: (gst_event_get_type):
14206         * gst/gstmessage.c:
14207         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14208         (gst_pad_push):
14209         constify quark registration strings. Fixes #344115
14210         Avoid unneeded type checking is _pad_push() by internally
14211         calling gst_pad_chain_unchecked().
14212
14213 2006-06-12  Wim Taymans  <wim@fluendo.com>
14214
14215         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
14216         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
14217         (gst_subbuffer_finalize), (gst_buffer_create_sub),
14218         (gst_buffer_is_span_fast), (gst_buffer_span):
14219         Init _type for consistency.
14220         Use _FLAGS macro to avoid type check.
14221         Avoid unneeded type checks in subbufer code.
14222
14223 2006-06-12  Wim Taymans  <wim@fluendo.com>
14224
14225         * gst/gst.c: (gst_debug_help):
14226         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
14227         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14228         (gst_plugin_feature_list_free):
14229         * gst/gstregistry.c: (gst_registry_add_plugin),
14230         (gst_registry_add_feature), (gst_registry_plugin_filter),
14231         (gst_registry_feature_filter), (gst_registry_find_plugin),
14232         (gst_registry_find_feature), (gst_registry_get_plugin_list),
14233         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
14234         * gst/gstregistryxml.c: (load_feature),
14235         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14236         * gst/gstminiobject.c: (gst_mini_object_unref),
14237         (gst_mini_object_replace), (gst_value_mini_object_free),
14238         (gst_value_mini_object_copy):
14239         Use _CAST macros to avoid unneeded type checking.
14240         Added some more G_UNLIKELY.
14241
14242 2006-06-12  Wim Taymans  <wim@fluendo.com>
14243
14244         * gst/gstbuffer.h:
14245         Avoid unneeded type checking.
14246         API: GST_BUFFER_IS_DISCONT
14247
14248         * gst/gstminiobject.h:
14249         Avoid type check in flag accessor.
14250
14251         * gst/gstelementfactory.h:
14252         * gst/gstplugin.h:
14253         * gst/gstpluginfeature.h:
14254         Add _CAST macros.
14255         API: GST_ELEMENT_FACTORY_CAST
14256         API: GST_PLUGIN_CAST
14257         API: GST_PLUGIN_FEATURE_CAST
14258
14259 2006-06-12  Wim Taymans  <wim@fluendo.com>
14260
14261         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
14262         (gst_object_unref):
14263         Add G_UNLIKELY in type registration.
14264         Avoid type check in _ref/_unref since that is also
14265         done in glib.
14266
14267 2006-06-12  Wim Taymans  <wim@fluendo.com>
14268
14269         * gst/gsterror.c: (gst_g_error_get_type):
14270         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
14271         (gst_static_pad_template_get_type):
14272         * gst/gsttaglist.c: (gst_tag_list_get_type):
14273         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
14274         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
14275         * gst/gsturi.c: (gst_uri_handler_get_type):
14276         * gst/gstvalue.c: (gst_date_get_type):
14277         * gst/gstxml.c: (gst_xml_get_type):
14278         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
14279         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14280         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
14281         Add G_UNLIKELY in type registration.
14282
14283 2006-06-12  Wim Taymans  <wim@fluendo.com>
14284
14285         * tools/gst-inspect.c: (print_signal_info):
14286         Properly print enum values.
14287
14288 2006-06-12  Wim Taymans  <wim@fluendo.com>
14289
14290         * gst/gstinfo.c: (gst_debug_set_active),
14291         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
14292         * gst/gstinfo.h:
14293         Add some G_[UN]LIKELY.
14294         Maintain __gst_debug_min to avoid formatting the arguments of
14295         debug messages that will be dropped anyway to avoid a lot of 
14296         overhead from the debugging system.
14297
14298 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14299
14300         * po/POTFILES.in:
14301         * po/POTFILES.skip:
14302           add missing files containing translatable strings, tell intltool about
14303           one exception
14304
14305 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14306
14307         * tests/check/libs/.cvsignore:
14308         add test-binary to ignore list
14309
14310 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14311
14312         * docs/libs/gstreamer-libs-docs.sgml:
14313         reorder (put dp into a chapter) and indent
14314
14315 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14316
14317         * configure.ac:
14318           back to HEAD
14319
14320 === release 0.10.8 ===
14321
14322 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
14323
14324         * configure.ac:
14325           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
14326
14327 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14328
14329         * gst/gst.c: (init_post):
14330           move pid declaration to declaration block
14331
14332 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14333
14334         * gst/gst.c: (init_post):
14335           use _exit() instead of exit() in our forked child; this ensures
14336           that none of the registered exit handlers from whatever is using
14337           GStreamer get executed.  This fixes gnome-mixer-applet failing
14338           to load, because ORBit would shut down.
14339           Spotted by: Edward Hervey  <edward@fluendo.com>
14340           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
14341           Fixes #344474
14342
14343 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14344
14345         * configure.ac:
14346           back to TRUNK
14347
14348 === release 0.10.7 ===
14349
14350 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
14351
14352         * configure.ac:
14353           releasing 0.10.7, "Soepeke, ik zie ou"
14354
14355 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14356
14357         * configure.ac:
14358         * po/af.po:
14359         * po/az.po:
14360         * po/bg.po:
14361         * po/ca.po:
14362         * po/cs.po:
14363         * po/de.po:
14364         * po/en_GB.po:
14365         * po/fr.po:
14366         * po/it.po:
14367         * po/nb.po:
14368         * po/nl.po:
14369         * po/ru.po:
14370         * po/sq.po:
14371         * po/sr.po:
14372         * po/sv.po:
14373         * po/tr.po:
14374         * po/uk.po:
14375         * po/vi.po:
14376         * po/zh_CN.po:
14377         * po/zh_TW.po:
14378         * win32/common/config.h:
14379           0.10.6.2 prerelease
14380
14381 2006-06-07  Wim Taymans  <wim@fluendo.com>
14382
14383         * gst/gstindex.c: (gst_index_gtype_resolver):
14384         * tools/gst-xmlinspect.c: (print_plugin_info):
14385         Fix leak spotted by coverity checker. Fixes #343827
14386         Fix another other leak found by paolo borelli.
14387
14388 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14389
14390         * libs/gst/dataprotocol/dataprotocol.c:
14391         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
14392         (gst_dp_version_get_type), (gst_dp_init),
14393         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14394         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
14395         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
14396         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
14397         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
14398         (gst_dp_packetizer_free):
14399         * libs/gst/dataprotocol/dataprotocol.h:
14400           API: add a GstDPPacketizer object, and create/free functions
14401           API: add GstDPVersion enum
14402           Add 1.0 event function that uses the string serialization
14403           Serialize more useful buffer flags
14404           Fixes #343988
14405
14406 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14407
14408         * tests/check/Makefile.am:
14409         * tests/check/gst/gstabi.c:
14410         * tests/check/gst/struct_ppc64.h:
14411         * tests/check/libs/libsabi.c:
14412         * tests/check/libs/struct_ppc64.h:
14413           add ppc64 structure sizes
14414
14415 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14416
14417         * tests/check/Makefile.am:
14418         * tests/check/gst/gstabi.c:
14419         * tests/check/gst/struct_x86_64.h:
14420         * tests/check/libs/libsabi.c:
14421         * tests/check/libs/struct_x86_64.h:
14422           generate and add structure size lists for x86_64
14423
14424 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14425
14426         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
14427         * libs/gst/check/gstcheck.h:
14428           factor out the method from tests that checks size of structures,
14429           and add code to generate the header containing these sizes
14430         * tests/check/gst/gstabi.c: (GST_START_TEST):
14431         * tests/check/gst/struct_i386.h:
14432         * tests/check/libs/libsabi.c: (GST_START_TEST):
14433         * tests/check/libs/struct_i386.h:
14434           use it
14435
14436 2006-06-06  Michael Smith  <msmith@fluendo.com>
14437
14438         * gst/gstsegment.h:
14439           Don't use c++-style comments, fixes #343929
14440
14441 2006-06-05  Edward Hervey  <edward@fluendo.com>
14442
14443         * gst/gst.c:
14444         plugin_paths is not used if we build without registry support.
14445
14446         * gst/gstsegment.c: (gst_segment_copy): 
14447         _copy() was always returning NULL...
14448
14449 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14450
14451         * libs/gst/dataprotocol/dataprotocol.c:
14452         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14453         (gst_dp_packet_from_event):
14454           factor out CRC code
14455
14456 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14457
14458         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
14459           make sure we unset caps
14460
14461 2006-06-02  Michael Smith  <msmith@fluendo.com>
14462
14463         * libs/gst/check/gstcheck.c: (gst_check_init),
14464         (gst_check_chain_func):
14465         * libs/gst/check/gstcheck.h:
14466           Add a cond/mutex to the check support lib, signal this whenever we
14467           add to the buffers list. This will allow tests to not busy-wait on
14468           the buffer-list.
14469
14470 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14471
14472         * libs/gst/dataprotocol/dataprotocol.c:
14473         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14474         (gst_dp_packet_from_event):
14475           factor out some common header init code
14476
14477 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14478
14479         * docs/libs/gstreamer-libs-sections.txt:
14480         * docs/libs/tmpl/gstdataprotocol.sgml:
14481         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
14482         * libs/gst/dataprotocol/dataprotocol.h:
14483           API: make gst_dp_crc() public
14484
14485 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14486
14487         * plugins/indexers/gstindexers.c: (plugin_init):
14488         conditionally register fileindexer (fixes #343598)
14489
14490 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14491
14492         * gst/gsttagsetter.h:
14493         Can't cast ifaces to a class
14494
14495         * libs/gst/net/gstnetclientclock.h:
14496         * libs/gst/net/gstnettimeprovider.h:
14497         * plugins/elements/gstfakesink.h:
14498         * plugins/elements/gstfakesrc.h:
14499         * plugins/elements/gstfdsink.h:
14500         * plugins/elements/gstfdsrc.h:
14501         * plugins/elements/gstfilesink.h:
14502         * plugins/elements/gstfilesrc.h:
14503         * plugins/elements/gstidentity.h:
14504         * plugins/elements/gstqueue.h:
14505         * plugins/elements/gsttee.h:
14506         * plugins/indexers/gstfileindex.c:
14507         * plugins/indexers/gstmemindex.c:
14508         * tests/old/examples/plugins/example.h:
14509         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
14510
14511 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14512
14513         * libs/gst/dataprotocol/dataprotocol.c:
14514         (gst_dp_header_from_buffer):
14515           make sure we zero the whole ABI-compatible area
14516
14517 2006-06-01  Wim Taymans  <wim@fluendo.com>
14518
14519         Patch by: Alessandro Decina <alessandro at nnva dot org>
14520
14521         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14522         Make sure the EOS flag is cleared from pads after a flush
14523         or stop. Fixes #343538.
14524
14525         * tests/check/libs/collectpads.c: (GST_START_TEST),
14526         (gst_collect_pads_suite):
14527         Added test for collectpads reusage after EOS.
14528
14529 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
14530
14531         * gst/gst.c:
14532          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
14533         * win32/common/libgstbase.def:
14534          export gst_collect_pads_set_flushing
14535         * win32/common/libgstreamer.def:
14536          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
14537          gst_value_fraction_multiply
14538         * win32/vs6/gst_inspect.dsp:
14539          add a link to intl.lib
14540
14541 2006-05-30  Wim Taymans  <wim@fluendo.com>
14542
14543         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14544         (gst_collect_pads_chain):
14545         Handle the case where a pad is removed from the collection
14546         that could cause the other pads to become collectable.
14547
14548 2006-05-30  Wim Taymans  <wim@fluendo.com>
14549
14550         * gst/gstelement.c:
14551         Clarify the use of _release_request_pad() and
14552         _get_request_pad() a bit better.
14553
14554         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
14555         (gst_adapter_take_buffer):
14556         Fix some doc and comment typos.
14557
14558 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14559
14560         * docs/gst/gstreamer-sections.txt:
14561         * docs/libs/gstreamer-libs-sections.txt:
14562           add declared symbols
14563
14564 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
14565
14566         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14567         Add debug that can be enabled using a #define at the top of the file,
14568         for dumping stats about how late/early we were when waking up from
14569         waiting on the clock.
14570
14571 2006-05-30  Wim Taymans  <wim@fluendo.com>
14572
14573         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
14574         When rebuilding the pad list, don't leak the previous list.
14575
14576 2006-05-30  Wim Taymans  <wim@fluendo.com>
14577
14578         Patch by: Lutz Mueller <lutz at topfrose dot de>
14579
14580         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14581         (gst_base_src_get_query_types), (gst_base_src_update_length):
14582         Publish supported query types.
14583         Update last_stop field in get_range mode so the position
14584         query works. Fixes #342321.
14585
14586 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
14587
14588         * docs/gst/gstreamer-sections.txt:
14589         * gst/gsttaglist.c: (_gst_tag_initialize):
14590         * gst/gsttaglist.h:
14591           API: add GST_TAG_PREVIEW_IMAGE (#343341).
14592
14593 2006-05-30  Wim Taymans  <wim@fluendo.com>
14594
14595         Patch by: Alessandro Decina <alessandro at nnva dot org>
14596
14597         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
14598         Unlock mutex when removing an unknown pad.
14599         Fixes #343334.
14600
14601         * tests/check/Makefile.am:
14602         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
14603         (push_event), (setup), (teardown), (GST_START_TEST),
14604         (gst_collect_pads_suite), (main):
14605         Added collecpads check, disabled for now as check crashes for
14606         some reason.
14607
14608 2006-05-29  Wim Taymans  <wim@fluendo.com>
14609
14610         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
14611         Don't leak pads lists.
14612
14613 2006-05-29  Wim Taymans  <wim@fluendo.com>
14614
14615         * docs/libs/gstreamer-libs-sections.txt:
14616         * libs/gst/base/gstcollectpads.c:
14617         (gst_collect_pads_set_flushing_unlocked),
14618         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14619         (gst_collect_pads_stop):
14620         * libs/gst/base/gstcollectpads.h:
14621         API: gst_collect_pads_set_flushing()
14622         Added api to set the pads to flushing, useful for seeking
14623         code in elements using collectpads.
14624         Clear segment when receiving a flush.
14625
14626 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
14627
14628         * gst/gst.c: (add_path_func), (init_post):
14629           Don't scan registry paths passed via --gst-plugin-path immediately
14630           (will crash, because absolutely nothing is set up and no types are
14631           registered etc.); do this later in init_post(). Fixes #343057.
14632
14633 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14634
14635         * gst/gst.c: (init_post):
14636           if we have fork, fork while reading/rebuilding the registry
14637           so the parent doesn't take the hit of having all plugins loaded
14638           in memory.  Fixes #342777.
14639         * configure.ac:
14640           Check if we have fork()
14641         * win32/common/config.h.in:
14642           no fork() on win32
14643
14644 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14645
14646         * plugins/elements/gstelements.c:
14647         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14648         (gst_file_src_init), (gst_file_src_set_property),
14649         (gst_file_src_get_property), (gst_file_src_start):
14650         * plugins/elements/gstfilesrc.h:
14651           API: GstFileSrc::use-mmap
14652
14653         Add a use-mmap property to enable easier testing of all code paths.
14654         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
14655         in the absence of gnomevfssrc. (Closes #340501)
14656
14657 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
14658
14659         * tools/gst-inspect.c:
14660         Add missing include, removes warning of ngettext not being defined on
14661         some arches.
14662
14663 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14664
14665         * gst/gstvalue.c: (gst_value_deserialize_fraction):
14666         Handle NULL input and output pointers silently as a failed conversion,
14667         rather than g_warnings.
14668
14669 2006-05-25  Wim Taymans  <wim@fluendo.com>
14670
14671         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
14672         Initialize variable before using. Fixes #342820.
14673
14674 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
14675
14676         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
14677           Fix off-by-one bug that would only allow peeks of N-1 bytes
14678           from the start even if the buffer to typefind on contains
14679           in fact N bytes of data (makes vorbis typefinding from a
14680           vorbis identification header buffer work).
14681
14682         * tests/check/Makefile.am:
14683         * tests/check/libs/.cvsignore:
14684         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
14685         (gst_typefindhelper_suite), (main), (foobar_typefind),
14686         (plugin_init):
14687           Add very basic unit test for gst_type_find_helper_for_buffer()
14688           that checks for the problem fixed above.
14689
14690 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14691
14692         * tools/gst-inspect.c: (print_interfaces),
14693         (print_element_properties_info), (print_element_list), (main):
14694           add more translatable strings
14695
14696 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
14697
14698         Patch by: Julien Moutte  <julien at moutte net>
14699
14700         * docs/gst/gstreamer-sections.txt:
14701           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
14702           
14703         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
14704         (gst_fake_sink_preroll):
14705         * plugins/elements/gstfakesink.h:
14706           API: Add new GstFakeSink::preroll-handoff signal (#337100).
14707
14708 2006-05-23  Wim Taymans  <wim@fluendo.com>
14709
14710         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
14711         * gst/gstpad.h:
14712         Added _CUSTOM error and success GstFlowReturn that can be
14713         used be elements internally. 
14714         Added macro to check for SUCCESS flowreturns.
14715         API: GST_FLOW_CUSTOM_SUCCESS
14716         API: GST_FLOW_CUSTOM_ERROR
14717         API: GST_FLOW_IS_SUCCESS
14718
14719         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
14720         Added check for GstFlowReturn sanity.
14721
14722 2006-05-23  Wim Taymans  <wim@fluendo.com>
14723
14724         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
14725
14726         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14727         (gst_collect_pads_event):
14728         clear/reset segment info in FLUSH_STOP.
14729         Fixes #336929.
14730
14731 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
14732
14733         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
14734         (gst_collect_pads_check_collected):
14735         Flush queued buffer on _stop(), fixes playing again (#342454)
14736
14737 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14738
14739         * tests/check/gst/gststructure.c: (GST_START_TEST),
14740         (gst_structure_suite):
14741           add a test for a complete structure
14742
14743 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
14744
14745         * docs/faq/developing.xml:
14746         * docs/faq/faq.xml:
14747         * docs/faq/troubleshooting.xml:
14748         * docs/faq/using.xml:
14749           Some minor FAQ updates that won't change the fact that
14750           our FAQ is badly structured, full of information hardly
14751           anyone new to GStreamer needs to know and lacking lots
14752           of information people constantly ask for.
14753           
14754 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
14755
14756         * gst/gstpad.c: (gst_pad_set_caps):
14757           Short-circuit gst_pad_set_caps if setting the existing
14758           caps pointer again, and avoid printing debug and 
14759           reffing/unreffing the caps.
14760
14761         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14762           There's actually no need to set the caps before pushing -
14763           the acceptcaps method will handle it anyway.
14764
14765 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
14766
14767         * docs/gst/gstreamer-sections.txt:
14768         * win32/common/libgstreamer.def:
14769         * gst/gstutils.c: (gst_element_seek_simple):
14770         * gst/gstutils.h:
14771           API: add gst_element_seek_simple() (#342238).
14772
14773 2006-05-18  Edward Hervey  <edward@fluendo.com>
14774
14775         * gst/gsttypefind.c: (gst_type_find_get_type):
14776         * gst/gsttypefind.h:
14777         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
14778         registered for GstTypeFind pointers. This allows wrapping the structure
14779         in bindings (i.e. gst-python).
14780
14781 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
14782
14783         * gst/gsttagsetter.c:
14784           Docs additions and fixes (see #339918).
14785
14786 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
14787
14788         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14789         The caps intersection algorithm can produce multiple copies of the
14790         caps. Until that is fixed, we need to simplify the result to be
14791         sure whether the allowed caps are fixed or not.
14792
14793         * plugins/elements/gstqueue.c: (gst_queue_init),
14794         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
14795         (gst_queue_push_one):
14796         Proxied buffer alloc should not set the caps on the source pad.
14797         When pushing buffers, we always accept the caps change that triggers.
14798         This prevents negotiation errors caused by caps changing mid-stream 
14799         and then being refused on our source pad (because upstream is now
14800         refusing those caps).
14801
14802 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
14803
14804         * tests/examples/helloworld/helloworld.c: (main):
14805           Must plug audioconvert and audioresample between decoder
14806           and audio sink.
14807
14808 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
14809
14810         * gst/gstregistryxml.c: (read_string), (load_pad_template),
14811         (load_feature), (load_plugin):
14812         Allow empty strings for some of the plugin fields so we don't 
14813         drop valid plugin entries that were written out correctly
14814         (Fixes #341479)
14815
14816 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
14817         
14818         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14819           Use g_remove and g_rename instead of remove and rename that don't 
14820           handle utf8 characters. rename was failing for users who had specific
14821           characters in their name then the registry was built at each 
14822           gstreamer init.
14823         * win32/vs6/gst_inspect.dsp:
14824         * win32/vs6/gst_launch.dsp:
14825         * win32/vs6/libgstbase.dsp:
14826         * win32/vs6/libgstcoreelements.dsp:
14827         * win32/vs6/libgstreamer.dsp:
14828           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
14829           build of libgstreamer and clean unused libraries in projects link 
14830           settings.
14831
14832 2006-05-17  Edward Hervey  <edward@fluendo.com>
14833
14834         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14835         The queue is not responsible for pushing an EOS when receiving a fatal
14836         flow error. It's up to the real element driving the pipeline to do that.
14837
14838 2006-05-16  Edward Hervey  <edward@fluendo.com>
14839
14840         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14841         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
14842         buffer returned a fatal error. It should just send an EOS and stop
14843         its task.
14844         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
14845         when pushing buffers on the queue and will be able to handle the event.
14846
14847 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
14848
14849         * docs/manual/basics-bins.xml:
14850         * docs/manual/basics-init.xml:
14851           Fix typos and minor errors in sample code (#341856).
14852
14853 2006-05-16  Wim Taymans  <wim@fluendo.com>
14854
14855         * docs/design/part-qos.txt:
14856         Fix indexes in formulas to make more sense.
14857
14858 2006-05-15  Wim Taymans  <wim@fluendo.com>
14859
14860         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14861         Don't report POSITION based on clock time if sync is
14862         disabled in a sink.
14863
14864 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
14865
14866         * gst/gstobject.h:
14867           Add cast to make compiler happy - refcount variable was a gint
14868           in GstObject but is a guint in GObject and g_atomic_int_get()
14869           wants a gint *.
14870
14871 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14872
14873         * gst/parse/Makefile.am:
14874           chain commands using &&, which also makes parallel make work
14875
14876 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
14877
14878         * docs/gst/gstreamer-sections.txt:
14879         * gst/gstevent.c:
14880         * gst/gstevent.h:
14881         * gst/gstmessage.h:
14882           Minor docs fixes.
14883
14884 === release 0.10.6 ===
14885
14886 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
14887
14888         * configure.ac:
14889           releasing 0.10.6, "Take the cannoli"
14890
14891 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
14892
14893         * tools/gst-launch.c: (print_tag):
14894           Fix use of uninitialized variable in the hypothetical
14895           case that some broken plugin creates a GST_TAG_IMAGE
14896           tag containing a NULL buffer (#341667).
14897
14898 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
14899
14900         * tools/gst-launch.c: (print_tag):
14901           Print something more intelligible for image tags when
14902           using the -t switch (#341556).
14903
14904 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14905
14906         * Makefile.am:
14907           updates for win32
14908         * configure.ac:
14909           define GST_MAJORMINOR so we have it available in win32/common/config.h
14910           Possibly remove it from our Makefile.am files later
14911         * win32/common/config.h:
14912         * win32/common/config.h.in:
14913           added GST_MAJORMINOR
14914         * win32/common/gstenumtypes.c: (register_gst_resource_error):
14915         * win32/common/gstversion.h:
14916           updated
14917
14918 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
14919
14920         * win32/MANIFEST:
14921           Update win32 files listing.
14922         * win32/common/gstversion.h:
14923           Add GST_MAJORMINOR definition.
14924         * win32/common/libgstreamer.def:
14925           Add new exported functions.
14926           
14927 2006-05-12  Michael Smith  <msmith@fluendo.com>
14928
14929         * gst/gstplugin.c: (gst_plugin_load_file):
14930           If an so file has no plugin entry point, unload the module.
14931
14932 2006-05-11  Wim Taymans  <wim@fluendo.com>
14933
14934         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
14935         (gst_queue_set_property):
14936         Don't forget to signal the _chain or _loop function 
14937         when the queue size or thresholds change since that might
14938         cause them to make progres again.
14939
14940 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
14941
14942         * gst/gstclock.c: (gst_clock_class_init):
14943         * gst/gstindex.c: (gst_index_class_init):
14944         * gst/gstobject.c: (gst_object_class_init):
14945         * gst/gstpad.c: (gst_pad_class_init):
14946         * gst/gstpipeline.c: (gst_pipeline_class_init):
14947         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
14948         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
14949         * libs/gst/base/gstbasetransform.c:
14950         (gst_base_transform_class_init):
14951         * libs/gst/net/gstnetclientclock.c:
14952         (gst_net_client_clock_class_init):
14953         * libs/gst/net/gstnettimeprovider.c:
14954         (gst_net_time_provider_class_init):
14955         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
14956         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
14957         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
14958         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
14959         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
14960         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
14961         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
14962         * plugins/elements/gstidentity.c: (gst_identity_class_init):
14963         * plugins/elements/gsttee.c: (gst_tee_class_init):
14964         * tests/old/examples/plugins/example.c: (gst_example_class_init):
14965         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
14966           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
14967
14968 2006-05-11  Wim Taymans  <wim@fluendo.com>
14969
14970         * gst/gstbuffer.c: (_gst_buffer_initialize):
14971         Register subbufer along with the buffer type so that
14972         it does not accidentally gets registered from N
14973         different streaming threads in a non threadsafe way.
14974
14975 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
14976
14977         * gst/gstbuffer.h:
14978         * gst/gstevent.h:
14979         * gst/gstmessage.h:
14980           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
14981           gst_event_ref() and gst_message_ref() functions again
14982           (ugly hack, please do fix if there's a better way besides
14983           overrides.txt, which doesn't seem to work).
14984
14985 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14986
14987         * libs/gst/check/gstcheck.h:
14988           add an assert for setting state to avoid lots of repetitive code
14989           in the future
14990
14991 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14992
14993         * gst/gstvalue.c: (gst_value_serialize_flags):
14994           fix a leak if no flags are set
14995         * tests/check/gst/gstvalue.c: (GST_START_TEST):
14996           fix leak in tests
14997
14998 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
14999
15000         * docs/manual/basics-pads.xml:
15001           Expand a bit on caps and filtered links and update
15002           examples that were still using the no longer existing
15003           gst_pad_link_filtered() (#338206).
15004
15005 2006-05-10  Wim Taymans  <wim@fluendo.com>
15006
15007         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
15008         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
15009         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
15010         (gst_collect_pads_stop):
15011         * libs/gst/base/gstcollectpads.h:
15012         No need to call _stop in _finalize.
15013         Iterate the main pad list in _finalize.
15014         Added some more debug.
15015         Free lists and data in the right order.
15016         Also free data whem doing _remove_pad when stopped for
15017         backward compatibility protect ::started with PAD_LOCK as
15018         well.
15019
15020 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15021
15022         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
15023         (gst_structure_parse_value):
15024           add some comments
15025           rename a method so that it actually says what it does better
15026
15027 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
15028
15029         * gst/gstevent.c: (_gst_event_initialize):
15030         * gst/gstformat.c: (_gst_format_initialize):
15031           make sure some essential types used by events are registered
15032           as part of gst_init()
15033         * gst/gstvalue.c: (gst_value_serialize_flags):
15034           if no flags are set, serialize them to a value that represents NONE
15035           so that deserializing them works
15036         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15037           add tests for serialization and deserialization of flags
15038
15039 2006-05-10  Wim Taymans  <wim@fluendo.com>
15040
15041         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
15042         (gst_collect_pads_collect_range), (gst_collect_pads_available),
15043         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
15044         (gst_collect_pads_event), (gst_collect_pads_chain):
15045         Update docs.
15046         Better debug info.
15047         Catch and return errors from the collect function
15048         Refuse data on eos pads.
15049
15050 2006-05-10  Edward Hervey  <edward@fluendo.com>
15051
15052         * gst/gstinterface.h:
15053         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
15054         GInterface type checking.
15055         They were previously using non-defined macros.
15056
15057 2006-05-09  Wim Taymans  <wim@fluendo.com>
15058
15059         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
15060         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
15061         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
15062         (gst_collect_pads_start), (gst_collect_pads_stop),
15063         (gst_collect_pads_peek), (gst_collect_pads_pop),
15064         (gst_collect_pads_available), (gst_collect_pads_read),
15065         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
15066         (gst_collect_pads_is_collected), (gst_collect_pads_event),
15067         (gst_collect_pads_chain):
15068         * libs/gst/base/gstcollectpads.h:
15069         Clean up the mess that is collectpads, add comments and
15070         FIXMEs where needed.
15071         Maintain a separate pad list so we can add pads while
15072         collecting the other ones. For this we need a new separate 
15073         lock (see comics).
15074         Fix memory leak in finalize.
15075         Refactor some weird code to set/unset pad flushing flags, mark
15076         with comments.
15077         Don't crash in _available, _read, _flush when we're EOS.
15078
15079         * tests/check/libs/.cvsignore:
15080         Ignore adapter check binary.
15081
15082 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15083
15084         * gst/gstindex.c: (gst_index_resolver_get_type):
15085         * plugins/elements/gstfakesink.c:
15086         (gst_fake_sink_state_error_get_type):
15087         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15088         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
15089         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
15090           Const-ify GEnumValue arrays.
15091
15092 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15093
15094         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
15095           Add test case for flags + gst_buffer_make_metadata_writable().
15096
15097 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15098
15099         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
15100           gst_buffer_make_metadata_writable() should maintain the
15101           buffer flags (those that make sense at least) (see #340859).
15102
15103 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15104
15105         * tools/gst-inspect.c:
15106         * tools/gst-launch.c:
15107         * tools/gst-typefind.c:
15108         * tools/gst-xmlinspect.c:
15109         * tools/tools.h:
15110           Fix up includes: need to include stdlib.h in tools.h for exit().
15111
15112 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15113
15114         * gst/gsttaglist.c: (_gst_tag_initialize):
15115         * gst/gsttaglist.h:
15116           API: add GST_TAG_IMAGE tag (#340721).
15117
15118 2006-05-08  Wim Taymans  <wim@fluendo.com>
15119
15120         * gst/gstquery.c:
15121         Added some docs for the segment query.
15122
15123 2006-05-08  Wim Taymans  <wim@fluendo.com>
15124
15125         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15126         (gst_base_src_loop), (gst_base_src_change_state):
15127         Always push non-flushing serialized events in the streaming 
15128         thread.
15129
15130 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15131
15132         * gst/gsterror.c: (_gst_stream_errors_init):
15133           Add a missing error string.
15134
15135 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
15136
15137         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
15138         Add applied_rate to the debug
15139
15140         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
15141         Copy applied_rate into the outgoing NEWSEGMENT event
15142
15143 2006-05-08  Wim Taymans  <wim@fluendo.com>
15144
15145         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
15146
15147         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
15148         (gst_base_sink_change_state):
15149         call ::unlock before taking the PREROLL_LOCK so we can safely
15150         handle elements that lock in ::render.
15151         Fixes #340174.
15152
15153 2006-05-08  Edward Hervey  <edward@fluendo.com>
15154
15155         * autogen.sh: (CONFIGURE_DEF_OPT): 
15156         Darwin's libtoolize is in fact called glibtoolize.
15157         Adding glibtoolize to the list of accepted names for libtoolize.
15158
15159 2006-05-08  Wim Taymans  <wim@fluendo.com>
15160
15161         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
15162         Unify error handling, don't post an error message
15163         when a push() returns EOS but perform our normal EOS
15164         handling code. Fixes #340772.
15165
15166 2006-05-08  Wim Taymans  <wim@fluendo.com>
15167
15168         * docs/design/part-overview.txt:
15169         Make upsteam/downstream concepts more clear.
15170         Give an example of serialized/non-serialized events.
15171
15172         * docs/design/part-events.txt:
15173         * docs/design/part-streams.txt:
15174         Mention applied_rate.
15175
15176         * docs/design/part-trickmodes.txt:
15177         Mention applied rate, flesh out some more use cases.
15178
15179         * gst/gstevent.c: (gst_event_new_new_segment),
15180         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
15181         (gst_event_parse_new_segment_full), (gst_event_new_tag),
15182         (gst_event_parse_tag), (gst_event_new_buffer_size),
15183         (gst_event_parse_buffer_size), (gst_event_new_qos),
15184         (gst_event_parse_qos), (gst_event_parse_seek),
15185         (gst_event_new_navigation):
15186         * gst/gstevent.h:
15187         Add applied_rate field to NEWSEGMENT event.
15188         API: gst_event_new_new_segment_full()
15189         API: gst_event_parse_new_segment_full()
15190
15191         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
15192         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
15193         (gst_segment_to_stream_time), (gst_segment_to_running_time):
15194         * gst/gstsegment.h:
15195         Add applied_rate to GstSegment structure.
15196         Make calculation of stream_time and running_time more correct
15197         wrt rate/applied_rate.
15198         Add some more docs.
15199         API: GstSegment::applied_rate field
15200         API: gst_segment_set_newsegment_full();
15201
15202         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15203         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
15204         * libs/gst/base/gstbasetransform.c:
15205         (gst_base_transform_sink_eventfunc),
15206         (gst_base_transform_handle_buffer):
15207         Parse and use applied_rate in the GstSegment field.
15208
15209         * tests/check/gst/gstevent.c: (GST_START_TEST):
15210         Add check for applied_rate field.
15211
15212         * tests/check/gst/gstsegment.c: (GST_START_TEST),
15213         (gstsegments_suite):
15214         Add more checks for various GstSegment operations.
15215
15216 2006-05-08  Wim Taymans  <wim@fluendo.com>
15217
15218         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15219         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
15220         (gst_base_sink_get_position), (gst_base_sink_change_state):
15221         Store the sync time of the buffer end position separatly in a
15222         new variable eos_rtime so we can properly sync the EOS event.
15223         Fixes #340697.
15224         Fix the docs for gst_base_sink_set_qos_enabled().
15225         Don't set segment start to invalid value when we receive a 
15226         non TIME newsegment.
15227         get closer to handling position reporting for negative rates 
15228         correctly.
15229
15230 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15231
15232         * gst/gstcaps.c:
15233         Docs about how to print caps for debug purposes.
15234
15235         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
15236         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
15237
15238 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15239
15240         * gst/gstelement.c:
15241           use full enum names and preprend a '%' in docs strings to make recent 
15242           gtk-doc turn that into a link
15243
15244 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15245
15246         * docs/manual/basics-bins.xml:
15247         * docs/manual/basics-bus.xml:
15248         * docs/manual/basics-pads.xml:
15249           Some typo fixes, some additions, some clarifications. 
15250
15251 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15252
15253         * tools/gst-inspect.c: (main):
15254         * tools/gst-launch.c: (main):
15255         * tools/gst-run.c: (main):
15256         * tools/gst-typefind.c: (main):
15257         * tools/gst-xmlinspect.c: (main):
15258           Use the string passed to g_option_context_new() for
15259           what it's intended for - the program name is already
15260           printed elsewhere.
15261
15262 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15263
15264         * tools/Makefile.am:
15265         * tools/gst-inspect.c: (main):
15266         * tools/gst-launch.c: (main):
15267         * tools/gst-xmlinspect.c: (main):
15268         * tools/tools.h:
15269           Add back --version command line option (#340460).
15270
15271         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
15272           Add --version option and use GOption for argument parsing; refactor a
15273           bit; accept directories as arguments and recurse into them; lastly,
15274           print a decent error message when things go wrong.
15275
15276 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15277
15278         * docs/manual/basics-bins.xml:
15279         Don't mention GstThread (#340611)
15280         * docs/manual/basics-elements.xml:
15281         Update link to GObject tutorial (#340607)
15282         
15283 2006-05-05  Wim Taymans  <wim@fluendo.com>
15284
15285         * gst/gstbuffer.h:
15286         * gst/gstminiobject.c:
15287         Add note about refcounting and miniobject/buffer writeability
15288         to docs. Fixes #340604
15289
15290         * gst/gstelementfactory.h:
15291         Added some explanation about @klass.
15292
15293 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15294
15295         * docs/manual/intro-motivation.xml:
15296         * docs/manual/manual.xml:
15297         Avoid CORBA & Bonobo references (#340598)
15298
15299 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15300
15301         * docs/manual/basics-bus.xml:
15302         * docs/manual/basics-pads.xml:
15303         Fix up some inaccuracies and omissions (#340609)
15304         
15305 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15306
15307         * gst/gstghostpad.c:
15308           Small typo in docs (#340625)
15309
15310 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15311
15312         * gst/parse/Makefile.am:
15313           Make 'make -j' proof (see #340698).
15314
15315 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15316
15317         * configure.ac:
15318           Require GLib-2.8 here as well.
15319
15320 2006-05-05  Wim Taymans  <wim@fluendo.com>
15321
15322         * gst/glib-compat.c:
15323         * gst/gst.c: (init_pre):
15324         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15325         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
15326         (gst_object_dispatch_properties_changed):
15327         * gst/gstobject.h:
15328         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15329         * gst/gststructure.c: (gst_structure_set_valist):
15330         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15331         Remove pre glib2.8 compatibility, fixes #340508
15332
15333 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15334
15335         * gst/gsttaglist.h:
15336           Mention type of tags in doc blurbs.
15337
15338 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
15339
15340         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15341         (gst_pad_configure_src), (gst_pad_push):
15342         Restore acceptcaps checking behaviour now that good plugins have
15343         been released.
15344
15345 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15346
15347         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
15348
15349         * gst/gst.c:
15350         * gst/gstbus.c:
15351         * gst/gstclock.c:
15352         * gst/gstevent.c:
15353         * gst/gstformat.c:
15354         * gst/gstmessage.c:
15355         * gst/gstparse.c:
15356         * gst/gstquery.c:
15357         * gst/gstutils.c:
15358         * gst/parse/Makefile.am:
15359         * libs/gst/base/gstadapter.c:
15360         * libs/gst/base/gstbasesrc.c:
15361         * libs/gst/base/gstpushsrc.c:
15362         * libs/gst/base/gsttypefindhelper.c:
15363         * plugins/elements/gstfakesrc.c:
15364         * plugins/elements/gstidentity.c:
15365           Make sure gstprivate.h and/or config.h are
15366           always included first, otherwise some of our
15367           defines (like _FILE_OFFSET_BITS) might be
15368           redefined in the system headers. Fixes build
15369           on opensolaris (#340016).
15370
15371 2006-05-04  Wim Taymans  <wim@fluendo.com>
15372
15373         * docs/libs/gstreamer-libs-sections.txt:
15374         API: addition: gst_adapter_take_buffer()
15375         
15376         * libs/gst/base/gstadapter.c: (gst_adapter_push),
15377         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
15378         (gst_adapter_available_fast):
15379         * libs/gst/base/gstadapter.h:
15380         Prepare for optimizing the hell out of this hugely inefficient
15381         piece of code. 
15382         Added gst_adapter_take_buffer() so we can at least start thinking
15383         about subbuffering and merging.
15384         Added some comments.
15385
15386         * tests/check/Makefile.am:
15387         * tests/check/libs/adapter.c: (GST_START_TEST),
15388         (gst_adapter_suite), (main):
15389         Added GstAdapter check.
15390
15391 2006-05-04  Wim Taymans  <wim@fluendo.com>
15392
15393         * docs/design/part-overview.txt:
15394         Fix some typos, add blurb about buffer flags.
15395
15396 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15397
15398         * docs/libs/gstreamer-libs-sections.txt:
15399           make sure GstBaseTransformClass shows up in the docs
15400         * libs/gst/base/gstbasetransform.c:
15401         * libs/gst/base/gstbasetransform.h:
15402           move docs so gtk-doc picks it up now
15403
15404 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15405
15406         * docs/libs/gstreamer-libs-sections.txt:
15407           add missing symbols to docs
15408
15409 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15410
15411         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15412           back out the newsegment handling change, see #340060 for ongoing
15413           discussion
15414
15415 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
15416
15417         * tools/gst-run.c: (get_candidates), (main):
15418           Fix wrong g_file_test() usage (see glib docs for why it doesn't
15419           work); fix typo in error message. Fixes #340079.
15420
15421 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15422
15423         * common/Makefile.am:
15424         * docs/Makefile.am:
15425         * docs/faq/Makefile.am:
15426         * docs/gst/Makefile.am:
15427         * docs/libs/Makefile.am:
15428         * docs/manual/Makefile.am:
15429         * docs/plugins/Makefile.am:
15430         * docs/pwg/Makefile.am:
15431         * docs/slides/Makefile.am:
15432         * docs/upload.mak:
15433         * common/upload.mak:
15434           move upload.mak to common
15435
15436 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15437
15438         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15439           add more asserts on refcounts
15440           do more cleanup at end of tests
15441           fix test leaks showing in FC5
15442
15443 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
15444
15445         * plugins/elements/gsttypefindelement.c:
15446         (gst_type_find_element_handle_event):
15447         reverted wrong change and reflowed code to avoid others falling into
15448         this trap
15449
15450 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15451
15452         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15453           fix changelog entry about last collectpads change,
15454           add notes about proper fix
15455
15456 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15457
15458         * gst/gst.c:
15459         * gst/gstregistry.c: (gst_registry_scan_path_level),
15460         (gst_registry_scan_path):
15461         * gst/gstregistry.h:
15462           only write out registry if it has changed, fixes #338339
15463
15464 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15465
15466         * gst/gstbin.c:
15467         * gst/gstpipeline.c:
15468         * plugins/elements/gstcapsfilter.c:
15469         * plugins/elements/gstfakesink.c:
15470         * plugins/elements/gstfakesrc.c:
15471         * plugins/elements/gstfdsink.c:
15472         * plugins/elements/gstfdsrc.c:
15473         * plugins/elements/gstfilesink.c:
15474         * plugins/elements/gstfilesrc.c:
15475         * plugins/elements/gstidentity.c:
15476         * plugins/elements/gstqueue.c:
15477         * plugins/elements/gsttee.c:
15478         * plugins/elements/gsttypefindelement.c:
15479         (gst_type_find_element_handle_event):
15480           make GstElementDetails const
15481
15482 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15483
15484         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
15485         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15486         (gst_collect_pads_is_collected), (gst_collect_pads_event):
15487           more detailed debug and formatting cleanup,
15488           forward newsegments to src-pad (so that e.g. adder not eats them)
15489
15490 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15491
15492         * gst/gstutils.c: (gst_element_link_pads):
15493           cleanup double code
15494
15495 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15496
15497         * libs/gst/controller/gstcontroller.c:
15498         (gst_controller_sync_values):
15499           some little tuning
15500         * tests/check/libs/controller.c: (GST_START_TEST),
15501         (gst_controller_suite):
15502           a new test for live value handling
15503
15504 2006-04-28  Wim Taymans  <wim@fluendo.com>
15505
15506         * gst/gstutils.c: (push_and_ref):
15507         Added some more docs.
15508         Fix refcount issue whith gst_element_found_tags() helper 
15509         function. Fixes #338335
15510
15511         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15512         Added testsuite for gst_element_found_tags().
15513
15514 2006-04-28  Michael Smith  <msmith@fluendo.com>
15515
15516         * gst/gstvalue.c: (gst_value_serialize_flags):
15517           Avoid NULL dereference when trying to serialize flags containing
15518           invalid values.
15519
15520 2006-04-28  Michael Smith  <msmith@fluendo.com>
15521
15522         * plugins/elements/gsttypefindelement.c:
15523         (gst_type_find_element_handle_event):
15524           If we get EOS before any data is accumulated, don't use
15525           uninitialised local variables.
15526
15527 2006-04-28  Michael Smith  <msmith@fluendo.com>
15528
15529         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15530         (gst_dp_event_from_packet):
15531           Fixes in reading/writing events over GDP (not currently used?) - 
15532           dereferencing NULL events for unknown/invalid event types, memory
15533           leak, and change g_warning to GST_WARNING.
15534
15535 2006-04-28  Wim Taymans  <wim@fluendo.com>
15536
15537         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
15538         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15539         (gst_base_sink_get_position), (gst_base_sink_change_state):
15540         When frame dropping is enabled, we should not ignore frames
15541         without a duration.
15542         Update some documentation.
15543
15544 2006-04-28  Wim Taymans  <wim@fluendo.com>
15545
15546         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15547         (gst_base_src_send_event), (gst_base_src_change_state):
15548         Documentation updates.
15549
15550 2006-04-28  Wim Taymans  <wim@fluendo.com>
15551
15552         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
15553         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
15554         handle EAGAIN, EINTR and short writes correctly. Also clean
15555         up some error cases, avoid a deadlock on bad file descriptors and
15556         use GST_DEBUG_OBJECT.
15557         Fixes #339843
15558
15559 2006-04-28  Wim Taymans  <wim@fluendo.com>
15560
15561         * gst/gstvalue.c: (gst_value_serialize_buffer),
15562         (gst_value_deserialize_buffer):
15563         Don't try to serialize a GValue with a NULL buffer. 
15564         Fixes #339821.
15565
15566         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15567         Added check for serialisation of NULL buffers.
15568
15569 2006-04-28  Wim Taymans  <wim@fluendo.com>
15570
15571         * gst/gstminiobject.c: (gst_value_take_mini_object):
15572         Taking a NULL miniobject is valid, fix the case where
15573         we try to unref the NULL miniobject.
15574
15575 2006-04-28  Wim Taymans  <wim@fluendo.com>
15576
15577         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
15578
15579         * gst/gstbin.c: (gst_bin_handle_message_func):
15580         Update docs.
15581         Don't leak bin refcount when a state recalc is
15582         in progress and we delay another one #339808.
15583
15584 2006-04-28  Wim Taymans  <wim@fluendo.com>
15585
15586         * docs/design/part-TODO.txt:
15587         Mention QoS as an ongoing work item.
15588
15589         * docs/design/part-buffering.txt:
15590         New doc about buffering that needs to be fleshed out
15591         at some point.
15592
15593         * docs/design/part-qos.txt:
15594         More QoS policy for decoders/demuxers/transforms
15595
15596         * docs/design/part-trickmodes.txt:
15597         Small update.
15598
15599 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15600
15601         * configure.ac:
15602           back to HEAD
15603
15604 === release 0.10.5 ===
15605
15606 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
15607
15608         * configure.ac:
15609           releasing 0.10.5, "Fogo"
15610
15611 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15612
15613         patch by: Wim Taymans
15614
15615         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15616         (gst_pad_configure_src), (gst_pad_push):
15617         * gst/gstpipeline.c: (gst_pipeline_init):
15618           Fix internal data flow errors.  Fixes #338711.
15619
15620 2006-04-12  Wim Taymans  <wim@fluendo.com>
15621
15622         * tests/check/gst/gstelement.c: (GST_START_TEST):
15623         Don't leak the factory.
15624
15625 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15626
15627         * configure.ac:
15628         * win32/common/config.h:
15629           prerelease
15630
15631 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
15632
15633         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15634         (gst_controller_unset_all):
15635           Free allocated GstTimedValues when freeing list nodes.
15636           Should fix leaks 'make check-valgrind' complains about.
15637
15638         * win32/common/libgstcontroller.def:
15639           Add gst_controller_unset_all.
15640
15641 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
15642
15643         * docs/libs/gstreamer-libs-sections.txt:
15644         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15645         (gst_controller_unset_all):
15646         * libs/gst/controller/gstcontroller.h:
15647         API: Added new method gst_controller_unset_all()
15648         fixed gst_controller_unset()
15649         * tests/check/libs/controller.c: (GST_START_TEST),
15650         (gst_controller_suite):
15651         Added two testcases for new and fixed method
15652
15653 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
15654
15655         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
15656           MSG_DONTWAIT is not defined on Cygwin, so work
15657           around that (fixes #317048).
15658           
15659 2006-04-11  Wim Taymans  <wim@fluendo.com>
15660
15661         * gst/gstelementfactory.c: (gst_element_register),
15662         (gst_element_factory_create), (gst_element_factory_make):
15663         Some cleanups.
15664         Fixed a FIXME.
15665         Updated docs (Fixes #131079)
15666
15667         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15668         Small cleanups.
15669
15670         * tests/check/gst/gstelement.c: (GST_START_TEST),
15671         (gst_element_suite):
15672         Added testcase for elementfactory class field.
15673
15674 2006-04-10  Wim Taymans  <wim@fluendo.com>
15675
15676         * gst/gstsegment.c:
15677         Added some more docs.
15678
15679         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
15680         (gst_base_sink_reset_qos):
15681         Calculate more accurate rate values.
15682
15683 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
15684
15685         * gst/gst_private.h:
15686           add a new #ifdef to use __declspec(dllimport) only for
15687           other modules and not for gstreamer core
15688         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
15689           use gst_guint64_to_gdouble for conversion
15690         * win32/common/libgstreamer.def:
15691           add new exported functions
15692         * win32/vs6/gst_inspect.dsp:
15693         * win32/vs6/gst_launch.dsp:
15694         * win32/vs6/libgstbase.dsp:
15695         * win32/vs6/libgstcontroller.dsp:
15696         * win32/vs6/libgstcoreelements.dsp:
15697         * win32/vs6/libgstdataprotocol.dsp:
15698         * win32/vs6/libgstnet.dsp:
15699           update project files
15700
15701 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15702
15703         * gst/gstbuffer.c: (gst_subbuffer_class_init):
15704         * gst/gstclock.c: (gst_clock_class_init):
15705         * gst/gstelement.c: (gst_element_class_init):
15706         * gst/gstindex.c: (gst_index_class_init):
15707         * gst/gstindexfactory.c: (gst_index_factory_class_init):
15708         * gst/gstobject.c: (gst_object_class_init),
15709         (gst_signal_object_class_init):
15710         * gst/gstpad.c: (gst_pad_class_init):
15711         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
15712         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
15713         * gst/gstregistry.c: (gst_registry_class_init):
15714         * gst/gstsystemclock.c: (gst_system_clock_class_init):
15715         * gst/gsttask.c: (gst_task_class_init):
15716         * gst/gstxml.c: (gst_xml_class_init):
15717         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15718         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15719         (gst_base_src_loop):
15720         * libs/gst/controller/gstcontroller.c:/
15721         (_gst_controller_class_init):
15722         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15723         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
15724         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
15725         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15726         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15727         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
15728
15729 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
15730
15731         * gst/gstpad.c: (gst_pad_link):
15732           Must set peer pads before calling the link function, otherwise
15733           a task started from a link function might get a flow-not-linked
15734           result when trying to push because the other thread where the
15735           linking happens hasn't had a chance to set the peers yet. This
15736           might happen for example when a queue gets linked to a downstream
15737           element, as queue starts a streaming task when its source pad
15738           gets linked. Happens in real life when playing back flac/musepack
15739           files in playbin (#332390).
15740           
15741 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15742
15743         * gst/gstindex.h:
15744         * gst/gstxml.h:
15745         * libs/gst/base/gstadapter.h:
15746         * libs/gst/base/gstbasesink.h:
15747         * libs/gst/base/gstbasesrc.h:
15748         * libs/gst/base/gstbasetransform.h:
15749         * libs/gst/base/gstcollectpads.h:
15750         * libs/gst/base/gstpushsrc.h:
15751         Fix broken GObject macros
15752
15753 2006-04-07  Wim Taymans  <wim@fluendo.com>
15754
15755         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15756         Initialize start and stop times, thanks valgrind.
15757
15758 2006-04-07  Wim Taymans  <wim@fluendo.com>
15759
15760         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15761         Be a bit nicer to badly behaving upstream elements that expect
15762         us to deal with non TIME segments and timestamps (such as fakesrc
15763         in the testsuite).
15764
15765 2006-04-07  Wim Taymans  <wim@fluendo.com>
15766
15767         * gst/gstbus.c:
15768         Small documentation clarification about the signal watch.
15769
15770         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15771         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
15772         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15773         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15774         (gst_base_sink_get_position_last),
15775         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
15776         Convert and store timestamps in stream time and running time, the
15777         raw timestamps are not useful, also document this better.
15778         Use different window sizes for good and bad QoS observations so
15779         we react to badness a little quicker.
15780         Keep track of the amount of rendered and dropped buffers.
15781         Send QoS timestamps in running time.
15782
15783         * libs/gst/base/gstbasetransform.c:
15784         (gst_base_transform_sink_eventfunc),
15785         (gst_base_transform_handle_buffer):
15786         Compare QoS timestamps against running time.
15787
15788 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
15789
15790         * gst/gstpad.c:
15791           Typo fixes in docs.
15792
15793 2006-04-06  Michael Smith  <msmith@fluendo.com>
15794
15795         * gst/gstpad.c: (gst_pad_set_property):
15796           Use g_value_get_object() instead of g_value_dup_gst_object(),
15797           to avoid double-reffing the pad template (which we then sink,
15798           so this worked previously if (and only if) the pad template
15799           was floating.
15800
15801         * gst/gstpadtemplate.c: (gst_pad_template_init),
15802         (gst_pad_template_pad_created):
15803           Never return floating references to pad templates, create
15804           them as initially-sunken.
15805
15806           Document an extra function (and make this stop sinking our
15807           pad template, since that is now guaranteed to do nothing,
15808           since we created it sunken).
15809
15810         * gst/gstghostpad.c:
15811           Fix docs typo.
15812
15813 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
15814
15815         * gst/gstinfo.c: (__gst_in_valgrind):
15816           Add some newlines.
15817
15818         * plugins/elements/gsttypefindelement.c:
15819         (gst_type_find_element_chain):
15820           Don't leak buffer caps.
15821
15822 2006-04-06  Michael Smith  <msmith@fluendo.com>
15823
15824         * gst/parse/grammar.y:
15825           Fix a leak in parse-launch for any source-or-sink named element 
15826           references used.
15827
15828         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
15829           Unref the pipeline if it exists after we've failed parsing.
15830
15831 2006-04-05  Michael Smith  <msmith@fluendo.com>
15832
15833         * gst/gstpipeline.c: (gst_pipeline_init):
15834           When we create a pipeline bus, initially create it in flushing mode.
15835           Fixes leaks in at least one test, and makes a new pipeline work the
15836           same as one that has gone to READY and then back to NULL.
15837
15838         * gst/gstelement.c:
15839           Typo fix in docs.
15840
15841 2006-04-05  Michael Smith  <msmith@fluendo.com>
15842
15843         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15844           Unref a pad we reffed.
15845         * tests/check/gst/gstutils.c: (GST_START_TEST):
15846           Unref bins
15847
15848 2006-04-05  Michael Smith  <msmith@fluendo.com>
15849
15850         * gst/gstquery.c: (gst_query_set_formats),
15851         (gst_query_set_formatsv):
15852           Fix leaking GValues in queries, as shown by valgrind/testsuite.
15853
15854 2006-04-05  Michael Smith  <msmith@fluendo.com>
15855
15856         * tests/check/generic/sinks.c: (GST_START_TEST):
15857           Fix a variety of memleaks in sinks check, which are only sometimes 
15858           shown by running the tests under valgrind (weird?).
15859
15860 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
15861
15862         * docs/version.entities.in:
15863           Fix the substituted entity name after thomas' changes on the
15864           weekend.
15865
15866 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
15867
15868         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
15869         VALGRIND_PRINTF
15870         
15871 2006-04-05  Andy Wingo  <wingo@pobox.com>
15872
15873         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
15874
15875         * libs/gst/base/gstbasetransform.c
15876         (gst_base_transform_sink_eventfunc): When resetting our segment on
15877         FLUSH_STOP, also update the flag saying we haven't seen a
15878         newsegment.
15879
15880 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
15881
15882         Patch by: Paolo Borelli  <pborelli at katamail dot com>
15883
15884         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
15885         (gst_plugin_check_license):
15886           minor clean-ups: G_DEFINE_TYPE already takes care of the
15887           parent_class stuff, no need to do it twice. Mark array of
15888           license strings as constant. (#337103)
15889           
15890 2006-04-04  Michael Smith  <msmith@fluendo.com>
15891
15892         * tools/gst-inspect.c: (print_element_list):
15893           Free the right plugin list; fixes a memory leak.
15894
15895 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
15896
15897         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
15898
15899         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
15900           Don't error out on empty buffers (#336945).
15901           
15902 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
15903
15904         * docs/libs/gstreamer-libs-sections.txt:
15905         * gst/gsttaglist.c:
15906         * libs/gst/base/gstbasesink.c:
15907         * libs/gst/base/gstbasesink.h:
15908         * libs/gst/base/gstbasesrc.c:
15909         * libs/gst/base/gstbasesrc.h:
15910           Documentation updates. Make BaseSink and BaseSrc docs contain the
15911           class structure so that people can actually see the prototypes for
15912           virtual functions they're supposed to be overriding.
15913
15914 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
15915
15916         * plugins/elements/gsttypefindelement.c:
15917         (gst_type_find_element_chain):
15918           More debug info; when skipping typefinding, send cached
15919           events in all cases.
15920
15921 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
15922
15923         * configure.ac:
15924           use new AS_VERSION and AS_NANO macros
15925         * gst/gst-i18n-lib.h:
15926         * gst/gst.c:
15927         * gst/gsterror.c:
15928         * gst/gstversion.h.in:
15929         * win32/common/config.h:
15930         * win32/common/config.h.in:
15931           update accordingly
15932
15933 2006-03-31  Michael Smith  <msmith@fluendo.com>
15934
15935         * plugins/elements/gsttypefindelement.c:
15936         (gst_type_find_element_chain):
15937           Do not typefind content if the buffers already have caps.
15938           Neccesary for icydemux (#333657), and the right thing to do anyway.
15939
15940 2006-03-30  Wim Taymans  <wim@fluendo.com>
15941
15942         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
15943         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
15944         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
15945         (gst_base_sink_record_qos_observation),
15946         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15947         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
15948         (gst_base_sink_change_state):
15949         More QoS measurements as described in the design doc.
15950         Get rid of ringbuffer with observations, running average is
15951         more simple and equally good.
15952         Calculates valid proportion now.
15953         Added beginning of flood measurement.
15954
15955 2006-03-29  Wim Taymans  <wim@fluendo.com>
15956
15957         * docs/design/part-qos.txt:
15958         * gst/gstclock.c:
15959         Small documentation updates and additions.
15960
15961 2006-03-29  Wim Taymans  <wim@fluendo.com>
15962
15963         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
15964         (gst_base_src_send_event), (gst_base_src_loop),
15965         (gst_base_src_change_state):
15966         Perform the EOS logic when we reach the segment stop position.
15967         Fix compilation on gcc4.1
15968
15969 2006-03-29  Wim Taymans  <wim@fluendo.com>
15970
15971         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
15972
15973         * plugins/elements/gstqueue.c: (gst_queue_init),
15974         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
15975         (gst_queue_set_property):
15976         * plugins/elements/gstqueue.h:
15977         In queue, when EOS is received, if minimum threshold > max_size -
15978         current_level, there is chance that queue blocks forever in conditional
15979         item del wait. This is because the queue is not emptied completely due
15980         to minimum threshold.  Here is another approach. Instead of setting
15981         cur_levels to max in EOS, just zero all minimum threshold levels. This
15982         should make sure that queue gives out all data. When going to READY
15983         (stop) state, just reset the original minimum threshold levels.
15984         Fixes #336336.
15985
15986 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
15987
15988         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
15989         (gst_type_find_element_handle_event),
15990         (gst_type_find_element_send_cached_events),
15991         (gst_type_find_element_change_state):
15992         * plugins/elements/gsttypefindelement.h:
15993           When typefinding is done in push mode, we should cache
15994           events we receive during typefinding instead of just
15995           dropping them (e.g. newsegment, custom events from
15996           dvdreadsrc etc.) and then send them out once we've
15997           determined the type of the stream (and decodebin
15998           has had a chance to plug in a decoder/demuxer).
15999           
16000 2006-03-27  Wim Taymans  <wim@fluendo.com>
16001
16002         * docs/design/part-qos.txt:
16003         First QoS ideas.
16004
16005 2006-03-27  Wim Taymans  <wim@fluendo.com>
16006
16007         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
16008
16009         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
16010         (gst_base_src_send_event), (gst_base_src_change_state):
16011         Handle element seek correctly when we are streaming.
16012         Fixes #326998.
16013
16014 2006-03-24  Michael Smith  <msmith@fluendo.com>
16015
16016         * docs/faq/gst-uninstalled:
16017           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
16018           allow you to correctly run intalled applications built against old 
16019           core, using plugins that require updated core (e.g. running
16020           installed totem against a full uninstalled gstreamer stack)
16021
16022 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16023
16024         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
16025         more debug details
16026
16027 2006-03-24  Wim Taymans  <wim@fluendo.com>
16028
16029         * docs/gst/gstreamer-sections.txt:
16030         Rearrange the order of the methods so that related methods
16031         are grouped together in sections.
16032
16033 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16034
16035         * gst/gstelement.c:
16036           Little clarification in the docs
16037
16038 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
16039
16040         * docs/README:
16041         formatting fix
16042         * plugins/elements/gstidentity.c:
16043         * plugins/elements/gstqueue.c:
16044         * plugins/elements/gsttee.c:
16045         * plugins/elements/gsttypefindelement.c:
16046         GST_ELEMENT_DETAILS formatting
16047
16048 2006-03-24  Wim Taymans  <wim@fluendo.com>
16049
16050         * libs/gst/base/gstbasesink.h:
16051         Only add fields, not insert or we break ABI.
16052
16053 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16054
16055         * win32/common/libgstbase.def:
16056         * win32/common/libgstreamer.def:
16057           Update, add recently added functions.
16058
16059 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16060
16061         * docs/gst/gstreamer-sections.txt:
16062         * gst/gstutils.c: (gst_pad_query_peer_position),
16063         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
16064         * gst/gstutils.h:
16065           API: add some new utility functions:
16066            - gst_pad_query_peer_position()
16067            - gst_pad_query_peer_duration()
16068            - gst_pad_query_peer_convert()
16069           
16070 2006-03-23  Wim Taymans  <wim@fluendo.com>
16071
16072         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16073         (gst_base_sink_init), (gst_base_sink_finalize),
16074         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
16075         (gst_base_sink_set_property), (gst_base_sink_get_property),
16076         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
16077         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
16078         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
16079         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
16080         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
16081         (gst_base_sink_preroll_object), (gst_base_sink_event),
16082         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
16083         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
16084         (gst_base_sink_query), (gst_base_sink_change_state):
16085         Decouple max-lateness and the fact that QoS messages are generated
16086         with a new property (qos).
16087         added API: GstBaseSink::async_play()
16088         Add vmethod so subclasses can be notified of ASYNC playing
16089         state changes.
16090         Collect timestamp start and stop to report better current
16091         position in EOS/PLAYING/PAUSED/READY/NULL.
16092         Refactor QoS/frame dropping and other measurements.
16093         API: GstBaseSrc::qos
16094         Fixes #326311
16095
16096         * libs/gst/base/gstbasesink.h:
16097         Added Private struct.
16098         API: gst_base_sink_set_qos_enabled()
16099         API: gst_base_sink_is_qos_enabled()
16100
16101 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16102
16103         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
16104           If compiling against GLib-2.8 or newer, try to read the
16105           registry file using GMappedFile first before falling back
16106           to fopen() + fread() (#332151).
16107
16108 2006-03-22  Wim Taymans  <wim@fluendo.com>
16109
16110         * gst/gstinfo.c: (gst_debug_set_active),
16111         (gst_debug_category_set_threshold):
16112         Disable debugging unless explicitly activated.
16113         Fixes #335480.
16114
16115 2006-03-22  Wim Taymans  <wim@fluendo.com>
16116
16117         * gst/gstelement.c: (gst_element_set_locked_state),
16118         (gst_element_dispose):
16119         Cleanup the error case.
16120
16121         * gst/gstobject.c: (gst_object_dispose):
16122         print a critical when some object was disposed with
16123         a parent, also revive the object since it might
16124         crash the parent.
16125
16126 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
16127
16128         * tools/gst-launch.1.in:
16129           Fix another typo.
16130
16131 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16132
16133         * configure.ac:
16134         * tests/check/Makefile.am:
16135           disable some tests when we don't have a registry
16136         * tests/check/gst/gstutils.c: (gst_utils_suite):
16137           don't build the part that needs parsing
16138
16139 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16140
16141         * gst/Makefile.am
16142         * tests/examples/Makefile.am:
16143           fix --disable-parse build
16144
16145 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16146
16147         * tools/gst-feedback.1.in:
16148           Fix typo: s/feeback/feedback/ (#133494).
16149
16150 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16151
16152         * tools/Makefile.am:
16153         * tools/gst-launch.1.in:
16154           Add FILES section and correct entry about GST_REGISTRY_PATH
16155           environment variable (#133495; #133494).
16156
16157 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16158
16159         * tools/Makefile.am:
16160         * tools/gst-md5sum.1.in:
16161         * tools/gst-md5sum.c:
16162           Remove gst-md5sum and man page (the md5sink element
16163           required was removed ages ago)
16164
16165 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16166
16167         * gst/gststructure.c: (gst_structure_id_set_value):
16168           Make sure that string fields in structures/taglists
16169           contain valid UTF-8 - we don't want to pass rubbish to
16170           applications because of a buggy plugin (cp. #334167).
16171
16172 2006-03-21  Edward Hervey  <edward@fluendo.com>
16173
16174         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16175         (gst_bin_handle_message_func):
16176         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
16177         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
16178         (gst_element_set_bus_func):
16179         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
16180         * gst/gstminiobject.c: (gst_value_set_mini_object),
16181         (gst_value_take_mini_object):
16182         * gst/gstpad.c: (gst_pad_set_pad_template):
16183         * gst/gstpipeline.c: (gst_pipeline_dispose),
16184         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16185         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
16186         (gst_collect_pads_chain):
16187         * libs/gst/net/gstnettimeprovider.c:
16188         (gst_net_time_provider_set_property):
16189         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
16190         It's in fact all issues with gst_*object_replace().
16191
16192 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16193
16194         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
16195         
16196         * pkgconfig/gstreamer-check-uninstalled.pc.in:
16197         * pkgconfig/gstreamer-check.pc.in:
16198           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
16199
16200 2006-03-21  Edward Hervey  <edward@fluendo.com>
16201
16202         * gst/gstbuffer.h:
16203         * gst/gstevent.h:
16204         * gst/gstmessage.h:
16205         gst_[buffer|event|message]_ref() macros are replaced by a static
16206         inline functions because gcc-4.1 will about if the return value
16207         isn't used.
16208         * tests/check/gst/gstevent.c: (event_probe):
16209         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
16210
16211 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
16212
16213         * gst/gstutils.h:
16214         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16215         the type' case. (Closes: #335195 for now). In the future, when we
16216         depend on GLib 2.10, we could also intern the type name using
16217         g_intern_static_string()
16218
16219 2006-03-20  Wim Taymans  <wim@fluendo.com>
16220
16221         * gst/gstbin.c: (gst_bin_handle_message_func),
16222         (bin_query_max_init), (bin_query_position_fold),
16223         (bin_query_position_done), (gst_bin_query):
16224         Position query should also take max of all streams.
16225
16226 2006-03-20  Wim Taymans  <wim@fluendo.com>
16227
16228         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16229         (gst_fake_src_finalize):
16230         Fix leaks in fakesrc.
16231
16232         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
16233         Fix leaks in the testcase.
16234
16235 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
16236
16237         * gst/gst_private.h:
16238           add win32 specific import decoration(__declspec(dllimport)) 
16239           for all extern GstDebugCategory * variables
16240         * win32/common/libgstbase.def:
16241         * win32/common/libgstcontroller.def:
16242         * win32/common/libgstreamer.def:
16243           Add some exports, remove empty lines
16244         * win32/common/libgstdataprotocol.def:
16245         * win32/common/libgstdataprotocol.dsp:
16246         * win32/common/libgstnet.def:
16247         * win32/common/libgstnet.dsp:
16248           new project files and exportation files added
16249         
16250 2006-03-19  Wim Taymans  <wim@fluendo.com>
16251
16252         * tests/check/libs/basesrc.c: (eos_event_counter):
16253         Use proper return value for probe.
16254
16255 2006-03-17  Wim Taymans  <wim@fluendo.com>
16256
16257         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16258         (gst_pad_push):
16259         Don't leak buffers, caps and pads on negotiation errors.
16260
16261 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
16262
16263         * docs/faq/cvs.xml:
16264         * docs/faq/dependencies.xml:
16265         * docs/faq/developing.xml:
16266         * docs/faq/faq.xml:
16267         * docs/faq/general.xml:
16268         * docs/faq/getting.xml:
16269         * docs/faq/legal.xml:
16270         * docs/faq/troubleshooting.xml:
16271         * docs/faq/using.xml:
16272         Faq review and update.
16273
16274 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
16275
16276         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16277         (gst_pad_push):
16278         Don't pound the cpu to pieces by checking get_caps when accept_caps
16279         is called with the same caps as the pad already has.
16280         Use GST_DEBUG_OBJECT when outputting caps change information.
16281
16282 2006-03-15  Wim Taymans  <wim@fluendo.com>
16283
16284         * gst/gstclock.c: (gst_clock_class_init):
16285         Fix docs.
16286
16287 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
16288
16289         * gst/gstbuffer.h:
16290         Documentation fix.
16291
16292         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
16293         (gst_pad_accept_caps), (gst_pad_configure_sink),
16294         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
16295         Make the default acceptcaps behaviour be to check the requested 
16296         caps against the gst_pad_get_caps output. 
16297
16298         Ensure that gst_pad_accept_caps is used to check caps when a pad
16299         doesn't have a setcaps function, so that pads automatically refuse 
16300         caps that they don't allow in their pad template. (Fixes #332986)
16301
16302         When a buffer with attached caps is pushed, ensure that the source 
16303         pad receives those caps even if the element didn't call
16304         gst_pad_set_caps first.
16305
16306 2006-03-15  Wim Taymans  <wim@fluendo.com>
16307
16308         * libs/gst/base/gstadapter.c:
16309         Add some docs.
16310
16311 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
16312
16313         * win32/common/libgstbase.def:
16314         * win32/common/libgstcontroller.def:
16315         * win32/common/libgstreamer.def:
16316           Add a whole bunch of missing functions (#334434).
16317
16318 2006-03-14  Wim Taymans  <wim@fluendo.com>
16319
16320         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
16321         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16322         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
16323         Better debug info when we receive a segment event.
16324         Reorganize a bit so we can pass the get_times() results around.
16325         Use the segment format when calculating the running time.
16326         Don't do QoS is sync is disabled or we have no clock or the
16327         element does not want us to sync to the clock.
16328         Don't drop buffers if QoS is disabled for now.
16329
16330 2006-03-14  Wim Taymans  <wim@fluendo.com>
16331
16332         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
16333         Marked the stats property as unimplemented so people don't get
16334         wild ideas.
16335         Add debug message when regression goes wrong.
16336         Added some more docs.
16337
16338 2006-03-14  Wim Taymans  <wim@fluendo.com>
16339
16340         * gst/gstsegment.c: (gst_segment_to_stream_time):
16341         Return correct return type in case of errors.
16342
16343 2006-03-14  Wim Taymans  <wim@fluendo.com>
16344
16345         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
16346           Don't segfault on invalid formats.
16347
16348 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16349
16350         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16351           Can't use gst_segment_to_running_time() when the segment
16352           is not in GST_TIME_FORMAT (like with filesink, for example).
16353           Stops flac encoding pipelines from spewing critical warnings
16354           at EOS (#331248).
16355           
16356 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16357
16358         * gst/gstpipeline.c: (gst_pipeline_class_init):
16359           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
16360
16361         * plugins/elements/gsttypefindelement.c:
16362         (gst_type_find_element_handle_event):
16363           Don't try to typefind empty streams.
16364
16365 2006-03-14  Wim Taymans  <wim@fluendo.com>
16366
16367         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16368         (gst_base_sink_do_qos):
16369         Separate QoS calculation.
16370         Only drop buffers when lateness is bigger than the 
16371         duration of the buffer.
16372
16373 2006-03-13  Wim Taymans  <wim@fluendo.com>
16374
16375         * gst/gstpipeline.c: (gst_pipeline_set_property),
16376         (gst_pipeline_get_property), (do_pipeline_seek),
16377         (gst_pipeline_change_state), (gst_pipeline_set_delay),
16378         (gst_pipeline_get_delay):
16379         Don't deadlock when reading properties.
16380
16381 2006-03-13  Wim Taymans  <wim@fluendo.com>
16382
16383         * libs/gst/base/gstbasetransform.c:
16384         (gst_base_transform_class_init), (gst_base_transform_init),
16385         (gst_base_transform_sink_event),
16386         (gst_base_transform_sink_eventfunc),
16387         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
16388         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16389         (gst_base_transform_set_property),
16390         (gst_base_transform_get_property),
16391         (gst_base_transform_change_state), (gst_base_transform_update_qos),
16392         (gst_base_transform_set_qos_enabled),
16393         (gst_base_transform_is_qos_enabled):
16394         * libs/gst/base/gstbasetransform.h:
16395         Make basetransform virtual method for src events too.
16396         Handle QOS in basetransform.
16397         API: gst_base_transform_update_qos()
16398         API: gst_base_transform_set_qos_enabled()
16399         API: gst_base_transform_is_qos_enabled()
16400
16401 2006-03-13  Wim Taymans  <wim@fluendo.com>
16402
16403         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16404         (gst_base_sink_do_sync):
16405         Small cleanups.
16406         Use QOS debug category.
16407
16408 2006-03-13  Wim Taymans  <wim@fluendo.com>
16409
16410         * plugins/elements/gstqueue.c:
16411         Very small doc update.
16412
16413 2006-03-13  Wim Taymans  <wim@fluendo.com>
16414
16415         * gst/gst_private.h:
16416         * gst/gstinfo.c: (_gst_debug_init):
16417         Added QOS debug category
16418
16419 2006-03-13  Wim Taymans  <wim@fluendo.com>
16420
16421         * docs/gst/gstreamer-sections.txt:
16422         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
16423         * gst/gstbin.h:
16424         * gst/gstbus.c: (gst_bus_class_init):
16425         * gst/gstbus.h:
16426         * gst/gstclock.c:
16427         * gst/gstelement.c: (gst_element_set_locked_state):
16428         * gst/gstsegment.c:
16429         Documentation updates.
16430
16431         * gst/gstpipeline.c: (gst_pipeline_get_type),
16432         (gst_pipeline_class_init), (gst_pipeline_init),
16433         (gst_pipeline_dispose), (gst_pipeline_set_property),
16434         (gst_pipeline_get_property), (do_pipeline_seek),
16435         (gst_pipeline_send_event), (gst_pipeline_change_state),
16436         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
16437         (gst_pipeline_get_delay):
16438         * gst/gstpipeline.h:
16439         Added methods for setting the delay.
16440         API: gst_pipeline_set_delay()
16441         API: gst_pipeline_get_delay()
16442         Add pipeline debug category
16443         Various cleanups.
16444         Updated docs.
16445         Don't reset stream time when seek failed.
16446
16447 2006-03-13  Wim Taymans  <wim@fluendo.com>
16448
16449         * docs/design/draft-klass.txt:
16450         * docs/design/part-clocks.txt:
16451         * docs/design/part-events.txt:
16452         * docs/design/part-gstbin.txt:
16453         * docs/design/part-gstpipeline.txt:
16454         * docs/design/part-messages.txt:
16455         * docs/design/part-negotiation.txt:
16456         * docs/design/part-overview.txt:
16457         * docs/design/part-preroll.txt:
16458         * docs/design/part-seeking.txt:
16459         * docs/design/part-states.txt:
16460         * docs/design/part-streams.txt:
16461         Documentation updates.
16462
16463 2006-03-12  Julien MOUTTE  <julien@moutte.net>
16464
16465         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
16466         us to leak strings...
16467
16468 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16469
16470         * libs/gst/net/gstnettimeprovider.c:
16471           fix docs
16472         * win32/common/config.h:
16473           update
16474
16475 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
16476
16477         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
16478
16479         * configure.ac:
16480           Don't check for libgnomeui (leftover from old examples
16481           that aren't built or disted any longer) (#334303).
16482           
16483 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
16484
16485         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
16486         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16487           Emit RESOURCE_NO_SPACE_LEFT error here as well when
16488           there's no space left on the device.
16489
16490 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
16491
16492         * gst/gstclock.h:
16493           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
16494           to cast the input to GstClockTime before comparing with
16495           another GstClockTime value.
16496
16497 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16498
16499         * configure.ac:
16500           back to trunk
16501
16502 === release 0.10.4 ===
16503
16504 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
16505
16506         * configure.ac:
16507           releasing 0.10.4, "Light"
16508
16509 2006-03-10  Michael Smith  <msmith@fluendo.com>
16510
16511         * libs/gst/dataprotocol/dataprotocol.c:
16512           Fix docs for dataprocotol to not get the return types completely
16513           wrong for a few functions.
16514
16515 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16516
16517         * docs/gst/gstreamer-sections.txt:
16518         * gst/gstpipeline.c: (gst_pipeline_class_init),
16519         (gst_pipeline_init), (gst_pipeline_set_property),
16520         (gst_pipeline_get_property), (gst_pipeline_change_state),
16521         (gst_pipeline_set_auto_flush_bus),
16522         (gst_pipeline_get_auto_flush_bus):
16523         * gst/gstpipeline.h:
16524           Add new API: gst_pipeline_set_auto_flush_bus() and
16525           gst_pipeline_get_auto_flush_bus() to disable automatic
16526           flushing of the pipeline's GstBus when going from READY
16527           to NULL state (#332045).
16528
16529 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16530
16531         * docs/gst/gstreamer-sections.txt:
16532         * gst/gsturi.c: (gst_uri_has_protocol):
16533         * gst/gsturi.h:
16534            Add new API: gst_uri_has_protocol() (#333779).
16535
16536 2006-03-09  Wim Taymans  <wim@fluendo.com>
16537
16538         * gst/gstclock.c: (gst_clock_entry_new),
16539         (gst_clock_id_compare_func), (gst_clock_id_wait),
16540         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
16541         (gst_clock_init), (gst_clock_get_internal_time),
16542         (gst_clock_set_master), (do_linear_regression),
16543         (gst_clock_add_observation), (gst_clock_set_property):
16544         * gst/gstclock.h:
16545         Review docs.
16546         Small cleanups.
16547         Fix a possible segfault when the window-size is made smaller.
16548         Calculate jitter before performing the clock wait. Ideally
16549         the clock implementation should calculate jitter but we need
16550         API breakage for that.
16551
16552         * gst/gstsystemclock.c: (gst_system_clock_init):
16553         Docs review.
16554         
16555         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16556         Remove leftover else
16557
16558         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
16559         (gst_systemclock_suite):
16560         Added check to test GST_CLOCK_DIFF.
16561
16562 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16563
16564         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
16565         (gst_type_find_helper_get_range):
16566           If we are provided with the size, we should implement
16567           GstTypeFind::get_length, so that typefind functions who
16568           want to can actually peek at the middle of a file.
16569
16570 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
16571
16572         * docs/manual/advanced-dataaccess.xml:
16573           Add some very very basic error checking.
16574
16575         * docs/pwg/appendix-checklist.xml:
16576           Some updates to the list of things to check when writing an element.
16577
16578 2006-03-08  Wim Taymans  <wim@fluendo.com>
16579
16580         * docs/design/part-element-transform.txt:
16581         Added some docs about the design of tranform elements.
16582
16583         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16584         (gst_base_src_loop), (gst_base_src_change_state):
16585         Mark buffers with the DISCONT flag.
16586
16587 2006-03-08  Michael Smith  <msmith@fluendo.com>
16588
16589         * gst/gstregistry.h:
16590         * gst/gstregistryxml.c: (gst_registry_save),
16591         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
16592         (gst_registry_xml_save_pad_template),
16593         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
16594         (gst_registry_xml_write_cache):
16595           Rewrite registry-saving to avoid race conditions and check for
16596           failed writes.
16597
16598 2006-03-08  Wim Taymans  <wim@fluendo.com>
16599
16600         * libs/gst/base/gstbasetransform.c:
16601         (gst_base_transform_transform_caps),
16602         (gst_base_transform_transform_size),
16603         (gst_base_transform_prepare_output_buffer),
16604         (gst_base_transform_get_unit_size),
16605         (gst_base_transform_buffer_alloc),
16606         (gst_base_transform_handle_buffer),
16607         (gst_base_transform_change_state):
16608         Cleanups, separate normal flow from errors, add sensible
16609         DEBUG lines.
16610         Don't try to renegotiate when allocating an output buffer.
16611         Also copy DISCONT buffer flag when copying a buffer.
16612         Reset the transform after we finish streaming, not during.
16613
16614 2006-03-08  Wim Taymans  <wim@fluendo.com>
16615
16616         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16617         Use last buffer timestamp in qos message.
16618
16619 2006-03-07  Wim Taymans  <wim@fluendo.com>
16620
16621         Patch by: Christophe Fergeau
16622
16623         * docs/pwg/advanced-tagging.xml:
16624         * docs/pwg/building-pads.xml:
16625           fixes #333416
16626
16627 2006-03-07  Wim Taymans  <wim@fluendo.com>
16628
16629         * docs/libs/gstreamer-libs-sections.txt:
16630         Added basesink new methods.
16631
16632         * gst/gstevent.c:
16633         * gst/gstevent.h:
16634         Docs updates. Flesh out the QoS docs.
16635
16636         * libs/gst/base/gstadapter.c:
16637         Small doc clarification about ownership and flushing.
16638
16639         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
16640         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
16641         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
16642         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16643         * libs/gst/base/gstbasesink.h:
16644         API additions: 
16645         Added new methods to allow subclass to control max-lateness 
16646         and sync.
16647         Generate very basic QoS events based on last sync observation.
16648         Updated docs, fix typo, added some QoS blurb.
16649
16650         * libs/gst/base/gstbasesrc.c:
16651         Remove obsolete _get_state() calls from docs.
16652
16653 2006-03-07  Wim Taymans  <wim@fluendo.com>
16654
16655         * docs/libs/gstreamer-libs-sections.txt:
16656         * libs/gst/base/gstbasetransform.h:
16657         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
16658         Fix docs for GstBaseSrc.
16659
16660 2006-03-07  Wim Taymans  <wim@fluendo.com>
16661
16662         * docs/gst/gstreamer-sections.txt:
16663         * gst/gstbuffer.h:
16664         * gst/gstvalue.c:
16665         * libs/gst/base/gstbasetransform.h:
16666         Small documentation fixes.
16667
16668 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16669
16670         * gst/gstvalue.c:
16671           Document thread-unsafety of gst_value_register_foo_func()
16672           when used at the same time as gst_value_foo() (#322628).
16673
16674 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16675
16676         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
16677         (gst_push_src_check_get_range):
16678           Push sources don't support pull mode by default.
16679
16680 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16681
16682         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16683         (gst_base_src_init), (gst_base_src_pad_check_get_range),
16684         (gst_base_src_default_check_get_range):
16685         * libs/gst/base/gstbasesrc.h:
16686           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
16687           provide default implementation, and rename
16688           gst_base_src_check_get_range() to
16689           gst_base_src_pad_check_get_range() for clarity.
16690
16691 2006-03-06  Wim Taymans  <wim@fluendo.com>
16692
16693         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16694         Make property overridable.
16695
16696 2006-03-06  Wim Taymans  <wim@fluendo.com>
16697
16698         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16699         (gst_base_sink_init), (gst_base_sink_set_property),
16700         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16701         * libs/gst/base/gstbasesink.h:
16702         API addition: Make max-lateness a property.
16703
16704 2006-03-06  Wim Taymans  <wim@fluendo.com>
16705
16706         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
16707         (gst_base_sink_do_sync), (gst_base_sink_render_object):
16708         Don't ever draw a frame that is >10ms late.
16709
16710 2006-03-06  Michael Smith  <msmith@fluendo.com>
16711
16712         * gst/gstmessage.c: (_gst_message_copy):
16713           When copying a message, set the parent_refcount of the enclosed
16714           structure to point at the copy, not the original message.
16715
16716 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16717
16718         Patch by: Christophe Fergeau
16719
16720         * gst/gstutils.h:
16721           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
16722           usable in c++ code (#333417)
16723
16724 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16725
16726         * gst/gstclock.h:
16727           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
16728
16729 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
16730
16731         * libs/gst/base/gstbasetransform.c:
16732         (gst_base_transform_transform_caps):
16733           Make sure caps are writable before passing them to
16734           gst_caps_append().
16735
16736 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
16737
16738         * gst/gsterror.h:
16739           Fix some minor docs errors.
16740
16741 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
16742
16743           Patch by: Ross Burton <ross at burtonini dot com>
16744
16745         * gst/gsterror.c: (_gst_resource_errors_init):
16746         * gst/gsterror.h:
16747           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
16748
16749 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
16750
16751         * gst/gst.c:
16752         Add a check and output a g_warning when GStreamer is built
16753         against GLib 2.6 but running against 2.8 or higher, and vice 
16754         versa. (Closes: #323542)
16755
16756 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
16757
16758         * gst/parse/parse.l:
16759           Commit patch for parse_launch syntax from #331255. Removes 
16760           support for quoted strings and mimetypes when writing filtered 
16761           caps. See the bug report for more details - I'm pretty sure this
16762           obscure feature is not in use by _anyone_ anywhere.
16763
16764           With this simple change, the size of the gstreamer.so here 
16765           drops from 2193KB to 1565KB.
16766
16767 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16768
16769         * plugins/elements/gsttypefindelement.h:
16770         * plugins/elements/gsttypefindelement.c:
16771         (gst_type_find_element_src_event), (start_typefinding),
16772         (stop_typefinding), (gst_type_find_element_handle_event),
16773         (gst_type_find_element_chain),
16774         (gst_type_find_element_chain_do_typefinding):
16775           Use gst_type_find_helper_for_buffer() for chain-based
16776           typefinding.
16777
16778 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16779
16780         * plugins/elements/gsttypefindelement.c:
16781         (gst_type_find_element_class_init),
16782         (gst_type_find_element_set_property),
16783         (gst_type_find_element_get_property):
16784           Deprecate "maximum" property (not only was it only taken into
16785           account for typefinding in push-mode anyway, it also was never
16786           actually possible to set it in the first place because the
16787           property was registered with the numeric property ID for the
16788           "minimum" property). Register "maximum" property correctly,
16789           for the sake of future copy'n'pasters. Remove some cruft
16790           from property get/set functions.
16791
16792 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16793
16794         * plugins/elements/gsttypefindelement.c:
16795         (gst_type_find_element_activate):
16796           Use gst_type_find_helper_get_range() here, so we
16797           can honour the "minimum" property and also emit
16798           the signal with the correct probability of the found caps.
16799
16800 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
16801
16802         * docs/libs/gstreamer-libs-sections.txt:
16803         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
16804         (helper_find_suggest), (gst_type_find_helper_get_range),
16805         (gst_type_find_helper):
16806         * libs/gst/base/gsttypefindhelper.h:
16807           New API: gst_type_find_helper_get_range() (#333042).
16808
16809 2006-03-02  Michael Smith  <msmith@fluendo.com>
16810
16811         * gst/gstregistryxml.c: (load_feature):
16812           Asserting on a failure to read part of the registry is Not Cool.
16813           Just log a warning and return NULL (which is already handled)
16814
16815 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
16816
16817         * win32/common/libgstbase.def:
16818           added export of gst_type_find_helper_for_buffer
16819         * win32/common/libgstbase.def:
16820           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
16821           gst_ghost_pad_get_target
16822
16823 2006-02-28  Wim Taymans  <wim@fluendo.com>
16824
16825         * docs/design/draft-klass.txt:
16826         We use Filter now.
16827         Added Connector to mark elements that are only used to
16828         allow pipeline connections.
16829         Moved Debug to extra feature since most of them are 
16830         functionally something else.
16831
16832 2006-02-28  Wim Taymans  <wim@fluendo.com>
16833
16834         * docs/design/draft-klass.txt:
16835         Some updates and clarifications.
16836
16837 2006-02-28  Wim Taymans  <wim@fluendo.com>
16838
16839         * docs/design/draft-klass.txt:
16840         Proposal for klass field values.
16841
16842         * docs/design/part-streams.txt:
16843         Start of a doc describing stream anatomy.
16844
16845 2006-02-28  Wim Taymans  <wim@fluendo.com>
16846
16847         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
16848         Help the compiler a bit with type registration.
16849         Use existing forward cod path instead of duplicating it when 
16850         handling a message.
16851         
16852         * gst/gstbus.c: (gst_bus_get_type):
16853         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
16854         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
16855         * gst/gstclock.c: (gst_clock_get_type):
16856         * gst/gstelement.c: (gst_element_get_type),
16857         * gst/gstelementfactory.c: (gst_element_factory_get_type):
16858         * gst/gstindexfactory.c: (gst_index_factory_get_type):
16859         * gst/gstminiobject.c: (gst_mini_object_get_type):
16860         * gst/gstpad.c: (gst_pad_get_type):
16861         * gst/gstsegment.c: (gst_segment_get_type):
16862         * gst/gststructure.c: (gst_structure_get_type):
16863         * gst/gstsystemclock.c: (gst_system_clock_get_type):
16864         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
16865         * gst/gstvalue.c:
16866         Help compiler with type registration.
16867
16868         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
16869         Small doc update.
16870
16871 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16872
16873         * plugins/elements/gsttypefindelement.c:
16874         (gst_type_find_element_handle_event):
16875           When we get an EOS event and have not found a type yet
16876           (most likely because we had not yet accumulated
16877           TYPE_FIND_MIN_SIZE of data yet), try to determine the
16878           type given the data we have so far. Fixes typefinding
16879           for very short streams again, most notably quicktime
16880           redirections as used on Apple's trailer site (#331701).
16881
16882 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16883
16884         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
16885         (gst_type_find_helper):
16886           Try typefinding factories with the highest rank first.
16887
16888 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16889
16890         * docs/libs/gstreamer-libs-docs.sgml:
16891         * docs/libs/gstreamer-libs-sections.txt:
16892         * libs/gst/base/gsttypefindhelper.c:
16893           Add section for typefind helper and add documentation
16894           for the old and the new function.
16895
16896 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16897
16898         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
16899         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
16900         (gst_type_find_helper_for_buffer):
16901         * libs/gst/base/gsttypefindhelper.h:
16902           New API: gst_type_find_helper_for_buffer() (#332723).
16903           
16904 2006-02-27  Michael Smith  <msmith@fluendo.com>
16905
16906         Patch by: Loïc Minier
16907
16908         * configure.ac:
16909         * docs/Makefile.am:
16910         * docs/slides/Makefile.am:
16911           prevent CVS directories getting disted.
16912
16913 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16914
16915         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
16916           Use the REFCOUNTING category for caps refcounting.
16917           
16918 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
16919
16920         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
16921           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
16922
16923 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
16924
16925         * plugins/elements/gsttypefindelement.c:
16926         (gst_type_find_element_activate):
16927           Use gst_pad_check_pull_range() before _activate_pull()
16928           to avoid unnecessary open/close (see #331690).
16929
16930 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
16931
16932         * gst/gstutils.c:
16933           Docs enhancement: make it crystal clear what the
16934           gst_pad_add_*_probe() callbacks should look like.
16935
16936 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
16937
16938         * libs/gst/base/gstbasesrc.c:
16939           Document how applications can stop recording from
16940           live sources (see #330996).
16941
16942 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
16943
16944         * tests/check/Makefile.am:
16945         * tests/check/libs/basesrc.c: (eos_event_counter),
16946         (basesrc_eos_events_pull), (basesrc_eos_events_push),
16947         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
16948         (gst_basesrc_suite), (main):
16949           ... and add some tests for the base source EOS stuff.
16950
16951 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
16952
16953         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
16954           Test case originally showed the problem fixed below,
16955           but was then amended. Add checks back at the place
16956           where they used to be.
16957
16958 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
16959
16960         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16961         (gst_base_src_init), (gst_base_src_loop),
16962         (gst_base_src_activate_push), (gst_base_src_activate_pull),
16963         (gst_base_src_change_state):
16964         * libs/gst/base/gstbasesrc.h:
16965           Don't unconditionally send EOS when going from PAUSED to
16966           READY state, esp. make sure we don't send two EOS events
16967           in some cases (e.g. one when reaching EOS and one when
16968           going from PAUSED to READY). Also, we don't want to send
16969           EOS events when operating in pull mode. However, we do
16970           want to send an EOS event when shutting down a live
16971           source explicitly, for example (fixes #330996).
16972           
16973 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
16974
16975         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
16976           Update src->read_position after a seek when not using mmap.
16977           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
16978
16979 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
16980
16981         * gst/Makefile.am:
16982         * gst/gstparse.h:
16983         * gst/gstutils.c:
16984         * gst/gstutils.h:
16985         Make things work with --disable-parse as they do with 
16986         --disable-load-save - the symbols involved disappear, but the
16987         header is still installed and GST_DISABLE_PARSE is included via
16988         gstconfig.h
16989
16990 2006-02-20  Julien MOUTTE  <julien@moutte.net>
16991
16992         * libs/gst/base/gstbasetransform.c:
16993         (gst_base_transform_change_state): Fix a stupid bug. I was 
16994         sure I compiled that.
16995
16996 2006-02-20  Julien MOUTTE  <julien@moutte.net>
16997
16998         * gst/gstpad.c: (gst_pad_set_blocked_async):
16999         * gst/gstutils.c: (gst_pad_add_data_probe),
17000         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
17001         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
17002         (gst_pad_remove_buffer_probe): Make those function act on the
17003         ghostpad target when it's a ghostpad. (Closes #331727)
17004
17005 2006-02-20  Julien MOUTTE  <julien@moutte.net>
17006
17007         * libs/gst/base/gstbasetransform.c:
17008         (gst_base_transform_change_state): Make basetransform reusable.
17009         (Closes #331898)
17010
17011 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
17012
17013         * docs/random/release:
17014         Move the current documentation of how to do a release to the top
17015         of the file.
17016
17017         * gst/gstbin.c: (gst_bin_class_init),
17018         (gst_bin_handle_message_func):
17019         Allow multiple state-recalculation threads. (Closes #328873)
17020
17021 2006-02-19  Julien MOUTTE  <julien@moutte.net>
17022
17023         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
17024         * gst/gstpad.c: (gst_pad_set_event_function),
17025         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17026         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
17027         2 strings. You can't use the STR_NULL macro on that.
17028
17029 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
17030
17031         * gst/gstpad.c: (gst_pad_set_event_function),
17032         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
17033         (gst_pad_set_getcaps_function)
17034         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
17035           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
17036           So now, we can use --gst-debug-level=5 on Windows
17037         * win32/common/libgstcontroller.def:
17038           Added export of gst_controller_init
17039         * win32/vs6/libgstcontroller.dsp:
17040           Fixed Release post build configuration
17041
17042 2006-02-17  Wim Taymans  <wim@fluendo.com>
17043
17044         * tests/check/gst/gstquery.c: (GST_START_TEST):
17045         Added another check.
17046
17047 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
17048
17049         * plugins/elements/gsttypefindelement.c: (find_peek):
17050           We can do peeks at non-zero offsets, as long as they
17051           fall within the buffer we have.
17052
17053 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
17054
17055         * tests/check/Makefile.am:
17056         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
17057         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
17058         (parse_suite), (main):
17059           Add testsuite for parse launch syntax
17060
17061 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
17062
17063         * plugins/elements/gsttypefindelement.c:
17064         (gst_type_find_element_chain):
17065           When typefinding is unsuccessful in the chain function, don't
17066           error out immediately. Only error out with NO_CAPS_FOUND if
17067           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
17068           otherwise simply wait for more data so we can try typefinding
17069           again with more data later. Also, don't attempt to typefind
17070           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
17071           this should improve typefinding from network sources where the
17072           size of the first buffer can be somewhat random.
17073
17074 2006-02-14  Wim Taymans  <wim@fluendo.com>
17075
17076         * docs/gst/gstreamer-sections.txt:
17077         * gst/gstpadtemplate.c:
17078         * gst/gstpadtemplate.h:
17079         Fix padtemplate docs, fixes #328805.
17080
17081 2006-02-14  Wim Taymans  <wim@fluendo.com>
17082
17083         * tools/gst-launch.c: (main):
17084         NO_PREROLL is not an ERROR so don't send confusing messages
17085         to the user.
17086
17087 2006-02-14  Wim Taymans  <wim@fluendo.com>
17088
17089         Patch by: Torsten Schoenfeld
17090
17091         * gst/gstregistry.c: (gst_registry_get_default),
17092         (_gst_registry_cleanup):
17093         Protect default registry with lock and ref/sink it.
17094         Fixes #324818
17095
17096 2006-02-14  Wim Taymans  <wim@fluendo.com>
17097
17098         * gst/gstbuffer.c:
17099         * gst/gstquery.c: (gst_query_list_add_format),
17100         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17101         (gst_query_parse_formats_nth):
17102         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
17103         Docs fixes.
17104
17105 2006-02-14  Wim Taymans  <wim@fluendo.com>
17106
17107         * docs/gst/gstreamer-sections.txt:
17108         Reworked query docs.
17109
17110         * gst/gstquery.c: (gst_query_new_formats),
17111         (gst_query_list_add_format), (gst_query_set_formats),
17112         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17113         (gst_query_parse_formats_nth):
17114         * gst/gstquery.h:
17115         Flesh out formats query, added some new methods.
17116         Fix part of #324398.
17117
17118         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
17119         Added query creation tests.
17120
17121 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
17122
17123         * gst/gstpad.c: (fixate_value):
17124         Add a default fixation for fraction lists.
17125
17126 2006-02-13  Wim Taymans  <wim@fluendo.com>
17127
17128         * gst/gsttask.c: (gst_task_init), (gst_task_func),
17129         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
17130         (gst_task_join):
17131         * gst/gsttask.h:
17132         Detect and warn for obvious deadlocks. fixes #320340
17133         Fix error case where lock was not released.
17134
17135         * tests/check/Makefile.am:
17136         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
17137         (task_func), (gst_element_suite), (main):
17138         Add task check.
17139
17140 2006-02-13  Wim Taymans  <wim@fluendo.com>
17141
17142         * docs/gst/gstreamer-sections.txt:
17143         * gst/gstbus.c:
17144         Add new functions to docs.
17145
17146 2006-02-13  Wim Taymans  <wim@fluendo.com>
17147
17148         * docs/design/part-TODO.txt:
17149         Updated TODO list, basesrc supports seeking to non-bytes
17150         formats.
17151
17152         * docs/design/part-element-sink.txt:
17153         Update docs.
17154
17155         * gst/gstbin.c: (bin_replace_message),
17156         (gst_bin_handle_message_func):
17157         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
17158         * gst/gstevent.c: (gst_event_finalize):
17159         * gst/gstpad.c: (gst_pad_event_default_dispatch),
17160         (gst_pad_send_event):
17161         Use shiny new _TYPE_NAME macros.
17162
17163         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17164         Move debug statement up.
17165
17166         * gst/gstelement.c: (gst_element_set_locked_state):
17167         Add some debugging.
17168
17169 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
17170
17171         * docs/gst/gstreamer-sections.txt:
17172         * gst/gstmessage.h:
17173         * gst/gstquery.h:
17174           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
17175           macros (#330906). Also, document the already existing
17176           GST_QUERY_TYPE macro.
17177
17178 2006-02-13  Wim Taymans  <wim@fluendo.com>
17179
17180         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
17181         (event_probe), (GST_START_TEST):
17182         Only events up to the pipeline EOS are counted, there are
17183         some more when going to NULL currently which we don't care
17184         about for now.
17185
17186 2006-02-13  Wim Taymans  <wim@fluendo.com>
17187
17188         * gst/gstpad.c: (gst_pad_send_event):
17189         Correctly check flushing and emit probes. fixes #330125
17190
17191 2006-02-10  Andy Wingo  <wingo@pobox.com>
17192
17193         * gst/gstbus.c (gst_bus_class_init): Declare our private data
17194         structure.
17195         (gst_bus_init): Cache the location of the private data in the
17196         instance structure.
17197         (gst_bus_enable_sync_message_emission) 
17198         (gst_bus_disable_sync_message_emission): Implement new public
17199         functions.
17200         (gst_bus_post): Emit the sync-message signal if the user asked for
17201         it. Fixes #330684.
17202
17203         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
17204         location of the bus-private structure.
17205         (gst_bus_enable_sync_message_emission)
17206         (gst_bus_disable_sync_message_emission): API addition
17207
17208 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
17209
17210         Patch by: Vincent Torri
17211
17212         * docs/pwg/building-boiler.xml:
17213         PWG patch from #326800
17214
17215 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
17216
17217         * configure.ac:
17218         * docs/Makefile.am:
17219         * docs/design/Makefile.am:
17220           Dist design docs.
17221
17222 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17223
17224         * configure.ac:
17225           back to CVS
17226
17227 === release 0.10.3 ===
17228
17229 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
17230
17231         * configure.ac:
17232           releasing 0.10.3, "Like a virgin"
17233
17234 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17235
17236         * configure.ac:
17237           2nd prerelease of 0.10.3
17238           Bump libtool versioning.
17239
17240 2006-02-07  Andy Wingo  <wingo@pobox.com>
17241
17242         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
17243         update last_stop if we're in TIME format and the timestamp is
17244         valid.
17245
17246         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
17247         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
17248         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
17249         If we get a new newsegment with a different format, adapt
17250         accordingly.
17251
17252         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
17253         of 0. Not a problem, really.
17254
17255         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
17256         warn if sync=true.
17257
17258 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
17259
17260         * configure.ac:
17261           Prelease of 0.10.3
17262
17263 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
17264
17265         * win32/vs7:
17266           project files updated to the default vs7 configuration
17267         * win32/common/libgstbase.def:
17268         * win32/common/libgstreamer.def:
17269           added new symbols,
17270           removed empty lines,
17271           sorted all exported symbols alphabetically
17272         * win32/common/dirent.c:
17273         * win32/common/dirent.h:
17274         * win32/common/gchar.h:
17275           use windows line end.
17276           
17277 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17278
17279         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
17280           Send EOS event when stopping.
17281
17282 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17283
17284         * docs/README:
17285           Tell folks what to do if the plugin-foobar.xml file
17286           hasn't been generated for a newly-added plugin.
17287
17288 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17289
17290         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
17291         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
17292         (gst_collect_pads_start), (gst_collect_pads_stop),
17293         (gst_collect_pads_event): Collectpads now holds a reference
17294         to the GstPad that was added. Indeed we don't want to look
17295         at pads that might just go away with no warning...
17296
17297 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17298
17299         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17300         (gst_collect_pads_start), (gst_collect_pads_stop),
17301         (gst_collect_pads_event), (gst_collect_pads_chain):
17302         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
17303         Mark Nauwelaerts's patch on bug #328491.
17304
17305 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17306
17307         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
17308         (gst_utils_suite):
17309           Add some simple tests for gst_parse_bin_from_description() and
17310           gst_bin_find_unconnected_pad() (#329069).
17311
17312 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17313
17314         * tools/gst-launch.c: (event_loop), (main):
17315           Catch errors during preroll (#320084).
17316
17317 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
17318
17319         * plugins/elements/gsttypefindelement.c:
17320         (gst_type_find_element_activate):
17321           Post TYPE_NOT_FOUND error message when typefinding
17322           is unsuccessful in the activate function as well.
17323
17324 2006-02-02  Wim Taymans  <wim@fluendo.com>
17325
17326         * docs/design/part-element-sink.txt:
17327         Updated doc.
17328
17329 2006-02-02  Wim Taymans  <wim@fluendo.com>
17330
17331         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
17332         (gst_base_sink_render_object),
17333         (gst_base_sink_queue_object_unlocked):
17334         Only keep track of prerollable items when we are 
17335         prerolling.
17336         Before rendering after preroll, always check if we
17337         have queued items.
17338         Added some more debugging.
17339
17340 2006-02-02  Wim Taymans  <wim@fluendo.com>
17341
17342         * gst/gstelement.c: (gst_element_continue_state),
17343         (gst_element_set_state_func), (gst_element_change_state):
17344         Fixed #326576, been running this for quite some time with
17345         no regressions at all.
17346
17347 2006-02-02  Wim Taymans  <wim@fluendo.com>
17348
17349         * common/gst.supp:
17350         Added more suppressions
17351
17352 2006-02-02  Wim Taymans  <wim@fluendo.com>
17353
17354         * docs/design/part-element-sink.txt:
17355         Updated document.
17356
17357         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17358         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
17359         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
17360         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
17361         (gst_base_sink_do_sync), (gst_base_sink_render_object),
17362         (gst_base_sink_preroll_object),
17363         (gst_base_sink_queue_object_unlocked),
17364         (gst_base_sink_queue_object), (gst_base_sink_event),
17365         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
17366         (gst_base_sink_loop), (gst_base_sink_activate_pull),
17367         (gst_base_sink_get_position), (gst_base_sink_change_state):
17368         * libs/gst/base/gstbasesink.h:
17369         Totally refactored matching the design doc.
17370         Use two segments, one to clip incomming buffers and another to
17371         perform sync.
17372         Handle queueing correctly, bypass the queue when playing.
17373         Make EOS cancelable.
17374         Handle errors correctly when operating in pull based mode.
17375
17376         * tests/check/elements/fakesink.c: (GST_START_TEST),
17377         (fakesink_suite):
17378         Added new check for sinks.
17379
17380 2006-02-02  Wim Taymans  <wim@fluendo.com>
17381
17382         * gst/gstsegment.c: (gst_segment_clip):
17383         No reason to refuse to clip when start == -1
17384
17385 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
17386
17387         * docs/README:
17388         * docs/manual/intro-basics.xml:
17389         * docs/manual/intro-preface.xml:
17390         * docs/manual/manual.xml:
17391         * docs/pwg/advanced-dparams.xml:
17392         * docs/pwg/intro-basics.xml:
17393         * docs/pwg/intro-preface.xml:
17394         * docs/pwg/pwg.xml:
17395           describe dparams (controller) for plugins
17396           unify docs a little more
17397
17398 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
17399
17400         * docs/gst/gstreamer-sections.txt:
17401         * gst/gstutils.c: (element_find_unconnected_pad),
17402         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
17403         * gst/gstutils.h:
17404           Add new API: gst_parse_bin_from_description() and
17405           gst_bin_find_unconnected_pad() (#329069).
17406
17407 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
17408
17409         * docs/manual/README:
17410           uncover a nasty detail of the docs build
17411
17412 2006-01-31  Wim Taymans  <wim@fluendo.com>
17413
17414         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
17415         Don't cache duration messages if we're not going to use or
17416         free them.
17417
17418 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
17419
17420         * docs/manual/advanced-dparams.xml:
17421         * docs/pwg/advanced-dparams.xml:
17422           more dparam docs
17423         * gst/gstindex.c:
17424           fix docs
17425         * libs/gst/controller/lib.c: (gst_controller_init):
17426           init just once
17427
17428 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
17429
17430         * gst/gstelement.c: (gst_element_message_full):
17431           also show file/line/func if no additional debug was given
17432
17433 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
17434         
17435         * win32/vs7/grammar.vcproj:
17436           activate copy of autogenerated files for Release mode
17437
17438 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17439         
17440         * win32/common/libgstreamer.def:
17441           export gst_value_compare
17442
17443 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
17444
17445         * plugins/elements/Makefile.am:
17446         * plugins/elements/gstelements.c:
17447         * plugins/elements/gstfdsink.c: (_do_init),
17448         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17449         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
17450         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
17451         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
17452         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
17453         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17454         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
17455         * plugins/elements/gstfdsink.h:
17456         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
17457
17458 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
17459
17460         * docs/manual/advanced-dparams.xml:
17461           describe controller
17462         * docs/manual/advanced-position.xml:
17463         * docs/manual/basics-init.xml:
17464         * docs/manual/manual.xml:
17465         * docs/manual/titlepage.xml:
17466         * docs/pwg/pwg.xml:
17467         * docs/pwg/titlepage.xml:
17468           cleanup xml (more to come)
17469         * libs/gst/controller/gstcontroller.c:
17470           fix typo
17471
17472 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17473         
17474         * win32/vs6/grammar.dsp:
17475           add autogen of gstmarshal.c,h for Release mode
17476                 
17477 2006-01-30  Wim Taymans  <wim@fluendo.com>
17478
17479         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17480         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
17481         (gst_base_sink_handle_object), (gst_base_sink_event),
17482         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
17483         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17484         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
17485         (gst_base_sink_deactivate), (gst_base_sink_activate),
17486         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17487         (gst_base_sink_query), (gst_base_sink_change_state):
17488         Basesink cleanups, remove some old code.
17489         Handle the case where a subclass can preroll in the render
17490         method (mostly audiosinks).
17491         Handle more events.
17492         Remove some locks around variables that are now protected
17493         with the PREROLL_LOCK (clock_id, flushing, ..).
17494         Optimize position query some more, do correct locking.
17495         Remove old code to push queue in state change, this is not
17496         needed anymore since preroll blocks on all prerollable items 
17497         now.
17498         Almost implemented as described in design doc.
17499
17500 2006-01-30  Wim Taymans  <wim@fluendo.com>
17501
17502         * tests/check/gst/gstbin.c: (GST_START_TEST):
17503         Wait for refcount to settle down before checking.
17504
17505 2006-01-30  Wim Taymans  <wim@fluendo.com>
17506
17507         * docs/design/part-element-sink.txt:
17508         Pseudo code overview of desired sink behaviour regarding
17509         preroll.
17510
17511 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17512         * win32/vs6/grammar.dsp:
17513           fix some bugs in Release mode for autogenerated files
17514                 
17515 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17516         * win32/common/libgstbase.def:
17517         * win32/common/libgstreamer.def:
17518           export some new symbols: gst_base_src_set_format,
17519           gst_iterator_next, gst_structure_set_valist
17520
17521 2006-01-29  Julien MOUTTE  <julien@moutte.net>
17522
17523         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17524         Set pad functions unconditionally. Fixes #329105.
17525
17526 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17527         * win32/vs8:
17528           add vs8 project files created by Sergey Scobich
17529
17530 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
17531
17532         * gst/gstutils.c: (gst_element_unlink_pads):
17533         Don't leak pad references.
17534
17535         * tests/check/elements/fakesink.c: (GST_START_TEST):
17536         * tests/check/generic/sinks.c: (GST_START_TEST):
17537         * tests/check/generic/states.c: (GST_START_TEST):
17538         * tests/check/gst/gstbin.c: (GST_START_TEST):
17539         * tests/check/gst/gstcaps.c: (GST_START_TEST):
17540         * tests/check/gst/gstelement.c: (GST_START_TEST):
17541         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
17542         * tests/check/gst/gstiterator.c: (GST_START_TEST):
17543         * tests/check/gst/gstvalue.c: (GST_START_TEST):
17544         Fix a bunch of leaks. Make generic/sinks.c
17545         use a bit less cpu by slowing the buffer rate
17546         between fakesrc and fakesink.
17547         
17548 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
17549         * gst/gstcaps.c:
17550         * gst/gstelement.c: (gst_element_send_event):
17551         * gst/gstevent.c:
17552         * gst/gstinfo.c:
17553         * gst/gstiterator.c:
17554         * gst/gstiterator.h:
17555         * gst/gstpad.c: (gst_pad_send_event):
17556         * gst/gststructure.c:
17557         * gst/gsturi.c:
17558         * gst/gstutils.c:
17559         * gst/gstvalue.c:
17560         * libs/gst/base/gstadapter.c:
17561           doc fixes, to link to function, just write gst_cool_function(), don't
17562           prefix with '#'
17563
17564 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17565
17566         * plugins/elements/gsttee.c: (gst_tee_do_push),
17567         (gst_tee_handle_buffer):
17568         Always prefer an actual return value from a src
17569         pad in place of NOT_LINKED. This means we return
17570         WRONG_STATE when all src pads are WRONG_STATE
17571         instead of NOT_LINKED.
17572
17573         Lock when replacing the last message to prevent
17574         racing with the get_property method.
17575
17576         Add debug output
17577
17578 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17579
17580         * tests/check/Makefile.am:
17581         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
17582         (main):
17583         Add a very simple check that should have caught the memleak I fixed
17584         last night (if not for the slice allocator hiding it)
17585
17586 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17587
17588         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17589         (gst_bin_remove_func), (gst_bin_handle_message_func),
17590         (bin_query_duration_fold), (bin_query_generic_fold):
17591         Clean up references to the clock provider when disposed or when
17592         handling a clock-lost message from it.
17593
17594         Unref sinks when performing a query via gst_iterator_fold, as the
17595         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
17596
17597         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
17598         (gst_clock_set_master):
17599         Drop our reference to the master clock, if any, when we are disposed.
17600
17601         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
17602         Chain up in dispose. 
17603
17604 2006-01-26  Wim Taymans  <wim@fluendo.com>
17605
17606         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17607         Add some debugging.
17608
17609 2006-01-26  Julien MOUTTE  <julien@moutte.net>
17610
17611         * plugins/elements/gsttee.c: (gst_tee_do_push),
17612         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
17613         handles pad being NOT_LINKED or in WRONG_STATE.
17614
17615 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17616
17617         * win32/MANIFEST:
17618           more updating
17619
17620 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17621
17622         * win32/MANIFEST:
17623           remove obsolete entry
17624
17625 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17626
17627         * docs/gst/gstreamer-sections.txt:
17628         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
17629         (gst_bin_iterate_sources), (gst_bin_send_event):
17630         * gst/gstbin.h:
17631         * gst/gstelement.c: (gst_element_send_event):
17632         * gst/gstevent.c:
17633         * gst/gstpad.c: (gst_pad_send_event):
17634           added code for downstream events, reviewed docs in gstevent.c
17635
17636 2006-01-25  Julien MOUTTE  <julien@moutte.net>
17637
17638         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17639         We only query position using the clock in the playing state.
17640         Query peer in the other cases.
17641         * win32/common/config.h: Updates.
17642
17643 2006-01-24  Wim Taymans  <wim@fluendo.com>
17644
17645         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17646         A clock entry that is scheduled for the exact time of the
17647         clock is still in time.
17648
17649         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17650         (gst_base_sink_do_sync):
17651         Add some more debug info.
17652
17653 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17654
17655         * win32/vs7:
17656           Add new vs7 project files and solution.
17657
17658 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17659
17660         * win32/vs7:
17661           all files removed as they were out-dated.
17662
17663 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17664
17665         * docs/random/release:
17666           update notes
17667         * gst/gstbin.c: (gst_bin_init):
17668         * gst/gstbus.c: (gst_bus_new):
17669         * gst/gstbus.h:
17670         * gst/gstpipeline.c: (gst_pipeline_init):
17671           use gst_bus_new(), improve logging, fix docs
17672         * win32/common/config.h:
17673           update for cvs build
17674
17675 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17676
17677         * autogen.sh:
17678           up required version of automake to 1.7
17679
17680 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
17681
17682         * win32/common/libgstreamer.def:
17683           export gst_buffer_is_metadata_writable
17684
17685 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
17686
17687         * docs/gst/gstreamer-sections.txt:
17688         * gst/gstevent.h:
17689           Add gst_event_replace() (#327001)
17690
17691 2006-01-20  Wim Taymans  <wim@fluendo.com>
17692
17693         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
17694         Make it actually compile too..
17695
17696 2006-01-20  Wim Taymans  <wim@fluendo.com>
17697
17698         * gst/gstcaps.c:
17699         Clarify behaviour of _is_equal() when passing NULL parameters.
17700
17701         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17702         (gst_pad_set_caps):
17703         Cleanups. Don't unref NULL caps.
17704         When setting the same caps, protect caps of the pad with
17705         proper lock.
17706         Use full functionality of _is_equal() when comparing caps.
17707
17708 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17709
17710         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
17711         Don't loop infinitely if there are no buffers to present. Partially
17712         fixes #327197, but collectpads is just broken for reusing elements
17713         to do multiple encodes atm.
17714
17715 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17716
17717         * tools/gst-inspect.c: (print_element_features):
17718         * tools/gst-xmlinspect.c: (main):
17719         URL_HANDLER is not a plugin feature we can search for in
17720         the registry.
17721
17722 2006-01-19  Edward Hervey  <edward@fluendo.com>
17723
17724         * gst/gstelement.c: (gst_element_pads_activate): 
17725         When activating, do src pads first, then sink pads.
17726         When de-activating, do sink pads first, then src pads.
17727
17728 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17729
17730         * docs/gst/gstreamer-sections.txt:
17731         Add gst_index_add_associationv to the docs
17732
17733 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17734
17735         * gst/gstevent.c:
17736           Fix docs typo
17737
17738         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
17739         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
17740           Do some refactoring. Doesn't actually change functionality,
17741           but makes landing the DRAIN event easier later.
17742
17743 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
17744
17745         * docs/pwg/advanced-scheduling.xml:
17746           Update from 0.9.x to 0.10 API and make example a bit
17747           clearer.
17748
17749 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17750
17751         * docs/gst/gstreamer-sections.txt:
17752         Add gst_buffer_(is|make)_metadata_writable methods.
17753
17754 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17755
17756         * docs/design/part-sparsestreams.txt:
17757         Update sparse streams doc, hopefully for greater clarity
17758
17759 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
17760
17761         * docs/design/part-events.txt:
17762         Remove mention of FILLER events.
17763         Add DRAIN event.
17764
17765         * docs/design/part-sparsestreams.txt:
17766         Write some things about using NEWSEGMENT to keep sparse streams
17767         flowing.
17768
17769 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
17770
17771         * gst/gstbin.c: (gst_bin_dispose):
17772           Guard gst_object_unref call against a NULL object (dispose
17773           can theoretically be called multiple times).
17774           
17775 2006-01-18  Wim Taymans  <wim@fluendo.com>
17776
17777         * gst/gstbin.c: (gst_bin_element_set_state):
17778         * gst/gstclock.c: (gst_clock_id_wait):
17779         Added some more debug info.
17780
17781         * libs/gst/base/gstadapter.c:
17782         Added more docs.
17783
17784         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17785         (gst_base_sink_do_sync), (gst_base_sink_chain):
17786         Added some comments.
17787
17788 2006-01-18  Wim Taymans  <wim@fluendo.com>
17789
17790         * tests/check/Makefile.am:
17791         * tests/check/elements/fakesink.c: (chain_async_buffer),
17792         (chain_async), (chain_async_return), (GST_START_TEST),
17793         (fakesink_suite), (main):
17794         Added fakesink test that checks prerolling and clipping
17795         behaviour.
17796
17797         * tests/check/gst/gstutils.c: (GST_START_TEST):
17798         Make check run faster so that buildbots don't timeout.
17799
17800 2006-01-18  Wim Taymans  <wim@fluendo.com>
17801
17802         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17803         (gst_base_sink_do_sync):
17804         Some cleanups.
17805         When the sink finishes blocking on the preroll buffer, it can
17806         immediatly render it instead of rendering when the next buffer
17807         arrives.
17808
17809 2006-01-18  Wim Taymans  <wim@fluendo.com>
17810
17811         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
17812         (gst_base_sink_get_property), (gst_base_sink_do_sync),
17813         (gst_base_sink_chain):
17814         Small cleanups.
17815         GST_ELEMENT_CLOCK and sync are protected with LOCK.
17816         Don't store _last_stop if the buffer is dropped.
17817
17818 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
17819
17820         * plugins/elements/gsttypefindelement.c:
17821         (gst_type_find_element_class_init):
17822           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
17823           object method handler that sets the caps on the pad and we want
17824           that to happen before we emit the signal (fixes e.g. feeding a
17825           plain text file to decodebin).
17826
17827 2006-01-18  Christian Schaller  <Christian@fluendo.com>
17828
17829         * gst/gstplugin.c: Add MPL and Proprietary as license options
17830
17831 2006-01-18  Andy Wingo  <wingo@pobox.com>
17832
17833         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
17834         symbol was exported before, it appears this was just an oversight.
17835         Fixes #168703.
17836         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
17837
17838         * gst/gstindex.c (gst_index_add_associationv): Changed int in
17839         prototype to gint. OK since this prototype was not in the header.
17840
17841 2006-01-17  Andy Wingo  <wingo@pobox.com>
17842
17843         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
17844         registry while we remove plugins.
17845
17846         * tools/gst-inspect.c (print_element_info): Don't unref the
17847         factory arg, that should be the responsibility of whatever code
17848         received the ref. Fixes a double-free when called from
17849         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
17850         (main): Unref the factory if we have one.
17851         (print_element_list): No change -- relies on the
17852         plugin_feature_list_free to free the list of features.
17853
17854 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
17855
17856         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
17857         (gst_buffer_make_metadata_writable):
17858         * gst/gstbuffer.h:
17859         * libs/gst/base/gstbasetransform.c:
17860         (gst_base_transform_prepare_output_buf):
17861         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17862         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17863           Replace gst_buffer_(make|is)_metadata_writable patch now
17864           that the release is out.
17865
17866 2006-01-17  Andy Wingo  <wingo@pobox.com>
17867
17868         * gst/gstregistry.c: Reflow design comment. Update so as to speak
17869         in the present tense without reference to versions.
17870
17871         * gst/gstregistry.c (gst_registry_add_plugin)
17872         (gst_registry_remove_plugin, gst_registry_remove_feature)
17873         (gst_registry_find_feature, gst_registry_get_feature_list)
17874         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
17875         (gst_registry_lookup, gst_registry_scan_path)
17876         (_gst_registry_remove_cache_plugins)
17877         (gst_registry_get_feature_list_by_plugin): Add argument
17878         validation.
17879
17880 === release 0.10.2 ===
17881
17882 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
17883
17884         * configure.ac:
17885           releasing 0.10.2, "If man is five"
17886
17887 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
17888
17889         * gst/gstbuffer.c:
17890         * gst/gstbuffer.h:
17891         * libs/gst/base/gstbasetransform.c:
17892         (gst_base_transform_prepare_output_buf):
17893         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17894         * tests/check/gst/gstbuffer.c: (gst_test_suite):
17895           Back out patch until after the release.
17896
17897 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
17898
17899         * gst/gstminiobject.c:
17900           Spelling fix in docs.
17901         * ChangeLog - remove conflict indicator
17902
17903 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
17904
17905         Reviewed By: Andy Wingo
17906
17907         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
17908         (gst_buffer_make_metadata_writable):
17909         * gst/gstbuffer.h:
17910           Add gst_buffer_(is|make)_metadata_writable as analogues of
17911           gst_buffer_(is|make)_writable.
17912
17913         * libs/gst/base/gstbasetransform.c:
17914         (gst_base_transform_prepare_output_buf):
17915         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17916           Use name gst_buffer_(is|make)_metadata_writable functions.
17917
17918         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17919           Test gst_buffer_(is|make)_metadata_writable
17920         
17921           (Closes: #324162)
17922
17923 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
17924
17925         * docs/manual/Makefile.am:
17926           don't do parallel make
17927         * configure.ac:
17928           AC_SUBST HOST_CPU
17929         * win32/common/config.h.in:
17930           add generations for HOST_CPU and GST_MAJORMINOR
17931         * win32/common/config.h:
17932           commit generated result
17933
17934 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
17935
17936         * docs/manual/appendix-integration.xml:
17937           Update GNOME integration section to use gst_init_get_option_group()
17938           instead of the old popt stuff (#322911). Also, GNOME applications
17939           should  now use gconf*sink and gconf*src instead of the old gconf
17940           helper lib we had.
17941
17942 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
17943
17944
17945         * docs/gst/gstreamer-docs.sgml:
17946         * docs/gst/gstreamer-sections.txt:
17947         * docs/libs/gstreamer-libs-sections.txt:
17948           add new API entries to the docs
17949         * libs/gst/controller/Makefile.am:
17950         * libs/gst/controller/gstcontroller.c:
17951         * libs/gst/controller/gstcontroller.h:
17952         * libs/gst/controller/gstcontrollerprivate.h:
17953         * libs/gst/controller/gsthelper.c:
17954         * libs/gst/controller/gstinterpolation.c:
17955           move private structs to private header
17956         * po/README:
17957           gstreamer-0.7 -> gstreamer-0.10
17958         * tests/check/libs/struct_i386.h:
17959           remove private structs
17960
17961 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17962
17963         * plugins/indexers/Makefile.am:
17964           Fixes as part of #317048
17965
17966 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17967
17968         * plugins/indexers/Makefile.am:
17969           fix #316086 - compilation when mmap is missing
17970
17971 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
17972
17973         * libs/gst/base/gstbasesink.c:
17974           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
17975           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
17976         * win32/common/config.h:
17977           added some defines GST_MAJORMINOR and HOST_CPU
17978         * win32/common/libgstbase.def:
17979         * win32/common/libgstreamer.def:
17980           added some exported functions.
17981
17982 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
17983
17984         * libs/gst/controller/gstcontroller.c:
17985         (gst_controlled_property_set_interpolation_mode),
17986         (gst_controlled_property_new):
17987         * libs/gst/controller/gstcontroller.h:
17988         * libs/gst/controller/gstinterpolation.c:
17989         (interpolate_none_get_string_value_array):
17990           make G_TYPE_STRING controlable
17991
17992 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
17993
17994         * tools/README:
17995         * tools/gst-feedback.1.in:
17996         * tools/gst-inspect.1.in:
17997         * tools/gst-launch.1.in:
17998         * tools/gst-md5sum.1.in:
17999         * tools/gst-typefind.1.in:
18000         * tools/gst-xmlinspect.1.in:
18001         * tools/gst-xmllaunch.1.in:
18002           cleanup man-pages, remove reference to gst-register, document env-vars
18003
18004 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
18005
18006         * gst/gstbuffer.c: (gst_buffer_span):
18007           gst_buffer_span should copy the timestamp of the first buffer
18008           if they were both originally overlapping subbuffers of the 
18009           same parent, using the same logic as the 'slow copy' case.
18010
18011 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
18012
18013         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
18014           Need to awaken ALL the pads when we pop a buffer, otherwise
18015           collectpads only works when there is 2 input streams.
18016
18017 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
18018
18019         * docs/random/ensonic/media-device-daemon.txt:
18020           more ideas (dbus)
18021         * gst/gstbuffer.c:
18022           fix doc example, add clarification
18023         * tools/gst-launch.1.in:
18024           add initial info about GST_PLUGIN_PATH, needs more work
18025
18026 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
18027
18028         * docs/manual/basics-bins.xml:
18029         * docs/manual/basics-elements.xml:
18030         * docs/manual/intro-basics.xml:
18031           Some more minor docs additions and updates.
18032
18033 2006-01-11  Wim Taymans  <wim@fluendo.com>
18034
18035         * docs/manual/basics-bins.xml:
18036         * docs/manual/basics-elements.xml:
18037         Some small fixes as pointed out by Ser-ver on IRC.
18038
18039 2006-01-10  Edward Hervey  <edward@fluendo.com>
18040
18041         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
18042         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
18043         the single-segment mode.
18044
18045 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
18046
18047         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18048
18049         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
18050         (gst_base_src_perform_seek), (gst_base_src_send_event),
18051         (gst_base_src_set_property), (gst_base_src_get_property),
18052         (gst_base_src_loop), (gst_base_src_start),
18053         (gst_base_src_activate_push):
18054         * libs/gst/base/gstbasesrc.h:
18055           Name (private) union; makes Sun's Forte compiler happy (#324900).
18056
18057 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
18058
18059         * README:
18060           gst-register is gone.
18061
18062 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
18063
18064         * gst/gstvalue.c: (_gst_value_initialize):
18065           make the G_TYPE_DATE instantiation work if debug is disabled
18066
18067 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
18068
18069         * gst/gstmessage.c: (gst_message_parse_tag),
18070         (gst_message_parse_error), (gst_message_parse_warning):
18071           Don't crash when return location for error/warning debug
18072           string is NULL; add fact that return locations can be
18073           NULL to docs where appropriate.
18074
18075 2006-01-05  Wim Taymans  <wim@fluendo.com>
18076
18077         * gst/gstplugin.c: (gst_plugin_load_file):
18078         Replace strdup by g_strdup.
18079
18080 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18081
18082         * docs/pwg/advanced-types.xml:
18083           fix doc borkage
18084
18085 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18086
18087         submitted by: Abel Cheung
18088
18089         * po/LINGUAS:
18090         * po/zh_TW.po:
18091           Added Chinese (traditional) translation
18092
18093 2006-01-04  Wim Taymans  <wim@fluendo.com>
18094
18095         * docs/manual/basics-pads.xml:
18096         * docs/plugins/Makefile.am:
18097         * docs/plugins/gstreamer-plugins-docs.sgml:
18098         * docs/plugins/gstreamer-plugins-sections.txt:
18099         * docs/pwg/advanced-clock.xml:
18100         * docs/pwg/advanced-scheduling.xml:
18101         * docs/pwg/advanced-types.xml:
18102         * plugins/elements/gstfdsink.c:
18103         * plugins/elements/gstfdsrc.c:
18104         * plugins/elements/gstfdsrc.h:
18105         * plugins/elements/gstidentity.c: (gst_identity_class_init):
18106         * plugins/elements/gstidentity.h:
18107         * plugins/elements/gstqueue.h:
18108         * plugins/elements/gsttee.c:
18109         * plugins/elements/gsttee.h:
18110         * plugins/elements/gsttypefindelement.c:
18111         (gst_type_find_element_class_init):
18112         * plugins/elements/gsttypefindelement.h:
18113         Small updates to various docs.
18114         Added core plugins to docs.
18115
18116 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18117
18118         * common/gst.supp:
18119           add a suppression for liboil's uninitialized variable
18120
18121 2006-01-02  James Livingston  <jrl at ids dot org dot au>
18122
18123         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18124
18125         * gst/gstutils.h:
18126           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
18127           macro, so that gcc doesn't complain if the -Wmissing-prototypes
18128           compiler switch is being used (#325429).
18129
18130 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
18131
18132         * gst/gstbin.c: (gst_bin_query):
18133           Disable duration query caching in bins until it gets
18134           fixed (see #324807).
18135
18136 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18137
18138         * tools/gst-inspect.c: (print_element_properties_info):
18139           Handle properties of POINTER and BOXED type.
18140
18141 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18142
18143         * gst/gst.c: (init_post):
18144           Init tags stuff and some other things before loading
18145           any static plugins (there may be other static plugins
18146           than just the GStreamer ones, and they may want to
18147           register their own tags or formats or whatever, and
18148           preferably without segfaulting).
18149
18150         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
18151           Print at least a warning in the debug logs if we drop a
18152           query just because we don't know how to adjust the value
18153           in the particular format.
18154
18155 2005-12-24  David Schleef  <ds@schleef.org>
18156
18157         * tools/gstreamer-completion:
18158           Replacement for gst-complete written in sh and sed.  Only
18159           completes names of features, but that's 90% of what I want
18160           it for.  Properties are not available in registry.xml.  (Maybe
18161           they should be...)
18162
18163 === release 0.10.1 ===
18164
18165 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
18166
18167         * configure.ac:
18168           releasing 0.10.1, "Nollaig chridheil"
18169
18170 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
18171
18172         * docs/faq/cvs.xml:
18173           Add missing quote, should be make ERROR_CFLAGS="".
18174
18175 2005-12-20  Wim Taymans  <wim@fluendo.com>
18176
18177         * docs/design/part-trickmodes.txt:
18178         More documentation on trickmodes.
18179
18180 2005-12-20  Edward Hervey  <edward@fluendo.com>
18181
18182         * gst/gstcaps.c: (gst_static_caps_get_type):
18183         * gst/gstcaps.h:
18184           API addition: GST_TYPE_STATIC_CAPS
18185         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
18186         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
18187         * gst/gstpadtemplate.h:
18188           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
18189         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
18190         bindings.
18191
18192 2005-12-18  Wim Taymans  <wim@fluendo.com>
18193
18194         * libs/gst/base/gstadapter.c:
18195         * libs/gst/base/gstadapter.h:
18196         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
18197         (gst_base_sink_get_position):
18198         * libs/gst/base/gstbasesink.h:
18199         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18200         (gst_base_src_default_query), (gst_base_src_default_do_seek),
18201         (gst_base_src_do_seek), (gst_base_src_perform_seek),
18202         (gst_base_src_send_event), (gst_base_src_update_length),
18203         (gst_base_src_get_range), (gst_base_src_loop),
18204         (gst_base_src_start):
18205         * libs/gst/base/gstbasesrc.h:
18206         * libs/gst/base/gstbasetransform.h:
18207         * libs/gst/base/gstcollectpads.h:
18208         * libs/gst/base/gstpushsrc.c:
18209         * libs/gst/base/gstpushsrc.h:
18210         * libs/gst/dataprotocol/dataprotocol.c:
18211         * libs/gst/dataprotocol/dataprotocol.h:
18212         * libs/gst/net/gstnetclientclock.h:
18213         * libs/gst/net/gstnettimeprovider.h:
18214         Documentation updates.
18215
18216 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
18217
18218         * docs/manual/basics-helloworld.xml:
18219           Remove superfluous closing bracket in helloworld example.
18220
18221 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
18222
18223         * tools/gst-launch.1.in:
18224           Update gst-launch man page; add a section with useful
18225           environment variables. Fixes #323882.
18226
18227 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
18228
18229         * gst/gst.c:
18230         * gst/gst_private.h:
18231           change some char* into char[]
18232
18233 2005-12-16  Wim Taymans  <wim@fluendo.com>
18234
18235         * gst/gstregistryxml.c: (load_feature):
18236         Cleanups.
18237         Don't use g_object_unref on GstObjects so that we avoid
18238         leaks on unsafe glibs.
18239
18240 2005-12-16  Wim Taymans  <wim@fluendo.com>
18241
18242         * gst/gstbin.c: (gst_bin_recalc_state):
18243         Small doc updates.
18244
18245 2005-12-16  Wim Taymans  <wim@fluendo.com>
18246
18247         * common/check.mak:
18248         Added make forever target for check.
18249
18250 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18251
18252         * gst/gst.c: (init_post):
18253           make the registry cache file HOST_CPU-dependent
18254
18255 2005-12-16  Andy Wingo  <wingo@pobox.com>
18256
18257         * plugins/elements/gstbufferstore.c
18258         (gst_buffer_store_cleared_func): Pay attention to g_list_append
18259         return value.
18260
18261         * tests/check/gst/gstobject.c
18262         (test_fake_object_name_threaded_unique): Pay attention to
18263         g_list_sort return value.
18264
18265 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
18266
18267         * tools/gst-feedback-m.m:
18268           Update for 0.9/0.10 (fixes #323870).
18269
18270 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
18271
18272         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
18273           Fix lcopy for mini objects, the mini object needs to be ref'ed.
18274           
18275         * tests/check/gst/gstminiobject.c: (my_foo_init),
18276         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
18277         (test_value_collection), (gst_mini_object_suite):
18278           Add test to ensure refcounts end up as expected when passing
18279           GstMiniObjects through g_object_get() and g_object_set().
18280
18281 2005-12-14  Julien MOUTTE  <julien@moutte.net>
18282
18283         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18284         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
18285         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
18286         of collectpads. This version removes a lot of races without
18287         touching API/ABI. Yay !
18288
18289 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
18290
18291         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
18292           Don't allow activation of a srcpad in pull_range if it has no
18293           getrange function.
18294           Change some debug statements to be a little clearer
18295
18296         * plugins/elements/gsttypefindelement.c:
18297         (gst_type_find_handle_src_query):
18298           Check that we have a peer before executing queries thereupon.
18299
18300         * tests/examples/metadata/read-metadata.c: (message_loop):
18301           Use gst_bus_pop instead of gst_bus_poll when we just want it to
18302           immediately return us any available message with 0 timeout.
18303
18304 2005-12-12  Michael Smith  <msmith@fluendo.com>
18305
18306         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
18307           Don't unref factories after calling them.
18308         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
18309         * plugins/elements/gsttypefindelement.c:
18310         (gst_type_find_element_chain):
18311           Free lists of factories after using them. Fixing typefinding memory
18312           leaks.
18313
18314 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18315
18316         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
18317         (gst_plugin_feature_load):
18318           more meaningful debug output
18319         * configure.ac:
18320         * tests/Makefile.am:
18321         * tests/old/examples/Makefile.am:
18322           make make distcheck happy again
18323
18324 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18325
18326         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
18327           Catch the special case where we are operating chain-based,
18328           but the downstream peer pad has no chain function. Emit a
18329           custom error message in this case instead of letting the
18330           core generate one implying that this is some sort of core
18331           bug. It's not, it just means that whatever got plugged
18332           into the pipeline downstream when we announced the type
18333           can only operate pull-based, while our source can only
18334           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
18335           Error string has not been marked for translation yet, as
18336           it probably needs some more work first.
18337
18338         (gst_type_find_element_get_best_possibility):
18339           Add helper function to find the best of all available
18340           found possibilities that qualify given the min. threshold.
18341
18342         (gst_type_find_element_handle_event):
18343           Fix the case where we get an EOS while still in TYPEFIND
18344           mode (we want to chose the best of all possible types,
18345           not just the first type that happens to be in our unsorted
18346           list of possible types).
18347
18348         (gst_type_find_element_chain):
18349           Make sure we return GST_FLOW_ERROR when we errored out
18350           in stop_typefinding(); also, don't just find the best of
18351           all found type entries and then use the last examined
18352           type entry, but actually use the best entry.
18353
18354 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18355
18356         * tests/examples/typefind/typefind.c: (type_found):
18357         * tests/examples/xml/runxml.c: (xml_loaded):
18358           More gcc4 fixes and a mem leak fix.
18359
18360 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18361
18362         * tests/examples/xml/createxml.c: (object_saved):
18363           gcc 4 fixes
18364
18365 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18366
18367         * tests/Makefile.am:
18368           enable the examples even more
18369
18370 2005-12-12  Andy Wingo  <wingo@pobox.com>
18371
18372         * libs/gst/net/gstnettimeprovider.c
18373         (gst_net_time_provider_class_init, gst_net_time_provider_init)
18374         (gst_net_time_provider_set_property)
18375         (gst_net_time_provider_get_property):
18376         API addition: Export "active" as a GObject property.
18377         (gst_net_time_provider_thread): Only respond to time queries if
18378         the time provider is active.
18379
18380         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
18381         NetTimeProvider, preserving binary compat.
18382
18383 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18384
18385         * tests/examples/controller/audio-example.c: (main):
18386         * tests/examples/launch/Makefile.am:
18387           convert comments again
18388
18389 2005-12-12  Wim Taymans  <wim@fluendo.com>
18390
18391         * libs/gst/base/gstpushsrc.c:
18392         Fix typo.
18393
18394 2005-12-12  Wim Taymans  <wim@fluendo.com>
18395
18396         * docs/libs/gstreamer-libs-sections.txt:
18397         Added new symbol to docs.
18398
18399         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18400         (gst_base_src_init), (gst_base_src_set_format),
18401         (gst_base_src_default_query), (gst_base_src_query),
18402         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
18403         (gst_base_src_perform_seek), (gst_base_src_send_event),
18404         (gst_base_src_default_event), (gst_base_src_event_handler),
18405         (gst_base_src_set_property), (gst_base_src_get_property),
18406         (gst_base_src_wait), (gst_base_src_do_sync),
18407         (gst_base_src_update_length), (gst_base_src_get_range),
18408         (gst_base_src_check_get_range), (gst_base_src_loop),
18409         (gst_base_src_default_negotiate), (gst_base_src_start),
18410         (gst_base_src_activate_push), (gst_base_src_activate_pull),
18411         (gst_base_src_change_state):
18412         * libs/gst/base/gstbasesrc.h:
18413         Implement seeking to other formats than _BYTES.
18414         Implement more seeking methods correctly.
18415         Doc updates.
18416         Added query vmethod.
18417         Added do_seek vmethod to make life easier for subclasses
18418         when seeking.
18419         API addition: gst_base_src_set_format()
18420
18421 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18422
18423         * tests/examples/Makefile.am:
18424           added that too
18425
18426 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18427
18428         * configure.ac:
18429         * docs/random/ensonic/media-device-daemon.txt:
18430         * tests/examples/controller/.cvsignore:
18431         * tests/examples/controller/Makefile.am:
18432         * tests/examples/controller/audio-example.c: (main):
18433         * tests/examples/helloworld/.cvsignore:
18434         * tests/examples/helloworld/Makefile.am:
18435         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
18436         * tests/examples/launch/.cvsignore:
18437         * tests/examples/launch/Makefile.am:
18438         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
18439         * tests/examples/metadata/.cvsignore:
18440         * tests/examples/metadata/Makefile.am:
18441         * tests/examples/metadata/read-metadata.c: (message_loop),
18442         (make_pipeline), (print_tag), (main):
18443         * tests/examples/queue/.cvsignore:
18444         * tests/examples/queue/Makefile.am:
18445         * tests/examples/queue/queue.c: (event_loop), (main):
18446         * tests/examples/typefind/.cvsignore:
18447         * tests/examples/typefind/Makefile.am:
18448         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
18449         (main):
18450         * tests/examples/xml/.cvsignore:
18451         * tests/examples/xml/Makefile.am:
18452         * tests/examples/xml/createxml.c: (object_saved), (main):
18453         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
18454         * tests/old/examples/Makefile.am:
18455         * tests/old/examples/TODO:
18456         * tests/old/examples/controller/.cvsignore:
18457         * tests/old/examples/controller/Makefile.am:
18458         * tests/old/examples/controller/audio-example.c:
18459         * tests/old/examples/helloworld/.cvsignore:
18460         * tests/old/examples/helloworld/Makefile.am:
18461         * tests/old/examples/helloworld/helloworld.c:
18462         * tests/old/examples/launch/.cvsignore:
18463         * tests/old/examples/launch/Makefile.am:
18464         * tests/old/examples/launch/mp3parselaunch.c:
18465         * tests/old/examples/launch/mp3play:
18466         * tests/old/examples/manual/Makefile.am:
18467         * tests/old/examples/metadata/Makefile.am:
18468         * tests/old/examples/metadata/read-metadata.c:
18469         * tests/old/examples/queue/.cvsignore:
18470         * tests/old/examples/queue/Makefile.am:
18471         * tests/old/examples/queue/queue.c:
18472         * tests/old/examples/typefind/.cvsignore:
18473         * tests/old/examples/typefind/Makefile.am:
18474         * tests/old/examples/typefind/typefind.c:
18475         * tests/old/examples/xml/.cvsignore:
18476         * tests/old/examples/xml/Makefile.am:
18477         * tests/old/examples/xml/createxml.c:
18478         * tests/old/examples/xml/runxml.c:
18479           applied some simple fixing to some examples
18480           re-enabled the working examples
18481
18482 2005-12-12  Wim Taymans  <wim@fluendo.com>
18483
18484         * gst/gstsegment.c: (gst_segment_init),
18485         (gst_segment_set_last_stop), (gst_segment_set_seek),
18486         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18487         (gst_segment_to_running_time):
18488         Added more documentation.
18489         Make sure the last_pos value is updated properly.
18490         Make sure to_stream_time and to_running_time don't
18491         operate on wrong values.
18492
18493         * tests/check/gst/gstsegment.c: (GST_START_TEST):
18494         Update check.
18495
18496 2005-12-12  Michael Smith  <msmith@fluendo.com>
18497
18498         * plugins/elements/gsttypefindelement.c: (free_entry),
18499         (gst_type_find_element_chain):
18500           Now that we're not leaking factories, make sure we keep references
18501           to them while we need them.
18502
18503 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18504
18505         * tests/check/gst/struct_i386.h:
18506           ifdef out the XML structs
18507
18508 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18509
18510         * gst/gstvalue.c: (gst_value_transform_double_fraction):
18511           floor is not needed, F is always positive; this obviates the
18512           need for adding -lm when building without libxml
18513
18514 2005-12-12  Wim Taymans  <wim@fluendo.com>
18515
18516         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18517         Take current playback rate into account when reporting
18518         the position.
18519
18520 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18521
18522         * docs/manual/mime-world.fig:
18523           Let's try this again, this time with a file that is
18524           actually in XFig format.
18525
18526 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18527
18528         * docs/manual/mime-world.fig:
18529           Add audioconvert element to diagram so that it
18530           matches the text and the code (fixes #319526).
18531
18532 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18533
18534         * docs/pwg/building-chainfn.xml:
18535         * docs/pwg/building-pads.xml:
18536         * docs/pwg/building-state.xml:
18537         * docs/pwg/other-source.xml:
18538           Update state change stuff for 0.10 (fixes #322969).
18539
18540 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18541
18542         * docs/manual/advanced-dataaccess.xml:
18543         * docs/manual/appendix-checklist.xml:
18544         * docs/manual/appendix-programs.xml:
18545         * docs/manual/basics-pads.xml:
18546         * docs/manual/highlevel-components.xml:
18547         * docs/manual/manual.xml:
18548           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
18549           add converters in front of pipelines; remove curly
18550           brackets for threads stuff, they no longer exist; use
18551           GST_TYPE_FRACTION for framerates; update some pieces of
18552           code to 0.10, but there's plenty more to do.
18553
18554         * docs/manual/appendix-porting.xml:
18555           Expand on asynchroneous state changes; s/0.9/0.10/;
18556           mention disappearance of gst_init_get_popt_table()
18557           (fixes #322916).
18558
18559 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18560
18561         * docs/faq/using.xml:
18562           Spider no longer exists, and neither does gst-launch-ext.
18563           Update examples to use decodebin and playbin and put
18564           converters in front of sinks (fixes #323726).
18565
18566 2005-12-09  Michael Smith  <msmith@fluendo.com>
18567
18568         * plugins/elements/gsttypefindelement.c: (find_peek),
18569         (gst_type_find_element_chain):
18570           Fix leaking element factories in typefinding.
18571           Fix problem where we forgot about a probable type on non-seekable
18572           files, and thus later mis-typefound it.
18573
18574 2005-12-09  Michael Smith  <msmith@fluendo.com>
18575
18576         * common/m4/gst-makecontext.m4:
18577         * common/m4/gst-mcsc.m4:
18578         * configure.ac:
18579         * win32/common/config.h:
18580         * win32/common/config.h.in:
18581           Remove makecontext stuff; not used in 0.10 and causes problems on
18582           HPUX according to bug #322441
18583
18584 2005-12-07  Wim Taymans  <wim@fluendo.com>
18585
18586         * tests/check/Makefile.am:
18587         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
18588         (main):
18589         * tests/check/libs/struct_i386.h:
18590         Added ABI check for libs
18591
18592 2005-12-07  Wim Taymans  <wim@fluendo.com>
18593
18594         * tests/check/Makefile.am:
18595         And add the struct_i386.h to dist.
18596
18597 2005-12-07  Wim Taymans  <wim@fluendo.com>
18598
18599         * tests/check/Makefile.am:
18600         * tests/check/gst/.cvsignore:
18601         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
18602         (main):
18603         * tests/check/gst/struct_i386.h:
18604         Added check for ABI compatibility.
18605
18606 2005-12-07  Wim Taymans  <wim@fluendo.com>
18607
18608         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18609         (gst_fake_src_get_times), (gst_fake_src_create):
18610         Fix broken sync option, fixes #323259
18611
18612 2005-12-07  Wim Taymans  <wim@fluendo.com>
18613
18614         * gst/gstbuffer.c:
18615         Small docs update.
18616
18617         * gst/gstcaps.c: (gst_caps_is_equal):
18618         Don't assert on NULL <--> X. Fixes #323260
18619
18620         * gst/gstminiobject.c: (gst_mini_object_replace):
18621         If we're doing atomic operations, we might just as well use
18622         the proper way to get an atomic pointer.
18623
18624         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18625         Clean up debugging.
18626
18627 2005-12-07  Michael Smith  <msmith@fluendo.com>
18628
18629         * gst/parse/grammar.y:
18630           Remove handling of { } for threads.
18631
18632 2005-12-06  David Schleef  <ds@schleef.org>
18633
18634         * libs/gst/base/gstbasetransform.c: speling fix.
18635
18636 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18637
18638         * docs/libs/tmpl/gstdataprotocol.sgml:
18639         * docs/random/omega/testing/gstobject.c:
18640         * gst/gst.c:
18641         * gst/gstclock.c:
18642         * gst/gstelement.c:
18643         * gst/gstelementfactory.c:
18644         * gst/gsterror.c:
18645         * gst/gstevent.c:
18646         * gst/gstghostpad.c:
18647         * gst/gstinfo.c:
18648         * gst/gstpadtemplate.c:
18649         * gst/gstregistryxml.c:
18650         * gst/gsttaglist.c:
18651         * gst/gsttagsetter.c:
18652         * gst/gsttypefind.c:
18653         * gst/gstvalue.c:
18654         * libs/gst/base/gstbasesrc.c:
18655         * libs/gst/net/gstnetclientclock.c:
18656         * libs/gst/net/gstnettimeprovider.c:
18657         * plugins/elements/gstfakesrc.c:
18658         * plugins/elements/gstfdsrc.c:
18659         * plugins/elements/gstfilesrc.c:
18660         * plugins/elements/gstidentity.c:
18661         * plugins/elements/gstqueue.c:
18662         * plugins/elements/gsttypefindelement.c:
18663         * plugins/indexers/gstfileindex.c:
18664         * plugins/indexers/gstmemindex.c:
18665         * tests/check/gst/gsttag.c:
18666         * tests/old/examples/cutter/cutter.c:
18667         * tests/old/examples/mixer/mixer.c:
18668         * tests/old/examples/xml/runxml.c: (main):
18669         * tests/old/testsuite/caps/normalisation.c:
18670         * tests/old/testsuite/debug/global.c:
18671         * tests/old/testsuite/parse/parse1.c:
18672         * tools/gst-xmlinspect.c:
18673         * win32/common/dirent.c:
18674           expand tabs
18675
18676 === release 0.10.0 ===
18677
18678 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18679
18680         * configure.ac:
18681           releasing 0.10.0, "Maroilles"
18682
18683 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18684
18685         submitted by: Funda Wang <fundawang@linux.net.cn>
18686
18687         * po/LINGUAS:
18688         * po/zh_CN.po:
18689           added Chinese (Traditional) translation
18690
18691 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18692
18693         * docs/gst/gstreamer-sections.txt:
18694         * docs/libs/tmpl/gstdataprotocol.sgml:
18695         * docs/random/thomasvs/TODO:
18696         * gst/gstutils.c:
18697         * gst/gstutils.h:
18698           fix docs
18699
18700 2005-12-05  Andy Wingo  <wingo@pobox.com>
18701
18702         patch by: Wim Taymans <wim@fluendo.com>
18703
18704         * libs/gst/base/gstbasetransform.c
18705         (gst_base_transform_prepare_output_buf)
18706         (gst_base_transform_buffer_alloc):
18707         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
18708         alloc_buffer_and_set_caps.
18709
18710         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
18711         set_caps on the source pad.
18712         (gst_pad_alloc_buffer_and_set_caps): New function, does what
18713         alloc_buffer used to do. Fixes #322874.
18714
18715         * docs/gst/gstreamer-sections.txt: 
18716         * docs/design/part-negotiation.txt: 
18717         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
18718         changes.
18719
18720 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18721
18722         patch by: Sebastien Moutte
18723
18724         * win32/MANIFEST:
18725         * win32/common/config.h.in:
18726         * win32/vs6/libgstcontroller.dsp:
18727           win32 build fixes
18728
18729 2005-12-05  Wim Taymans  <wim@fluendo.com>
18730
18731         * gst/gstcaps.c: (gst_caps_is_equal):
18732         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18733         (gst_fake_src_create):
18734         Back out previous code changes, leave doc updates, file bugs 
18735         instead. 
18736
18737 2005-12-05  Wim Taymans  <wim@fluendo.com>
18738
18739         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18740         (gst_fake_src_get_times), (gst_fake_src_create):
18741         * plugins/elements/gstfakesrc.h:
18742         Fix broken sync code.
18743
18744 2005-12-05  Wim Taymans  <wim@fluendo.com>
18745
18746         * gst/gstcaps.c: (gst_caps_is_equal):
18747         Comparing NULL against !NULL yields different caps, not a
18748         failure.
18749
18750 2005-12-05  Wim Taymans  <wim@fluendo.com>
18751
18752         * gst/gstpipeline.c:
18753         Fix small typo in docs.
18754
18755 2005-12-05  Andy Wingo  <wingo@pobox.com>
18756
18757         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
18758
18759         * gst/gst.c (init_post): remove hard-coded 0.9 location for
18760         registries/plugins with a MAJORMINOR one.
18761         (plugin_desc): Rename library from gstcoreleements to
18762         staticelements. Fixes #323222.
18763
18764 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
18765
18766         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
18767           Change debug category to 'collectpads' from 'collect_pads'
18768           (fixes #323250).
18769
18770 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
18771
18772         patch by: Sebastien Moutte
18773
18774         * libs/gst/controller/gstinterpolation.c:
18775           use convert function for uint64/double
18776         * win32/vs6/libgstcontroller.dsp:
18777           link to GLib
18778
18779 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
18780
18781         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
18782         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
18783         * gst/gstutils.h:
18784         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18785           add tests that seem to show that the guint64/gdouble conversions
18786           are correct.
18787
18788 2005-12-02  Wim Taymans  <wim@fluendo.com>
18789
18790         * gst/gstregistry.c: (gst_registry_add_path):
18791         * gst/gstregistry.h:
18792         * gst/gstregistryxml.c:
18793         Fix docs again.
18794
18795 2005-12-02  Wim Taymans  <wim@fluendo.com>
18796
18797         * gst/gstutils.c: (gst_util_uint64_scale_int64),
18798         (gst_util_uint64_scale_int):
18799         Small cleanup.
18800
18801         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18802         Add debug log line.
18803
18804         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
18805         Add FIXME.
18806
18807 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18808
18809         * win32/MANIFEST:
18810         * win32/common/config.h:
18811         * win32/vs6/gstreamer.dsw:
18812         * win32/vs6/libgstcoreelements.dsp:
18813         * win32/vs6/libgstelements.dsp:
18814           renamed core elements plugin
18815
18816 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18817
18818         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
18819         (get_candidates):
18820           do piece-wise major/minor comparison so 0.9 < 0.10
18821           also allow .exe extensions for tools
18822
18823 2005-12-02  Michael Smith  <msmith@fluendo.com>
18824
18825         * gst/gst.c:
18826           Escape a % to make gtkdoc happier; bug 322958.
18827
18828 === release 0.9.7 ===
18829
18830 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18831
18832         * configure.ac:
18833           releasing 0.9.7, "My Dog Has No Nose"
18834
18835 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18836
18837         * common/gst-xmlinspect.py:
18838         * configure.ac:
18839         * docs/libs/tmpl/gstdataprotocol.sgml:
18840         * docs/random/release:
18841         * po/af.po:
18842         * po/az.po:
18843         * po/bg.po:
18844         * po/ca.po:
18845         * po/cs.po:
18846         * po/de.po:
18847         * po/en_GB.po:
18848         * po/fr.po:
18849         * po/it.po:
18850         * po/nb.po:
18851         * po/nl.po:
18852         * po/ru.po:
18853         * po/sq.po:
18854         * po/sr.po:
18855         * po/sv.po:
18856         * po/tr.po:
18857         * po/uk.po:
18858         * po/vi.po:
18859         * win32/common/config.h:
18860         * win32/common/config.h.in:
18861         * win32/vs6/gst_inspect.dsp:
18862         * win32/vs6/gst_launch.dsp:
18863         * win32/vs6/libgstbase.dsp:
18864         * win32/vs6/libgstelements.dsp:
18865         * win32/vs6/libgstreamer.dsp:
18866         * win32/vs7/GStreamer.vcproj:
18867         * win32/vs7/gst-inspect.vcproj:
18868         * win32/vs7/gst-launch.vcproj:
18869         * win32/vs7/libgstbase.vcproj:
18870           bump GST_MAJORMINOR to 0.10
18871           reset libtool version
18872
18873 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18874
18875         * po/LINGUAS:
18876         * po/bg.po:
18877           Added Bulgarian translation by (Alexander Shopov)
18878
18879 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18880
18881         * tests/check/gst/gstplugin.c:
18882           fix test
18883
18884 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18885
18886         * common/gst-xmlinspect.py:
18887         * common/gtk-doc-plugins.mak:
18888         * configure.ac:
18889         * docs/Makefile.am:
18890         * docs/gst/Makefile.am:
18891         * docs/gst/gstreamer-docs.sgml:
18892         * docs/gst/gstreamer-sections.txt:
18893         * docs/gst/gstreamer.types:
18894         * docs/gst/gstreamer.types.in:
18895         * docs/plugins/Makefile.am:
18896         * docs/plugins/gstreamer-plugins-docs.sgml:
18897         * docs/plugins/gstreamer-plugins-sections.txt:
18898         * docs/plugins/gstreamer-plugins.types:
18899         * docs/plugins/inspect.stamp:
18900         * docs/plugins/inspect/plugin-coreelements.xml:
18901         * docs/plugins/inspect/plugin-coreindexers.xml:
18902         * docs/plugins/scanobj-build.stamp:
18903         * gstreamer.spec.in:
18904         * plugins/elements/Makefile.am:
18905         * plugins/elements/gstelements.c:
18906         * plugins/elements/gstfakesink.c:
18907         * plugins/elements/gstfakesrc.c:
18908         * plugins/elements/gstfilesink.c:
18909         * plugins/elements/gstfilesrc.c:
18910         * plugins/elements/gstqueue.c:
18911         * plugins/indexers/Makefile.am:
18912         * plugins/indexers/gstindexers.c:
18913           document core plugins in a separate document just like all the
18914           others
18915           rename these plugins to something starting with core
18916
18917 2005-12-01  Andy Wingo  <wingo@pobox.com>
18918
18919         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
18920         padding here before, but it missed the commit.
18921
18922 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
18923
18924         * libs/gst/controller/gstinterpolation.c:
18925           whitespace prices have crashed, we should feel free to use some now
18926           use gst_guint64_to_gdouble
18927
18928 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
18929
18930         * libs/gst/controller/gstcontroller.c:
18931         * libs/gst/controller/gsthelper.c:
18932         * libs/gst/controller/gstinterpolation.c:
18933         * libs/gst/controller/lib.c:
18934           wrap config.h include
18935
18936 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
18937
18938         * docs/gst/gstreamer-sections.txt:
18939           update docs
18940
18941 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
18942
18943         * plugins/elements/gstelements.c:
18944         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
18945         (gst_fd_sink__class_init), (gst_fd_sink__init),
18946         (gst_fd_sink__chain), (gst_fd_sink__set_property),
18947         (gst_fd_sink__get_property):
18948         * plugins/elements/gstfdsink.h:
18949         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
18950         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
18951         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
18952         (gst_fd_src_unlock), (gst_fd_src_set_property),
18953         (gst_fd_src_get_property), (gst_fd_src_create),
18954         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
18955         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
18956         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
18957         (gst_fd_src_uri_handler_init):
18958         * plugins/elements/gstfdsrc.h:
18959         * plugins/elements/gstqueue.c: (gst_queue_get_type):
18960           more anal cleanup
18961
18962 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18963
18964         * docs/gst/Makefile.am:
18965         * docs/gst/gstreamer.types.in:
18966         * gst/Makefile.am:
18967           fix the docs build
18968
18969 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18970
18971         * configure.ac:
18972         * gst/Makefile.am:
18973         * gst/gst.c:
18974         * gst/gstplugin.h:
18975         * gst/gstregistry.h:
18976         * tests/benchmarks/complexity.c:
18977         * tests/benchmarks/mass-elements.c:
18978         * tests/check/Makefile.am:
18979         * tools/Makefile.am:
18980         * tools/gst-inspect.c:
18981         * tools/gst-xmlinspect.c:
18982           various fixes to make
18983           --disable-nls --disable-registry --disable-loadsave
18984           --disable-parse --disable-gst-debug
18985           work and get the core .so down to 360444 bytes after stripping
18986
18987 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18988
18989         * Makefile.am:
18990         * configure.ac:
18991           descend into tests
18992         * docs/random/thomasvs/TODO:
18993         * tests/Makefile.am:
18994         * tests/README:
18995           add a README
18996
18997 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18998
18999         * win32/GStreamer.vcproj:
19000         * win32/MANIFEST:
19001         * win32/Makefile:
19002         * win32/Makefile.inspect:
19003         * win32/Makefile.launch:
19004         * win32/Makefile.register:
19005         * win32/README.txt:
19006         * win32/gst-inspect.vcproj:
19007         * win32/gst-launch.vcproj:
19008         * win32/gst-register.vcproj:
19009         * win32/gstelements.vcproj:
19010         * win32/gstgetbits.def:
19011         * win32/gstgetbits.vcproj:
19012         * win32/gstreamer-dbg.def:
19013         * win32/gstreamer.def:
19014         * win32/libgstbase.def:
19015         * win32/libgstbase.vcproj:
19016         * win32/link_oldruntime.c:
19017         * win32/mman.c:
19018         * win32/mman.h:
19019         * win32/mman.inl:
19020         * win32/msvc71.sln:
19021           move even more stuff, win32/ is nice and clean now
19022
19023 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19024
19025         * libs/gst/control/.cvsignore:
19026         * win32/MANIFEST:
19027         * win32/config.h:
19028         * win32/dirent.c:
19029         * win32/dirent.h:
19030         * win32/gstbytestream.def:
19031         * win32/gstbytestream.vcproj:
19032         * win32/gstconfig.h:
19033         * win32/gstenumtypes.c:
19034         * win32/gstenumtypes.h:
19035         * win32/gstoptimalscheduler.vcproj:
19036         * win32/gstversion.h:
19037         * win32/gtchar.h:
19038         * win32/testsuite/bins.vcproj:
19039         * win32/testsuite/bytestream.vcproj:
19040         * win32/testsuite/caps.vcproj:
19041         * win32/testsuite/cleanup.vcproj:
19042         * win32/testsuite/clock.vcproj:
19043         * win32/testsuite/debug.vcproj:
19044         * win32/testsuite/dlopen.vcproj:
19045         * win32/testsuite/dynparams.vcproj:
19046         * win32/testsuite/elements.vcproj:
19047         * win32/testsuite/ghostpads.vcproj:
19048         * win32/testsuite/indexers.vcproj:
19049         * win32/testsuite/negotiation.vcproj:
19050         * win32/testsuite/parse.vcproj:
19051         * win32/testsuite/plugin.vcproj:
19052         * win32/testsuite/refcounting.vcproj:
19053         * win32/testsuite/schedulers.vcproj:
19054         * win32/testsuite/states.vcproj:
19055         * win32/testsuite/tags.vcproj:
19056         * win32/testsuite/threads.vcproj:
19057           remove old win32 stuff that isn't maintained and should be
19058           reorganized
19059
19060 2005-11-30  Andy Wingo  <wingo@pobox.com>
19061
19062         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
19063         loading the gst.interfaces python module bork.
19064
19065         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
19066         available since GLib 2.2. Fixes #318031.
19067
19068 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19069
19070         * Makefile.am:
19071         * check/.cvsignore:
19072         * check/Makefile.am:
19073         * check/elements/.cvsignore:
19074         * check/elements/fakesrc.c:
19075         * check/elements/fdsrc.c:
19076         * check/elements/identity.c:
19077         * check/generic/.cvsignore:
19078         * check/generic/states.c:
19079         * check/gst-libs/.cvsignore:
19080         * check/gst-libs/controller.c:
19081         * check/gst-libs/gdp.c:
19082         * check/gst/.cvsignore:
19083         * check/gst/capslist.h:
19084         * check/gst/gst.c:
19085         * check/gst/gstbin.c:
19086         * check/gst/gstbuffer.c:
19087         * check/gst/gstbus.c:
19088         * check/gst/gstcaps.c:
19089         * check/gst/gstelement.c:
19090         * check/gst/gstevent.c:
19091         * check/gst/gstghostpad.c:
19092         * check/gst/gstiterator.c:
19093         * check/gst/gstmessage.c:
19094         * check/gst/gstminiobject.c:
19095         * check/gst/gstobject.c:
19096         * check/gst/gstpad.c:
19097         * check/gst/gstpipeline.c:
19098         * check/gst/gstplugin.c:
19099         * check/gst/gstsegment.c:
19100         * check/gst/gststructure.c:
19101         * check/gst/gstsystemclock.c:
19102         * check/gst/gsttag.c:
19103         * check/gst/gstutils.c:
19104         * check/gst/gstvalue.c:
19105         * check/net/.cvsignore:
19106         * check/net/gstnetclientclock.c:
19107         * check/net/gstnettimeprovider.c:
19108         * check/pipelines/.cvsignore:
19109         * check/pipelines/cleanup.c:
19110         * check/pipelines/simple_launch_lines.c:
19111         * check/pipelines/stress.c:
19112         * check/states/.cvsignore:
19113         * check/states/sinks.c:
19114         * configure.ac:
19115         * examples/Makefile.am:
19116         * examples/appreader/.cvsignore:
19117         * examples/appreader/Makefile.am:
19118         * examples/appreader/appreader.c:
19119         * examples/controller/.cvsignore:
19120         * examples/controller/Makefile.am:
19121         * examples/controller/audio-example.c:
19122         * examples/cutter/.cvsignore:
19123         * examples/cutter/Makefile.am:
19124         * examples/cutter/cutter.c:
19125         * examples/cutter/cutter.h:
19126         * examples/events/Makefile.am:
19127         * examples/events/seek.c:
19128         * examples/helloworld/.cvsignore:
19129         * examples/helloworld/Makefile.am:
19130         * examples/helloworld/helloworld.c:
19131         * examples/helloworld2/.cvsignore:
19132         * examples/helloworld2/Makefile.am:
19133         * examples/helloworld2/helloworld2.c:
19134         * examples/launch/.cvsignore:
19135         * examples/launch/Makefile.am:
19136         * examples/launch/mp3parselaunch.c:
19137         * examples/launch/mp3play:
19138         * examples/manual/.cvsignore:
19139         * examples/manual/Makefile.am:
19140         * examples/manual/extract.pl:
19141         * examples/metadata/Makefile.am:
19142         * examples/metadata/read-metadata.c:
19143         * examples/mixer/.cvsignore:
19144         * examples/mixer/Makefile.am:
19145         * examples/mixer/mixer.c:
19146         * examples/mixer/mixer.h:
19147         * examples/pingpong/.cvsignore:
19148         * examples/pingpong/Makefile.am:
19149         * examples/pingpong/pingpong.c:
19150         * examples/plugins/.cvsignore:
19151         * examples/plugins/Makefile.am:
19152         * examples/plugins/example.c:
19153         * examples/plugins/example.h:
19154         * examples/pwg/.cvsignore:
19155         * examples/pwg/Makefile.am:
19156         * examples/pwg/extract.pl:
19157         * examples/queue/.cvsignore:
19158         * examples/queue/Makefile.am:
19159         * examples/queue/queue.c:
19160         * examples/queue2/.cvsignore:
19161         * examples/queue2/Makefile.am:
19162         * examples/queue2/queue2.c:
19163         * examples/queue3/.cvsignore:
19164         * examples/queue3/Makefile.am:
19165         * examples/queue3/queue3.c:
19166         * examples/queue4/.cvsignore:
19167         * examples/queue4/Makefile.am:
19168         * examples/queue4/queue4.c:
19169         * examples/retag/.cvsignore:
19170         * examples/retag/Makefile.am:
19171         * examples/retag/retag.c:
19172         * examples/retag/transcode.c:
19173         * examples/thread/.cvsignore:
19174         * examples/thread/Makefile.am:
19175         * examples/thread/thread.c:
19176         * examples/typefind/.cvsignore:
19177         * examples/typefind/Makefile.am:
19178         * examples/typefind/typefind.c:
19179         * examples/xml/.cvsignore:
19180         * examples/xml/Makefile.am:
19181         * examples/xml/createxml.c:
19182         * examples/xml/runxml.c:
19183         * tests/Makefile.am:
19184         * tests/check/Makefile.am:
19185         * testsuite/.cvsignore:
19186         * testsuite/Makefile.am:
19187         * testsuite/Rules:
19188         * testsuite/caps/.cvsignore:
19189         * testsuite/caps/Makefile.am:
19190         * testsuite/caps/app_fixate.c:
19191         * testsuite/caps/audioscale.c:
19192         * testsuite/caps/caps.c:
19193         * testsuite/caps/caps.h:
19194         * testsuite/caps/caps_strings:
19195         * testsuite/caps/compatibility.c:
19196         * testsuite/caps/deserialize.c:
19197         * testsuite/caps/enumcaps.c:
19198         * testsuite/caps/eratosthenes.c:
19199         * testsuite/caps/filtercaps.c:
19200         * testsuite/caps/fixed.c:
19201         * testsuite/caps/fraction-convert.c:
19202         * testsuite/caps/fraction-multiply-and-zero.c:
19203         * testsuite/caps/intersect2.c:
19204         * testsuite/caps/intersection.c:
19205         * testsuite/caps/normalisation.c:
19206         * testsuite/caps/random.c:
19207         * testsuite/caps/renegotiate.c:
19208         * testsuite/caps/sets.c:
19209         * testsuite/caps/simplify.c:
19210         * testsuite/caps/string-conversions.c:
19211         * testsuite/caps/structure.c:
19212         * testsuite/caps/subtract.c:
19213         * testsuite/caps/union.c:
19214         * testsuite/debug/.cvsignore:
19215         * testsuite/debug/Makefile.am:
19216         * testsuite/debug/category.c:
19217         * testsuite/debug/commandline.c:
19218         * testsuite/debug/global.c:
19219         * testsuite/debug/output.c:
19220         * testsuite/debug/printf_extension.c:
19221         * testsuite/dlopen/.cvsignore:
19222         * testsuite/dlopen/Makefile.am:
19223         * testsuite/dlopen/dlopen_gst.c:
19224         * testsuite/dlopen/loadgst.c:
19225         * testsuite/elements/.cvsignore:
19226         * testsuite/elements/Makefile.am:
19227         * testsuite/elements/gst-inspect-check.in:
19228         * testsuite/elements/struct_i386.h:
19229         * testsuite/elements/struct_size.c:
19230         * testsuite/indexers/.cvsignore:
19231         * testsuite/indexers/Makefile.am:
19232         * testsuite/indexers/cache1.c:
19233         * testsuite/indexers/indexdump.c:
19234         * testsuite/parse/.cvsignore:
19235         * testsuite/parse/Makefile.am:
19236         * testsuite/parse/parse1.c:
19237         * testsuite/parse/parse2.c:
19238         * testsuite/plugin/.cvsignore:
19239         * testsuite/plugin/Makefile.am:
19240         * testsuite/plugin/README:
19241         * testsuite/plugin/dynamic.c:
19242         * testsuite/plugin/linked.c:
19243         * testsuite/plugin/loading.c:
19244         * testsuite/plugin/registry.c:
19245         * testsuite/plugin/static.c:
19246         * testsuite/plugin/static2.c:
19247         * testsuite/plugin/testplugin.c:
19248         * testsuite/plugin/testplugin2.c:
19249         * testsuite/plugin/testplugin2_s.c:
19250         * testsuite/plugin/testplugin_s.c:
19251         * testsuite/refcounting/.cvsignore:
19252         * testsuite/refcounting/Makefile.am:
19253         * testsuite/refcounting/bin.c:
19254         * testsuite/refcounting/element.c:
19255         * testsuite/refcounting/element_pad.c:
19256         * testsuite/refcounting/mainloop.c:
19257         * testsuite/refcounting/mem.c:
19258         * testsuite/refcounting/mem.h:
19259         * testsuite/refcounting/object.c:
19260         * testsuite/refcounting/pad.c:
19261         * testsuite/refcounting/sched.c:
19262         * testsuite/refcounting/thread.c:
19263         * testsuite/states/.cvsignore:
19264         * testsuite/states/Makefile.am:
19265         * testsuite/states/bin.c:
19266         * testsuite/states/locked.c:
19267         * testsuite/states/parent.c:
19268         * testsuite/threads/.cvsignore:
19269         * testsuite/threads/159566.c:
19270         * testsuite/threads/159852.c:
19271         * testsuite/threads/Makefile.am:
19272         * testsuite/threads/queue.c:
19273         * testsuite/threads/signals.c:
19274         * testsuite/threads/staticrec.c:
19275         * testsuite/threads/thread.c:
19276         * testsuite/threads/threadb.c:
19277         * testsuite/threads/threadc.c:
19278         * testsuite/threads/threadd.c:
19279         * testsuite/threads/threade.c:
19280         * testsuite/threads/threadf.c:
19281         * testsuite/threads/threadg.c:
19282         * testsuite/threads/threadh.c:
19283         * testsuite/threads/threadi.c:
19284           move all of these under tests
19285
19286 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19287
19288         * configure.ac:
19289         * tests/Makefile.am:
19290           fix distcheck
19291
19292 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19293
19294         * docs/gst/gstreamer-sections.txt:
19295         * tests/sched/.cvsignore:
19296         * tests/sched/Makefile.am:
19297         * tests/sched/cases/(fs-fs).xml:
19298         * tests/sched/cases/(fs-i-fs).xml:
19299         * tests/sched/cases/(fs-i-i-fs).xml:
19300         * tests/sched/cases/(fs-i-q[i-fs]).xml:
19301         * tests/sched/dynamic-pipeline.c:
19302         * tests/sched/interrupt1.c:
19303         * tests/sched/interrupt2.c:
19304         * tests/sched/interrupt3.c:
19305         * tests/sched/runtestcases:
19306         * tests/sched/runxml.c:
19307         * tests/sched/sched-stress.c:
19308         * tests/sched/sort.c:
19309         * tests/sched/testcases:
19310         * tests/sched/testcases1.tc:
19311         * tests/seeking/.cvsignore:
19312         * tests/seeking/Makefile.am:
19313         * tests/seeking/seeking1.c:
19314         * tests/threadstate/.cvsignore:
19315         * tests/threadstate/Makefile.am:
19316         * tests/threadstate/test1.c:
19317         * tests/threadstate/test2.c:
19318         * tests/threadstate/threadstate1.c:
19319         * tests/threadstate/threadstate2.c:
19320         * tests/threadstate/threadstate3.c:
19321         * tests/threadstate/threadstate4.c:
19322         * tests/threadstate/threadstate5.c:
19323           remove obsolete tests
19324         * configure.ac:
19325         * tests/bench-complexity.scm:
19326         * tests/bench-mass_elements.scm:
19327         * tests/complexity.c:
19328         * tests/complexity.gnuplot:
19329         * tests/instantiate/.cvsignore:
19330         * tests/instantiate/Makefile.am:
19331         * tests/instantiate/caps.c:
19332         * tests/mass_elements.c:
19333         * tests/network-clock-utils.scm:
19334         * tests/network-clock.scm:
19335         * tests/plot-data:
19336         First pass at cleaning up tests/ dir before moving the rest
19337         Combined with CVS surgery
19338
19339 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19340
19341         * po/POTFILES.in:
19342           queue has moved, update
19343
19344 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19345
19346         * docs/gst/gstreamer-sections.txt:
19347           remove double entries from the docs
19348         * gst/gst_private.h:
19349         * gst/gstinfo.c: (_gst_debug_init):
19350           remove the THREAD debug category
19351         * gst/Makefile.am:
19352         * gst/gstqueue.c:
19353         * gst/gstqueue.h:
19354         * docs/gst/gstreamer.types:
19355         * plugins/elements/gstqueue.c: (gst_queue_get_type),
19356         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19357           completely move queue and fix up debugging categories
19358
19359 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19360
19361         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
19362           make initialization portable, using LL is not
19363
19364 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19365
19366         * win32/common/gstconfig.h:
19367           add large padding
19368
19369 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19370
19371         * win32/common/libgstreamer.def:
19372           rename symbols; sort base section
19373
19374 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19375
19376         * gst/gstclock.c: (do_linear_regression):
19377           remove crack non-portable handrolled DEBUG macro
19378
19379 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19380
19381         * docs/random/release:
19382           update notes
19383         * win32/common/gstenumtypes.c: (register_gst_object_flags),
19384         (gst_object_flags_get_type), (register_gst_bin_flags),
19385         (gst_bin_flags_get_type), (register_gst_buffer_flag),
19386         (gst_buffer_flag_get_type), (register_gst_bus_flags),
19387         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19388         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
19389         (gst_caps_flags_get_type), (register_gst_clock_return),
19390         (gst_clock_return_get_type), (register_gst_clock_entry_type),
19391         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19392         (gst_clock_flags_get_type), (register_gst_state),
19393         (gst_state_get_type), (register_gst_state_change_return),
19394         (gst_state_change_return_get_type), (register_gst_state_change),
19395         (gst_state_change_get_type), (register_gst_element_flags),
19396         (gst_element_flags_get_type), (register_gst_core_error),
19397         (gst_core_error_get_type), (register_gst_library_error),
19398         (gst_library_error_get_type), (register_gst_resource_error),
19399         (gst_resource_error_get_type), (register_gst_stream_error),
19400         (gst_stream_error_get_type), (register_gst_event_type_flags),
19401         (gst_event_type_flags_get_type), (register_gst_event_type),
19402         (gst_event_type_get_type), (register_gst_seek_type),
19403         (gst_seek_type_get_type), (register_gst_seek_flags),
19404         (gst_seek_flags_get_type), (register_gst_format),
19405         (gst_format_get_type), (register_gst_index_certainty),
19406         (gst_index_certainty_get_type), (register_gst_index_entry_type),
19407         (gst_index_entry_type_get_type),
19408         (register_gst_index_lookup_method),
19409         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19410         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19411         (gst_index_resolver_method_get_type), (register_gst_index_flags),
19412         (gst_index_flags_get_type), (register_gst_debug_level),
19413         (gst_debug_level_get_type), (register_gst_debug_color_flags),
19414         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19415         (gst_iterator_result_get_type), (register_gst_iterator_item),
19416         (gst_iterator_item_get_type), (register_gst_message_type),
19417         (gst_message_type_get_type), (register_gst_mini_object_flags),
19418         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19419         (gst_pad_link_return_get_type), (register_gst_flow_return),
19420         (gst_flow_return_get_type), (register_gst_activate_mode),
19421         (gst_activate_mode_get_type), (register_gst_pad_direction),
19422         (gst_pad_direction_get_type), (register_gst_pad_flags),
19423         (gst_pad_flags_get_type), (register_gst_pad_presence),
19424         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19425         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19426         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19427         (gst_plugin_error_get_type), (register_gst_plugin_flags),
19428         (gst_plugin_flags_get_type), (register_gst_rank),
19429         (gst_rank_get_type), (register_gst_query_type),
19430         (gst_query_type_get_type), (register_gst_tag_merge_mode),
19431         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19432         (gst_tag_flag_get_type), (register_gst_task_state),
19433         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19434         (gst_alloc_trace_flags_get_type),
19435         (register_gst_type_find_probability),
19436         (gst_type_find_probability_get_type), (register_gst_uri_type),
19437         (gst_uri_type_get_type), (register_gst_parse_error),
19438         (gst_parse_error_get_type):
19439         * win32/common/gstenumtypes.h:
19440         * win32/common/gstversion.h:
19441           update visual studio generated files
19442
19443 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19444
19445         * win32/vs6/libgstbase.dsp:
19446         * win32/vs6/libgstelements.dsp:
19447           update project files for new locations
19448
19449 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19450
19451         * Makefile.am:
19452           remove some files
19453         * README:
19454           reinstate and update
19455         * DEVEL:
19456         * REQUIREMENTS:
19457           removed
19458         * LICENSE:
19459         * docs/random/LICENSE:
19460           moved to random
19461
19462 2005-11-30  Edward Hervey  <edward@fluendo.com>
19463
19464         * gst/gsttypefind.c: (gst_type_find_register):
19465         * gst/gsttypefind.h:
19466         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19467         (gst_type_find_factory_dispose):
19468         * gst/gsttypefindfactory.h:
19469         Fix memory leak in GstTypeFindFactory.
19470
19471 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19472
19473         * gst/gst.c:
19474         * plugins/elements/Makefile.am:
19475         * plugins/elements/gstelements.c:
19476         * plugins/elements/gstqueue.c:
19477           move queue from core to the elements plugin
19478
19479 2005-11-29  Andy Wingo  <wingo@pobox.com>
19480
19481         * libs/gst/base/gstbasetransform.h: 
19482         * libs/gst/base/gstbasesrc.h: 
19483         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
19484
19485         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
19486         of pointers by which to pad very extensible base classes (like the
19487         ones in libs/gst/base).
19488
19489 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19490
19491         * docs/gst/gstreamer-docs.sgml:
19492         * docs/gst/gstreamer-sections.txt:
19493         * docs/libs/gstreamer-libs-docs.sgml:
19494         * docs/libs/gstreamer-libs-sections.txt:
19495           moving documentation from core to lib
19496
19497 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19498
19499         * check/Makefile.am:
19500         * configure.ac:
19501         * docs/gst/Makefile.am:
19502         * gst/Makefile.am:
19503         * gst/base/.cvsignore:
19504         * gst/base/Makefile.am:
19505         * gst/base/README:
19506         * gst/base/gstadapter.c:
19507         * gst/base/gstadapter.h:
19508         * gst/base/gstbasesink.c:
19509         * gst/base/gstbasesink.h:
19510         * gst/base/gstbasesrc.c:
19511         * gst/base/gstbasesrc.h:
19512         * gst/base/gstbasetransform.c:
19513         * gst/base/gstbasetransform.h:
19514         * gst/base/gstcollectpads.c:
19515         * gst/base/gstcollectpads.h:
19516         * gst/base/gstpushsrc.c:
19517         * gst/base/gstpushsrc.h:
19518         * gst/base/gsttypefindhelper.c:
19519         * gst/base/gsttypefindhelper.h:
19520         * gst/check/Makefile.am:
19521         * gst/check/gstcheck.c:
19522         * gst/check/gstcheck.h:
19523         * gst/net/Makefile.am:
19524         * gst/net/gstnet.h:
19525         * gst/net/gstnetclientclock.c:
19526         * gst/net/gstnetclientclock.h:
19527         * gst/net/gstnettimepacket.c:
19528         * gst/net/gstnettimepacket.h:
19529         * gst/net/gstnettimeprovider.c:
19530         * gst/net/gstnettimeprovider.h:
19531         * libs/gst/Makefile.am:
19532         * libs/gst/base/Makefile.am:
19533         * libs/gst/base/gstbasetransform.c:
19534         * libs/gst/check/Makefile.am:
19535         * plugins/elements/Makefile.am:
19536         * po/POTFILES.in:
19537           CVS surgery + support to move base, check, and net out of gst
19538           and into libs/gst
19539
19540 2005-11-29  Andy Wingo  <wingo@pobox.com>
19541
19542         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
19543
19544         * gst/gststructure.h (struct _GstStructure): Only one pointer of
19545         padding.
19546
19547         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
19548
19549         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
19550
19551         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
19552
19553         * gst/gstobject.h: (struct _GstObject): Only one pointer of
19554         padding; reduces object size by about 30%. We don't expect
19555         anything else to go into gstobject.
19556
19557         * gst/gstminiobject.h (struct _GstMiniObject)
19558         (struct _GstMiniObjectClass): Only one pointer of padding; the
19559         payload is only a pointer and two ints anyway. For the class there
19560         are only two methods as well.
19561         
19562         * gst/gstelement.h (struct _GstElementClass): Removed
19563         the state_changed signal callback, it is not used.
19564
19565 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19566
19567         * docs/gst/gstreamer.types:
19568           fix includes, though they are a little dinky
19569
19570 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19571
19572         * check/Makefile.am:
19573           look in the right place for elements, a lot more chance of
19574           success
19575         * gst/Makefile.am:
19576           remove indexers and elements subdirs
19577         * plugins/Makefile.am:
19578           make indexers conditional
19579
19580 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19581
19582         * Makefile.am:
19583         * configure.ac:
19584         * plugins/elements/Makefile.am:
19585         * plugins/elements/gstcapsfilter.c:
19586         * plugins/elements/gstfilesink.c:
19587         * plugins/elements/gstfilesrc.c:
19588         * plugins/elements/gstidentity.c:
19589         * plugins/indexers/Makefile.am:
19590           do CVS surgery and related build fixery to move elements
19591           and indexers in a new gstreamer/plugins directory, out of the
19592           gst/ directory
19593
19594 2005-11-29  Andy Wingo  <wingo@pobox.com>
19595
19596         * check/Makefile.am:
19597         * pkgconfig/gstreamer-net-uninstalled.pc.in:
19598         * pkgconfig/gstreamer-net.pc.in:
19599         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
19600         #322257.
19601
19602 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19603
19604         * tools/Makefile.am:
19605         * tools/gst-complete.1.in:
19606         * tools/gst-complete.c:
19607         * tools/gst-compprep.1.in:
19608         * tools/gst-compprep.c:
19609           removing -compprep and -complete
19610
19611 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19612
19613         * gst/gstevent.c: (gst_event_new_new_segment),
19614         (gst_event_parse_new_segment):
19615         * gst/gstevent.h:
19616           fix #320529 - clean up new_segment API and structure.
19617           Let's hope everyone was using the methods, and not the structure.
19618
19619 2005-11-29  Edward Hervey  <edward@fluendo.com>
19620
19621         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19622         (gst_base_sink_event), (gst_base_sink_do_sync),
19623         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19624         Properly handle non GST_FORMAT_TIME segment
19625         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19626         Properly handle non GST_FORMAT_TIME segment
19627         * gst/gstsegment.c:
19628         This function is valid if the accumulator is 0 and the format
19629         is different from the requested format.
19630         
19631 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19632
19633         * docs/gst/gstreamer-sections.txt:
19634         Add gst_query_new_seeking and gst_query_parse_seeking to the
19635         docs.
19636
19637 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19638
19639         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
19640           Treat a pad alloc with new caps the same as if we were not
19641           negotiated, in order to allow a changing upstream output
19642           to produce a new format of data.
19643
19644 2005-11-29  Edward Hervey  <edward@fluendo.com>
19645
19646         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19647         (gst_base_transform_event), (gst_base_transform_eventfunc):
19648         The event virtual method is now properly implemented, with a default
19649         handler
19650         Sub classes should call the parent_class event method. They should
19651         return FALSE if they had a problem handling the given event, or don't
19652         want GstBaseTransform to send that even downstream
19653         * gst/elements/gstidentity.c: (gst_identity_class_init),
19654         (gst_identity_init), (gst_identity_event),
19655         (gst_identity_transform_ip), (gst_identity_set_property),
19656         (gst_identity_get_property):
19657         * gst/elements/gstidentity.h:
19658         Added the single-segment boolean property.
19659         If set to TRUE, it will output a single segment of data, starting from
19660         0, will eat up all incoming newsegment, and modify the timestamp of the
19661         buffers accordingly
19662
19663 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
19664
19665         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
19666           Don't ref NULL target pad (#322751). Improve docs.
19667
19668 2005-11-29  Michael Smith  <msmith@fluendo.com>
19669
19670         * gst/gstregistryxml.c: (load_plugin):
19671           Don't crash if we failed to load a feature from a plugin. 
19672
19673 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19674
19675         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19676         (GST_START_TEST):
19677           use more check API and less GLib API
19678
19679 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19680
19681         * Makefile.am:
19682           don't run checks if we don't have check
19683         * common/check.mak:
19684           remove the registry when running make torture
19685         * docs/gst/gstreamer-sections.txt:
19686           remove second multiply
19687         * gst/gstqueue.c: (gst_queue_loop):
19688           fix a compile warning when disabling debug
19689
19690 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19691
19692         * gst/gstinfo.h:
19693         Hey! Let's print the pad name if the pointer != NULL instead
19694         of when it == NULL :-)
19695
19696 2005-11-28  Wim Taymans  <wim@fluendo.com>
19697
19698         * check/gst/gstutils.c: (GST_START_TEST):
19699         Updated check, add some scaling accuracy checking code.
19700
19701         * gst/gstutils.c: (gst_util_div128_64),
19702         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
19703         (gst_util_uint64_scale_int):
19704         Fix 6 times faster division code. Optimize for common 
19705         1/1 and less common X/1 cases.
19706
19707 2005-11-28  Wim Taymans  <wim@fluendo.com>
19708
19709         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19710         More checks.
19711
19712         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
19713         (do_linear_regression), (gst_clock_add_observation):
19714         Cleanups.
19715         Release lock when the clock cannot be slaved.
19716         Catch the case where the regression returned an invalid denominator.
19717
19718         * gst/gstutils.c: (gst_util_div128_64_iterate),
19719         (gst_util_div128_64), (gst_util_uint64_scale_int64),
19720         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19721         Add protentially more performant non-iterative 128/64 divide function
19722         that unfortunatly does not work yet.
19723         Shortcut the trivial 0/X = 0 case.
19724         Remove the warnings on overflow.
19725
19726 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19727
19728         * gst/gstplugin.c: (gst_plugin_register_func):
19729           everything causing a plugin not to load should be at least a WARNING
19730
19731 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
19732
19733         * docs/random/ensonic/dparams.txt:
19734           some TODOs for the next dev cycle
19735         * libs/gst/controller/gstcontroller.c:
19736         (gst_controlled_property_set_interpolation_mode),
19737         (gst_controlled_property_new):
19738         * libs/gst/controller/gstcontroller.h:
19739           use base type to assign acccessor functions
19740
19741 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19742
19743         * check/Makefile.am:
19744         Oops, that should have been top_srcdir
19745
19746 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19747
19748         * check/Makefile.am:
19749         * check/elements/fdsrc.c: (GST_START_TEST):
19750         Use a cmdline define to specify the location of a file to use for
19751         testing, to avoid breaking distcheck.
19752
19753 2005-11-28  Andy Wingo  <wingo@pobox.com>
19754
19755         * gst/gstpad.c (fixate_value): Use array functions for arrays.
19756
19757 2005-11-28  Edward Hervey  <edward@fluendo.com>
19758
19759         * tools/gst-launch.c: (main):
19760         Clarify the output strings, makes it easier to translate.
19761         Fixes #322626
19762
19763 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19764
19765         * gst/Makefile.am:
19766           don't try and build net if we don't even have <sys/socket.h>
19767
19768 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
19769
19770         * check/Makefile.am:
19771         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
19772         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
19773           Add tests for fdsrc seekability
19774
19775         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
19776         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
19777         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
19778         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
19779         * gst/elements/gstfdsrc.h:
19780           fdsrc should not be a 'live' source.
19781           Implement seeking on seekable fd's.
19782
19783         * gst/gstquery.c: (gst_query_new_seeking),
19784         (gst_query_parse_seeking):
19785         * gst/gstquery.h:
19786           Implement SEEKING query functions: 
19787             *_new_seeking and *_parse_seeking
19788
19789 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
19790
19791         * gst/gstelement.c: (gst_element_dispose):
19792           don't loop forever
19793
19794         * gst/gstiterator.c:
19795         * gst/gststructure.c:
19796           doc fixes
19797
19798         * libs/gst/controller/gstcontroller.c:
19799         (gst_controlled_property_set_interpolation_mode):
19800         * libs/gst/controller/gstcontroller.h:
19801         * libs/gst/controller/gstinterpolation.c:
19802         (interpolate_none_get_enum_value_array):
19803           support controlling enums
19804
19805 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
19806
19807         * gst/gstvalue.c:
19808           Improve documentation for gst_value_union().
19809
19810         * gst/gstvalue.h:
19811           Change return value for union, intersect and subtract functions
19812           from gint to gboolean.
19813
19814 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
19815
19816         * gst/gstvalue.c: (gst_value_serialize_any_list),
19817         (gst_value_transform_any_list_string),
19818         (gst_value_deserialize_list), (gst_value_deserialize_array),
19819         (gst_value_set_int_range), (gst_value_deserialize_int_range),
19820         (gst_value_set_double_range), (gst_value_deserialize_double_range),
19821         (gst_value_set_fraction_range_full),
19822         (gst_value_deserialize_fraction_range),
19823         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
19824         (gst_value_deserialize_boolean),
19825         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
19826         (gst_value_serialize_float), (gst_value_deserialize_float),
19827         (gst_string_wrap), (gst_value_deserialize_string),
19828         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
19829         (gst_value_union_int_range_int_range),
19830         (gst_value_intersect_int_range_int_range),
19831         (gst_value_intersect_double_range_double_range),
19832         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
19833         (gst_value_subtract_int_range_int_range),
19834         (gst_value_subtract_double_double_range),
19835         (gst_value_subtract_double_range_double_range),
19836         (gst_value_deserialize_fraction):
19837         * gst/gstvalue.h:
19838           Use gint, gdouble and gchar in our API instead of int, double and
19839           char (and make usage in gstvalue.c more consistent).
19840
19841 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19842
19843         * check/Makefile.am:
19844         * libs/gst/controller/Makefile.am:
19845         * libs/gst/dataprotocol/Makefile.am:
19846           fix up Makefile.am and remove GST_ENABLE_NEW
19847
19848 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19849
19850         * configure.ac:
19851         * gst/Makefile.am:
19852         * gst/base/Makefile.am:
19853         * gst/check/Makefile.am:
19854         * gst/elements/Makefile.am:
19855         * gst/net/Makefile.am:
19856           update LDFLAGS use some more
19857
19858 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19859
19860         * common/m4/gst-doc.m4:
19861           Fixes #312589
19862
19863 2005-11-26  Edward Hervey  <edward@fluendo.com>
19864
19865         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
19866         This shouldn't issue a g_warning since it returns NULL if it
19867         couldn't find the plugin, and all functions using this behave
19868         properly on a NULL return. Switching to a GST_WARNING.
19869
19870 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
19871
19872         * gst/gstbin.c: (gst_bin_handle_message_func):
19873         Don't leak clock messages.
19874
19875 2005-11-25  Wim Taymans  <wim@fluendo.com>
19876
19877         * gst/gstutils.c: (gst_util_uint64_scale_int64),
19878         (gst_util_uint64_scale_int):
19879         Optimisations, remove unneeded vars.
19880
19881 2005-11-25  Wim Taymans  <wim@fluendo.com>
19882
19883         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19884         Added more checks for the high precision uint64 cases.
19885
19886         * gst/gstutils.c: (gst_util_uint64_scale_int64),
19887         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19888         Implement high precision (guint64 * guint64) / guint64.
19889
19890 2005-11-24  Wim Taymans  <wim@fluendo.com>
19891
19892         * gst/base/gstbasesrc.c: (gst_base_src_query):
19893         Fix wrong percentage query.
19894
19895         * gst/gstutils.c: (gst_util_uint64_scale),
19896         (gst_util_uint64_scale_int):
19897         Add some more common cases that can be handled 
19898         efficiently to _scale.
19899
19900 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
19901
19902         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
19903         (gst_mini_object_suite):
19904           don't use check calls from threads; check probably isn't
19905           threadsafe and using a lock to make it threadsafe would
19906           defeat the purpose of this check
19907         * gst/check/gstcheck.c:
19908         * gst/check/gstcheck.h:
19909           use GST_DEBUG some more
19910
19911 2005-11-24  Wim Taymans  <wim@fluendo.com>
19912
19913         * gst/gstutils.c: (gst_util_uint64_scale),
19914         (gst_util_uint64_scale_int):
19915         Chain trivial case to _scale_int.
19916
19917 2005-11-24  Wim Taymans  <wim@fluendo.com>
19918
19919         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19920         Added test for scaling.
19921
19922         * gst/gstclock.h:
19923         Small doc fix.
19924
19925         * gst/gstutils.c: (gst_util_uint64_scale_int):
19926         Implemented high precision scaling code.
19927
19928 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
19929
19930         * gst/gstinfo.h:
19931           do not crash on pad==NULL
19932
19933 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
19934
19935         Patch by: Stefan Kost
19936
19937         * common/gtk-doc.mak:
19938         * docs/gst/Makefile.am:
19939         * docs/libs/Makefile.am:
19940           Fix distcheck issues for the libraries docs build
19941           Closes #319599.
19942
19943 2005-11-24  Michael Smith <msmith@fluendo.com>
19944
19945         * docs/manual/basics-helloworld.xml:
19946           Fix bug #315027: memory leak in example code in docs.
19947
19948 2005-11-24  Michael Smith <msmith@fluendo.com>
19949
19950         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19951           Unlock the PREROLL_LOCK in a failure case.
19952
19953 2005-11-24  Wim Taymans  <wim@fluendo.com>
19954
19955         * docs/gst/gstreamer-sections.txt:
19956         * gst/base/gstadapter.h:
19957         * gst/base/gstbasesink.h:
19958         * gst/base/gstbasesrc.h:
19959         * gst/base/gstbasetransform.h:
19960         * gst/base/gstpushsrc.h:
19961         * gst/elements/gstfakesink.h:
19962         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
19963         * gst/elements/gstfakesrc.h:
19964         * gst/elements/gstfilesink.h:
19965         * gst/elements/gstfilesrc.h:
19966         * gst/gst.c:
19967         * gst/gstbin.c:
19968         * gst/gstbuffer.c: (_gst_buffer_copy):
19969         * gst/gstbus.h:
19970         * gst/gstcaps.c:
19971         * gst/gstchildproxy.c:
19972         * gst/gstclock.c:
19973         * gst/gstelement.c:
19974         * gst/gstelementfactory.c:
19975         * gst/gstelementfactory.h:
19976         * gst/gstevent.c:
19977         * gst/gstghostpad.h:
19978         * gst/gstindex.h:
19979         * gst/gstinterface.h:
19980         * gst/gstminiobject.c:
19981         * gst/gstminiobject.h:
19982         * gst/gstpad.c:
19983         * gst/gstpad.h:
19984         * gst/gstpadtemplate.h:
19985         * gst/gstpipeline.h:
19986         * gst/gstpluginfeature.h:
19987         * gst/gstquery.h:
19988         * gst/gstqueue.h:
19989         * gst/gsttaglist.c:
19990         * gst/gsttaglist.h:
19991         * gst/gsttagsetter.c:
19992         * gst/gsttagsetter.h:
19993         * gst/gsttrace.c:
19994         * gst/gsttrace.h:
19995         * gst/gsttypefind.h:
19996         * gst/gsturi.h:
19997         * gst/gstvalue.c:
19998         * gst/net/gstnetclientclock.c:
19999         * gst/net/gstnetclientclock.h:
20000         * gst/net/gstnettimepacket.c:
20001         * gst/net/gstnettimeprovider.c:
20002         * gst/net/gstnettimeprovider.h:
20003         Doc fixes.
20004
20005 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20006
20007         * configure.ac: back to HEAD
20008
20009 === release 0.9.6 ===
20010
20011 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
20012
20013         * configure.ac:
20014           releasing 0.9.6, "Always On Time"
20015
20016 2005-11-23  Wim Taymans  <wim@fluendo.com>
20017
20018         * docs/gst/gstreamer-sections.txt:
20019         * gst/glib-compat.c:
20020         * gst/gsttagsetter.c:
20021         * gst/gstvalue.c:
20022         * gst/net/gstnetclientclock.c:
20023         * gst/net/gstnettimepacket.h:
20024         Doc updates.
20025
20026 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20027
20028         * docs/faq/using.xml:
20029         * docs/libs/tmpl/gstcontrol.sgml:
20030         * docs/manual/advanced-dparams.xml:
20031         * docs/manual/appendix-checklist.xml:
20032         * docs/manual/basics-elements.xml:
20033         * docs/pwg/other-source.xml:
20034         * docs/random/moving-plugins:
20035         * gst/gstpad.c:
20036         * tools/gst-launch.1.in:
20037           remove mentions of sinesrc
20038
20039 2005-11-23  Michael Smith <msmith@fluendo.com>
20040
20041         * docs/gst/gstreamer-sections.txt:
20042           Update for new API and API changes.
20043         * gst/gstobject.h:
20044           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
20045         * gst/gstvalue.c:
20046           Documentation typo fix.
20047         * gst/net/gstnettimepacket.c:
20048           Documentation fixes for arguments.
20049
20050 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
20051
20052         * gst/gststructure.c: (gst_structure_get_fraction),
20053         (gst_structure_parse_value),
20054         (gst_structure_fixate_field_nearest_fraction):
20055         * gst/gststructure.h:
20056         * gst/gstutils.c: (gst_util_uint64_scale_int):
20057         * gst/gstutils.h:
20058         * scripts/update-funcnames:
20059         API Changes. 
20060         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
20061         Make gst_structure_fixate_field_nearest_fraction take a numerator
20062         and denominator argument instead of a GValue
20063         add gst_structure_get_fraction helper function.
20064
20065 2005-11-23  Wim Taymans  <wim@fluendo.com>
20066
20067         * docs/design/part-TODO.txt:
20068         Update TODO.
20069
20070         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
20071         * gst/net/gstnetclientclock.h:
20072         Use parent fields for timeout and window_size.
20073
20074 2005-11-23  Andy Wingo  <wingo@pobox.com>
20075
20076         * check/net/gstnetclientclock.c (test_functioning): Adjust to
20077         rate_num/rate_denom change.
20078
20079         * gst/net/gstnetclientclock.c
20080         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
20081         OBJECT_LOCK. Don't call add_observation with the lock.
20082
20083         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
20084         fraction.
20085         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
20086         rate fraction.
20087         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
20088         deal with rate as a fraction whose numerator and denominator are
20089         GstClockTime values.
20090         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
20091         master; the other fields are protected by the SLAVE_LOCK.
20092         (do_linear_regression): Note that this must be called with the
20093         SLAVE_LOCK.
20094         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
20095         OBJECT_LOCK. Call set_calibration instead of touching the
20096         variables directly.
20097         (gst_clock_set_property, gst_clock_get_property): Protect
20098         master/slave parameters with the SLAVE_LOCK.
20099
20100         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
20101         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
20102         note that all of the instance variables that add_observation and
20103         the set_master functions use are protected by that lock and not
20104         the OBJECT_LOCK.
20105         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
20106
20107         * gst/gstclock.c (gst_clock_add_observation): No longer requires
20108         the caller to take the object lock.
20109
20110 2005-11-23  Wim Taymans  <wim@fluendo.com>
20111
20112         * gst/gsterror.c: (_gst_core_errors_init):
20113         * gst/gsterror.h:
20114         Add error for clock stuff.
20115
20116         * gst/gstpipeline.c: (gst_pipeline_change_state),
20117         (gst_pipeline_set_clock):
20118         Post clock error when clock cannot be used in a pipeline.
20119
20120 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
20121
20122         * docs/gst/gstreamer-sections.txt:
20123           make two symbols from gstinfo private for the docs
20124         * gst/base/gstcollectpads.h:
20125         * gst/gstutils.c:
20126           fix doc typos, update docs
20127
20128 2005-11-22  Wim Taymans  <wim@fluendo.com>
20129
20130         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20131         (gst_base_sink_wait), (gst_base_sink_do_sync),
20132         (gst_base_sink_handle_event):
20133         * gst/base/gstbasesink.h:
20134         No need to store the clock, the parent element class already
20135         has it.
20136
20137         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
20138         Updates for clock_set returning a gboolean
20139
20140         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
20141         (gst_clock_id_wait_async), (gst_clock_class_init),
20142         (gst_clock_init), (gst_clock_finalize),
20143         (gst_clock_get_internal_time), (gst_clock_get_time),
20144         (gst_clock_slave_callback), (gst_clock_set_master),
20145         (gst_clock_get_master), (do_linear_regression),
20146         (gst_clock_add_observation), (gst_clock_set_property),
20147         (gst_clock_get_property):
20148         * gst/gstclock.h:
20149         Implement master/slave. When setting a clock as a slave, a
20150         periodic timeout is scheduled to sample master and slave times.
20151         Then the slave clock is recalibrated to match offset and rate
20152         of the master clock.
20153         Update logging a bit.
20154         Add flag so that a clock can state that is cannot be slaved to
20155         another clock.
20156
20157         * gst/gstelement.c: (gst_element_set_clock):
20158         * gst/gstelement.h:
20159         The set clock returns a gboolean for when an element cannot
20160         deal with the selected clock in the pipeline. 
20161
20162         * gst/gstpipeline.c: (gst_pipeline_change_state),
20163         (gst_pipeline_set_clock):
20164         * gst/gstpipeline.h:
20165         Handle the case where the selected clock cannot be set on
20166         the pipeline.
20167
20168         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
20169         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
20170         (gst_net_client_clock_set_property),
20171         (gst_net_client_clock_get_property),
20172         (gst_net_client_clock_observe_times):
20173         * gst/net/gstnetclientclock.h:
20174         Use regression code in GstClock parent, remove duplicated
20175         functionality.
20176
20177 2005-11-22  Michael Smith <msmith@fluendo.com>
20178
20179         * gst/gstutils.c: (gst_util_clock_time_scale):
20180         * gst/gstutils.h:
20181         * docs/gst/gstreamer-sections.txt:
20182           Rename method to have extra underscore.
20183
20184 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20185
20186         * gst/elements/Makefile.am:
20187         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
20188         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20189         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20190         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
20191         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
20192         * gst/elements/gstfakesrc.h:
20193         * gst/gstqueue.c: (queue_leaky_get_type):
20194           correctly fix GEnumValues so that nick is the short lowercase
20195           dashed tag
20196         * tools/gst-inspect.c: (print_element_properties_info):
20197           also show the nick, since it's useful to use from parse_launch
20198           syntax
20199           Fixes #322139
20200
20201 2005-11-22  Michael Smith <msmith@fluendo.com>
20202
20203         * gst/gstutils.c: (gst_util_clocktime_scale):
20204         * gst/gstutils.h:
20205         * docs/gst/gstreamer-sections.txt:
20206           Add util method for scaling a clocktime by a fraction. Useful 
20207           implementation is left as an exercise for the reader.
20208
20209 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20210
20211         * gst/gstvalue.c: (gst_value_collect_fraction_range):
20212         If needed, allocate storage in the destination value during
20213         collection.
20214
20215 2005-11-22  Edward Hervey  <edward@fluendo.com>
20216
20217         * docs/gst/gstreamer-sections.txt:
20218         * gst/Makefile.am:
20219         * gst/gst.h:
20220         * gst/gsturitype.c:
20221         * gst/gsturitype.h:
20222         * gst/gstutils.c: (gst_util_set_object_arg):
20223         * tools/gst-compprep.c: (main):
20224         * tools/gst-inspect.c: (print_element_properties_info):
20225         Removed GstURI, closes bug #321061
20226
20227 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20228
20229         * check/gst/gststructure.c: (GST_START_TEST):
20230         * gst/gststructure.c: (gst_structure_parse_value):
20231           Oops, broke automatic string type parsing.
20232           Add a test to catch it in future.
20233
20234 2005-11-22  Andy Wingo  <wingo@pobox.com>
20235
20236         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
20237         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
20238         Actually rename the function implementations. Grr.
20239
20240 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20241
20242         * check/gst/capslist.h:
20243           Comment test cases
20244         * check/gst/gststructure.c: (GST_START_TEST),
20245         (gst_structure_suite):
20246           Test automatic value type detection in gst_structure_from_string.
20247         * gst/gststructure.c: (gst_structure_parse_value):
20248           Add fraction as a type we try and guess automatically in
20249           caps/structure strings.
20250
20251 2005-11-22  Andy Wingo  <wingo@pobox.com>
20252
20253         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
20254
20255         * gst/gsttagsetter.h:
20256         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
20257         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
20258         (gst_tag_setter_add_tag_valist)
20259         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
20260         _add_values, _add_valist, and _add_valist_values. Since this is an
20261         interface the function suffixes should be more explicit so
20262         language binding don't end up with element.add_valist ->
20263         gst_tag_setter_add_valist, for example. Fixes #322069.
20264
20265 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20266
20267         * check/gst/gstcaps.c: (GST_START_TEST):
20268           Extend caps string tests to check that a caps to string
20269           conversion is reversible and produces the same caps.
20270
20271         * gst/gststructure.c: (gst_structure_value_get_generic_type):
20272           Output "fraction" as the generic type fraction range, so caps
20273           serialisation and deserialisation works.
20274         * check/gst/capslist.h:
20275         * gst/gstvalue.c: (gst_value_deserialize_fraction):
20276           Support 'MIN' and 'MAX' for deserialising fractions.
20277
20278 2005-11-22  Andy Wingo  <wingo@pobox.com>
20279
20280         * gst/gstevent.h (gst_event_new_new_segment)
20281         (gst_event_parse_new_segment, gst_event_new_buffer_size)
20282         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
20283         Renamed from *_newsegment, *_buffersize, *_notarget.
20284
20285         * scripts/update-funcnames: New script, performs the changes
20286         listed above.
20287
20288 2005-11-22  Wim Taymans  <wim@fluendo.com>
20289
20290         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20291         Make sure the GstFlowReturn is returned.
20292
20293         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
20294         (gst_bus_add_signal_watch):
20295         * gst/gstbus.h:
20296         add gst_bus_add_signal_watch_full.
20297
20298         * gst/gstplugin.c: (gst_plugin_load_file):
20299         Small style cleanup.
20300
20301 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20302
20303         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
20304           Block the fakesrc srcpad when we send an event, to avoid
20305           contention on the stream_lock causing random test failures.
20306
20307 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20308
20309         * check/gst/gstvalue.c: (GST_START_TEST):
20310         * gst/gstvalue.c: (gst_value_fraction_subtract):
20311           Fix subtraction.
20312
20313 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
20314
20315         * gst/gst.h:
20316           include "gstchildproxy.h"
20317         * gst/gstchildproxy.h:
20318         * libs/gst/controller/gstcontroller.h:
20319           use G_GNUC_NULL_TERMINATED
20320
20321 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20322
20323         * check/gst/capslist.h:
20324         * check/gst/gstcaps.c: (GST_START_TEST):
20325         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20326         * gst/gststructure.c: (gst_structure_parse_range),
20327         (gst_structure_fixate_field_nearest_fraction):
20328         * gst/gststructure.h:
20329         * gst/gstvalue.c: (gst_value_init_fraction_range),
20330         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
20331         (gst_value_collect_fraction_range),
20332         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
20333         (gst_value_set_fraction_range_full),
20334         (gst_value_get_fraction_range_min),
20335         (gst_value_get_fraction_range_max),
20336         (gst_value_serialize_fraction_range),
20337         (gst_value_transform_fraction_range_string),
20338         (gst_value_compare_fraction_range),
20339         (gst_value_deserialize_fraction_range),
20340         (gst_value_intersect_fraction_fraction_range),
20341         (gst_value_intersect_fraction_range_fraction_range),
20342         (gst_value_subtract_fraction_fraction_range),
20343         (gst_value_subtract_fraction_range_fraction),
20344         (gst_value_subtract_fraction_range_fraction_range),
20345         (gst_value_collect_fraction), (gst_value_fraction_multiply),
20346         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
20347         (gst_value_transform_string_fraction), (_gst_value_initialize):
20348         * gst/gstvalue.h:
20349           Implement fraction ranges and extend GstFraction to support
20350           arithmetic subtraction, as well as deserialization from integer
20351           strings such as "100"
20352           Add a testsuite as for int and double range set operations
20353
20354 2005-11-21  Andy Wingo  <wingo@pobox.com>
20355
20356         * gst/gsttaglist.h: 
20357         * gst/gstcaps.h: 
20358         * gst/gststructure.h: Add glib-compat.h.
20359
20360 2005-11-21  Wim Taymans  <wim@fluendo.com>
20361
20362         * gst/gstbin.c: (gst_bin_change_state_func):
20363         Fix for #321595
20364
20365 2005-11-21  Wim Taymans  <wim@fluendo.com>
20366
20367         * gst/gstsegment.h:
20368         And add a nice define too.
20369
20370 2005-11-21  Wim Taymans  <wim@fluendo.com>
20371
20372         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
20373         (gst_segment_new), (gst_segment_free), (gst_segment_init),
20374         (gst_segment_set_duration), (gst_segment_set_last_stop),
20375         (gst_segment_set_seek), (gst_segment_set_newsegment),
20376         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20377         (gst_segment_clip):
20378         * gst/gstsegment.h:
20379         Make binding friendly.
20380
20381 2005-11-21  Andy Wingo  <wingo@pobox.com>
20382
20383         * gst/gsttagsetter.h: 
20384         * gst/gsttaglist.h: 
20385         * gst/gststructure.h: 
20386         * gst/gstcaps.h: 
20387         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
20388         #319940.
20389
20390         * gst/gsterror.c (_gst_core_errors_init):
20391         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
20392         category.
20393
20394         * gst/Makefile.am (gst_headers): Add glib-compat.h.
20395         (noinst_HEADERS): noinst the -private.
20396
20397 2005-11-21  Michael Smith <msmith@fluendo.com>
20398
20399         * gst/gstplugin.h:
20400         * gst/gstregistry.h:
20401           Remove unimplemented declarations for which we can see no sensible
20402           use.
20403
20404 2005-11-21  Andy Wingo  <wingo@pobox.com>
20405
20406         * gst/gst.h: Include glib-compat.h.
20407
20408         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
20409
20410         * gst/glib-compat.c: Include the public and the private header.
20411
20412         * gst/glib-compat-private.h: Copied here from glib-compat.h.
20413
20414         * gst/gstvalue.c: 
20415         * gst/gstpad.c: 
20416         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
20417
20418         * check/gst/gstevent.c (create_custom_events): Check that
20419         FLUSH_STOP is serialized.
20420
20421         * check/elements/identity.c (event_func): 
20422         * check/elements/fakesrc.c (event_func): No stream lock, the core
20423         takes it.
20424
20425         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
20426         stream lock taking, yay.
20427
20428         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
20429         ensure that core takes the stream lock.
20430
20431         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
20432         lock name change.
20433
20434         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
20435         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
20436         it already. For the flush start we do take it though so we get the
20437         right preroll state change messages.
20438
20439         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
20440         the stream lock here, the core does it for us.
20441
20442         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
20443         GST_STREAM_GET_LOCK.
20444         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
20445         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
20446         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
20447         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
20448         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
20449         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
20450
20451         * gst/gstpad.c: Update for stream lock name change.
20452
20453         * gst/base/gstbasesink.c: Update for preroll lock name change.
20454
20455 2005-11-21  Wim Taymans  <wim@fluendo.com>
20456
20457         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
20458         (gst_clock_get_master):
20459         * gst/gstclock.h:
20460         * gst/gstsystemclock.c: (gst_system_clock_init):
20461         Convert Clock flags to object flags.
20462         Added methods to manage master/slave clocks.
20463
20464 2005-11-21  Wim Taymans  <wim@fluendo.com>
20465
20466         * check/gst/gstsegment.c: (GST_START_TEST):
20467         * docs/design/part-TODO.txt:
20468         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20469         (gst_base_sink_event), (gst_base_sink_do_sync),
20470         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
20471         (gst_base_sink_query), (gst_base_sink_change_state):
20472         * gst/base/gstbasesink.h:
20473         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20474         (gst_base_src_default_newsegment),
20475         (gst_base_src_configure_segment), (gst_base_src_do_seek),
20476         (gst_base_src_get_range), (gst_base_src_loop),
20477         (gst_base_src_change_state):
20478         * gst/base/gstbasesrc.h:
20479         * gst/base/gstbasetransform.c:
20480         (gst_base_transform_prepare_output_buf),
20481         (gst_base_transform_event), (gst_base_transform_change_state):
20482         * gst/base/gstbasetransform.h:
20483         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
20484         (gst_collect_pads_event):
20485         * gst/base/gstcollectpads.h:
20486         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
20487         (gst_fake_src_create):
20488         * gst/elements/gstfakesrc.h:
20489         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20490         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20491         (gst_segment_set_last_stop), (gst_segment_set_seek),
20492         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
20493         (gst_segment_to_running_time), (gst_segment_clip):
20494         * gst/gstsegment.h:
20495         More segment updates, replace code in plugins with segment
20496         helper functions.
20497
20498 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20499
20500         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
20501         Don't ignore sscanf results
20502
20503 2005-11-21  Andy Wingo  <wingo@pobox.com>
20504
20505         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
20506
20507         * *.h:
20508         * *.c: Ran scripts/update-macros. Oh yes.
20509
20510         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
20511         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
20512         GST_GET_LOCK, etc.
20513
20514         * scripts/update-macros: New script. Run it on your files to
20515         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
20516         well.
20517
20518 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20519
20520         * docs/gst/Makefile.am:
20521         * docs/gst/gstreamer-docs.sgml:
20522         * docs/gst/gstreamer-sections.txt:
20523         * docs/gst/gstreamer.types:
20524         * gst/gstinfo.h:
20525           more docs fixes, add new api to the docs
20526
20527 2005-11-21  Andy Wingo  <wingo@pobox.com>
20528
20529         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20530         state_broadcast call.
20531
20532         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
20533
20534 2005-11-21  Julien MOUTTE  <julien@moutte.net>
20535
20536         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
20537         function calls for arrays.
20538
20539 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20540
20541         * docs/random/ensonic/media-device-daemon.txt:
20542           wild idea, can this be done?
20543         * docs/gst/gstreamer-sections.txt:
20544         * gst/gsterror.h:
20545         * gst/gstfilter.c:
20546         * gst/gstfilter.h:
20547         * gst/gstplugin.h:
20548         * gst/gstpluginfeature.c:
20549         * gst/gsttrace.c:
20550         * gst/gstvalue.c:
20551         * gst/gstvalue.h:
20552           doc fixes and additions
20553
20554 2005-11-21  Andy Wingo  <wingo@pobox.com>
20555
20556         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
20557         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
20558         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
20559         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
20560         private to the basesrc implementation.
20561
20562         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
20563         behalf of event function if necessary. It should no longer be
20564         necessary to take the stream lock in pad's event functions. Fixes
20565         #320299.
20566
20567 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20568         * docs/gst/gstreamer-sections.txt:
20569         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
20570         (gst_structure_fixate_field_nearest_double),
20571         (gst_structure_fixate_field_boolean):
20572         * gst/gststructure.h:
20573         * win32/common/libgstreamer.def:
20574         * win32/gstreamer.def:
20575
20576         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
20577         (#322027)
20578
20579 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20580
20581         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
20582         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
20583         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
20584         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
20585         (gst_fdsrc_uri_handler_init):
20586         * gst/elements/gstfdsrc.h:
20587           Port fd:// URI handler from 0.8 to fdsrc
20588
20589 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20590
20591         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
20592         (gst_value_serialize_fourcc):
20593         * gst/gstvalue.h:
20594           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
20595           consistent with our other format defines (#320324).
20596
20597 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20598
20599         * gst/gstvalue.c: (gst_value_is_fixed):
20600           Revert previous commit. Value lists are by definition
20601           not fixed, as they are a list of possible values.
20602
20603 2005-11-21  Andy Wingo  <wingo@pobox.com>
20604
20605         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
20606         during the stable series if we need it. Fixes #319178.
20607
20608         * gst/gstevent.c (gst_event_new_filler): Removed.
20609
20610         * check/gst/gstevent.c: Update comment about filler events.
20611
20612 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20613
20614         * gst/gstvalue.c: (gst_value_is_fixed):
20615           Should handle both value arrays and value lists.
20616
20617 2005-11-21  Andy Wingo  <wingo@pobox.com>
20618
20619         patch by: Alessandro Dessina <alessandro nnva org>
20620
20621         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
20622         functions to access arrays. Fixes #321962.
20623
20624 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20625
20626         * docs/gst/gstreamer.types:
20627           gst_collectpads_get_type => gst_collect_pads_get_type.
20628           
20629         * gst/base/gstbasetransform.c:
20630           Remove unused SIGNAL_HANDOFF enum.
20631
20632 2005-11-21  Andy Wingo  <wingo@pobox.com>
20633
20634         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
20635         the event type (upstream, downstream, serialized). Renamed
20636         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
20637         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
20638         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
20639
20640         * gst/gstevent.c: Update for new CUSTOM event names.
20641
20642         * check/gst/gstevent.c: Update check for new CUSTOM event names.
20643
20644         * gst/gstevent.h:
20645         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
20646         bug #319392.
20647
20648 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20649
20650         * docs/gst/gstreamer-sections.txt:
20651         * win32/common/libgstbase.def:
20652         * win32/libgstbase.def:
20653         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
20654         (gst_collect_pads_class_init), (gst_collect_pads_init),
20655         (gst_collect_pads_finalize), (gst_collect_pads_new),
20656         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
20657         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
20658         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
20659         (gst_collect_pads_start), (gst_collect_pads_stop),
20660         (gst_collect_pads_peek), (gst_collect_pads_pop),
20661         (gst_collect_pads_available), (gst_collect_pads_read),
20662         (gst_collect_pads_flush), (gst_collect_pads_event),
20663         (gst_collect_pads_chain):
20664         * gst/base/gstcollectpads.h:
20665           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
20666           unimplemented functions as unimplemented. Add padding to
20667           GstCollectData. (#320766, #320423)
20668
20669 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20670
20671         * gst/gstmessage.c:
20672           Improve docs for DURATION message (usage of duration parameter)
20673           (#320113)
20674
20675 2005-11-20  Wim Taymans  <wim@fluendo.com>
20676
20677         * check/Makefile.am:
20678         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
20679         (main):
20680         * gst/Makefile.am:
20681         * gst/gst.h:
20682         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20683         (gst_segment_set_seek), (gst_segment_set_newsegment),
20684         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20685         (gst_segment_clip):
20686         * gst/gstsegment.h:
20687         Added segment helper structure and methods. Not fully implemented
20688         yet.
20689         Added segment check.
20690
20691 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
20692
20693         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20694           Add a deserialisation test for fractions
20695         * examples/metadata/read-metadata.c: (message_loop),
20696         (make_pipeline), (main):
20697           Fix up metadata reading sample.
20698         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20699           Debug format fix
20700         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20701           Don't try and fixate empty caps
20702         * gst/gst_private.h:
20703           Wrap in G_BEGIN_DECLS/G_END_DECLS
20704         * gst/gstvalue.c: (gst_value_collect_fraction),
20705         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
20706         (gst_value_transform_string_fraction),
20707         (gst_value_compare_fraction):
20708           Add some extra guards to ensure that we don't end up 
20709           with an invalid denominator of 0 in a gstfraction and
20710           that fractions always get reduced.
20711
20712 2005-11-20  Wim Taymans  <wim@fluendo.com>
20713
20714         * docs/gst/gstreamer-sections.txt:
20715         * gst/gstbuffer.h:
20716         * gst/gstelement.c:
20717         * gst/gstformat.c:
20718         * gst/gstformat.h:
20719         * gst/gstindex.h:
20720         * gst/gstquery.c:
20721         * gst/gstquery.h:
20722         * gst/gstvalue.c:
20723         Doc fixes.
20724
20725 2005-11-20  Wim Taymans  <wim@fluendo.com>
20726
20727         * docs/design/part-TODO.txt:
20728         * gst/gstcaps.h:
20729         Make a proper enum of the flag.
20730
20731 2005-11-19  Wim Taymans  <wim@fluendo.com>
20732
20733         * docs/design/part-TODO.txt:
20734         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
20735         (gst_format_to_quark), (gst_format_register):
20736         * gst/gstformat.h:
20737         * gst/gstquery.c: (_gst_query_initialize),
20738         (gst_query_type_get_name), (gst_query_type_to_quark),
20739         (gst_query_type_register):
20740         * gst/gstquery.h:
20741         Add type to quark and type to string conversions.
20742
20743 2005-11-19  Andy Wingo  <wingo@pobox.com>
20744
20745         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
20746         #320097.
20747
20748 2005-11-19  Wim Taymans  <wim@fluendo.com>
20749
20750         * docs/design/part-TODO.txt:
20751         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
20752         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
20753         (gst_bin_handle_message_func):
20754         * gst/gstbin.h:
20755         Make message handling overridable.
20756
20757 2005-11-19  Andy Wingo  <wingo@pobox.com>
20758
20759         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
20760
20761         * gst/gstclock.h:
20762         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
20763         be a GstClockTime.
20764         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
20765         is a GstClockTime. Fixes #321710.
20766
20767         * gst/gstclock.h (GstClock): Remove offset property. Add
20768         internal_calibration and external_calibration. Fix padding. Pad
20769         also by GstClockTime so we don't run into problems.
20770
20771         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
20772         (gst_clock_get_rate_offset): Remove.
20773         (gst_clock_set_time_adjust): Remove. Fixes #321712.
20774
20775         * gst/gstutils.h:
20776         * gst/gstutils.c (g_static_rec_cond_wait)
20777         (g_static_rec_cond_timed_wait): Removed, no longer needed.
20778
20779         * gst/gstbin.c: Remove terrible continue_state prototype.
20780
20781         * gst/gstelement.h (gst_element_continue_state): Make public.
20782
20783         * gst/gstelement.h:
20784         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
20785         by continue_state. Fixes #319389.
20786
20787         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
20788         Really fixes #168438. However I don't see anywhere where the
20789         filter function is called... stupid GStreamer...
20790         
20791         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
20792         don't have a dispose function, so it won't get called when the
20793         object is unreffed, but oh well!
20794
20795         * gst/gstindex.c (gst_index_set_filter_full): New API function,
20796         allows a destroy function to be set so user_data can be freed.
20797         Fixes #168438.
20798         (gst_index_set_filter): Call gst_index_set_filter_full.
20799
20800         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
20801
20802         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
20803         string should produce an error, given the lack of a way to
20804         represent NULL strings. Fixes #165650.
20805         
20806         * gst/gstvalue.h: 
20807         * gst/gstvalue.c (gst_value_array_append_value) 
20808         (gst_value_array_prepend_value, gst_value_array_get_size) 
20809         (gst_value_array_get_value): New API, copied from
20810         gst_value_list_*, only operates on arrays.
20811         (gst_value_list_append_value, gst_value_list_prepend_value) 
20812         (gst_value_list_concat, gst_value_list_get_size) 
20813         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
20814
20815         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
20816         init_list, because it works on both.
20817         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
20818         (gst_value_copy_list_or_array): Renamed from copy_list.
20819         (gst_value_free_list_or_array): Renamed from free_list.
20820         (gst_value_collect_list_or_array): Renamed from collect_list.
20821         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
20822         (gst_value_list_or_array_peek_pointer): Renamed from
20823         list_peek_pointer.
20824         (_gst_value_array_value_table, _gst_value_list_value_table):
20825         Update value table functions.
20826         (gst_value_compare_list_or_array): Renamed from compare_list.
20827
20828         * gsttaglist.h: Whoops, foreach function returns void. Also fix
20829         some constness.
20830
20831         * gst/gsttaglist.c:
20832         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
20833         GstTagList*. Fixes #143472.
20834
20835         * gst/gststructure.h: Clarify what the foreach/map functions can
20836         or can't do to their arguments.
20837
20838 2005-11-18  Wim Taymans  <wim@fluendo.com>
20839
20840         * gst/gstclock.c: (gst_clock_set_calibration),
20841         (gst_clock_get_calibration):
20842         Doc and API fixes.
20843         Calibration can be set with internal time equal to current
20844         internal time too.
20845
20846 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
20847
20848         * gst/gsterror.c:
20849         * gst/gsterror.h:
20850           document
20851
20852 2005-11-18  Andy Wingo  <wingo@pobox.com>
20853
20854         * configure.ac: 
20855         * pkgconfig/gstreamer-net.pc.in:
20856         * pkgconfig/gstreamer-net-uninstalled.pc.in:
20857         * pkgconfig/Makefile.am: Add net pkgconfig files.
20858
20859 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
20860
20861         * gst/gstcaps.c:
20862         * gst/gstghostpad.c:
20863         * gst/gsttrace.c:
20864         * gst/gstvalue.c:
20865         * gst/gstvalue.h:
20866           docs fixes
20867
20868 2005-11-18  Andy Wingo  <wingo@pobox.com>
20869
20870         * gst/net/gstnetclientclock.c: Turn off debugging.
20871
20872         * check/net/gstnetclientclock.c (test_functioning): Assert that the
20873         times connverge somewhat. Can't make a real test.
20874
20875         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
20876         integer arithmetic. Return the minimum of the domain, which can be
20877         set as "internal" for gst_clock_set_calibration.
20878         (gst_net_client_clock_observe_times): Call _set_calibration.
20879         (gst_net_client_clock_new): Call _set_calibration instead of
20880         rate_offset.
20881
20882         * check/net/gstnetclientclock.c (test_functioning): Use the right
20883         adjustment api.
20884
20885         * gst/gstclock.h:
20886         * gst/gstclock.c (gst_clock_get_calibration) 
20887         (gst_clock_set_calibration): New functions, obsolete the ones I
20888         added yesterday. Doh. Precision issues mean we have to extrapolate
20889         from a point in the more recent past than 1970.
20890         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
20891         obsolete.
20892         (gst_clock_adjust_unlocked): Use the right calibration data.
20893
20894 2005-11-18  Edward Hervey  <edward@fluendo.com>
20895
20896         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
20897         Also reset the ->current_* values in READY->PAUSED
20898
20899 2005-11-18  Andy Wingo  <wingo@pobox.com>
20900
20901         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
20902         Whoops, check the right fd. Also add some debugging.
20903         (gst_net_client_clock_observe_times): Adjust for int64 offset.
20904         (do_linear_regression): Add a crapload of debugging. Subtract off
20905         the minimum values from the input series to discard unneeded bits.
20906         Use only int arithmetic. There is still double arithmetic when
20907         calculating the intercept that needs fixing. Return boolean to
20908         indicate success; FALSE would mean the domain or range is too
20909         great. Still needs fixes.
20910
20911 2005-11-18  Wim Taymans  <wim@fluendo.com>
20912
20913         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
20914         For the current position in stream time, we need to subtract
20915         accumulated time.
20916         
20917         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
20918         Release lock before calling the callback function of async
20919         entries.
20920
20921 2005-11-18  Andy Wingo  <wingo@pobox.com>
20922
20923         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
20924         Port goes all the way to MAXUINT16.
20925
20926         * gst/net/gstnettimeprovider.c: Make the port range the same as
20927         for the kernel: 0 assigns, otherwise ports are less than
20928         MAXUINT16.
20929
20930         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
20931         port change.
20932
20933         * check/net/gstnetclientclock.c (test_functioning): Add the start
20934         of another test. 
20935
20936 2005-11-18  Wim Taymans  <wim@fluendo.com>
20937
20938         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
20939         (gst_bin_remove_func), (bin_bus_handler):
20940         * gst/gstbin.h:
20941         Removing a clock provider from a bin, triggers a clock lost message
20942         so that a new clock will be selected.
20943         Adding a clock to a bin triggers a clock provider message.
20944         Make sure we reselect a clock when we received a clock lost message.
20945         Keep a reference to the element that provided the clock.
20946
20947 2005-11-18  Andy Wingo  <wingo@pobox.com>
20948
20949         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
20950         the clock initially so it produces values around the base time.
20951         (gst_net_client_clock_class_init): Typo fix.
20952         (gst_net_client_clock_thread): Add note on when the socket gets
20953         closed.
20954
20955 2005-11-17  Wim Taymans  <wim@fluendo.com>
20956
20957         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
20958         Free remote and local time arrays.
20959
20960 2005-11-17  Wim Taymans  <wim@fluendo.com>
20961
20962         * gst/net/gstnetclientclock.c: (do_linear_regression),
20963         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
20964         Fix compilation, uninitialized vars and a forgotten continue.
20965
20966 2005-11-17  Andy Wingo  <wingo@pobox.com>
20967
20968         * check/Makefile.am (check_PROGRAMS): 
20969         * check/net/gstnetclientclock.c: Add a most minimal test for the
20970         net client clock. More to come later.
20971
20972         * gst/net/gstnet.h: 
20973         * gst/net/Makefile.am: Add netclientclock.
20974
20975         * gst/net/gstnetclientclock.h:
20976         * gst/net/gstnetclientclock.c: New files, implement an untested
20977         GstClock that takes its time from a network time provider.
20978         Implements the algorithm in network-clock.scm.
20979
20980         * tests/network-clock.scm (*window-size*): Rename from
20981         *queue-length*.
20982         * tests/network-clock.scm (network-time): 
20983         * tests/network-clock-utils.scm (q-push): Update callers.
20984
20985 2005-11-17  Wim Taymans  <wim@fluendo.com>
20986
20987         * gst/gstbin.c: (gst_bin_provide_clock_func),
20988         (gst_bin_sort_iterator_new):
20989         And unref the child too..
20990
20991 2005-11-17  Wim Taymans  <wim@fluendo.com>
20992
20993         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
20994         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
20995         Refactor the sort iterator so it can be used while holding the
20996         LOCK too.
20997         Make clock selection select a clock closest to the source.
20998
20999 2005-11-17  Michael Smith <msmith@fluendo.com>
21000
21001         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
21002         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
21003         * gst/gstclock.h:
21004           Anonymous structs are a gcc (and some other compilers) extension, so
21005           don't use them. Since this is only for ABI-compatibility, and our
21006           API/ABI freeze is over in a few days, this whole thing will only
21007           last a few days, so don't bother trying to think up a meaningful
21008           name for the struct.
21009
21010 2005-11-17  Andy Wingo  <wingo@pobox.com>
21011
21012         * gst/gstclock.h (GstClock): Add rate and offset properties,
21013         preserving ABI stability. Add rate/offset accessors. Will file bug
21014         for the freeze break.
21015
21016         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
21017         and offset, trying to keep precision and avoiding
21018         underflow/overflow.
21019         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
21020         functions. Make gst_clock_set_time_adjust obsolete.
21021         (gst_clock_set_time_adjust): Note that this function is obsolete.
21022         Will file bug soon.
21023
21024         * gst/base/gstbasetransform.h: Make the ABI-stability hack
21025         greppable by using GST_PADDING-1+1.
21026
21027 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
21028
21029         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21030
21031         * gst/gstmessage.c: (gst_message_parse_clock_lost):
21032           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
21033
21034         * gst/gstpadtemplate.h:
21035         * gst/gstpluginfeature.h:
21036           Don't use c++ style comments in headers (#321638).
21037
21038 2005-11-16  Andy Wingo  <wingo@pobox.com>
21039
21040         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
21041         buffer.
21042
21043         * check/net/gstnettimeprovider.c: Check to see that the time
21044         provider actually provides times. Works, yo!
21045
21046 2005-11-16  Wim Taymans  <wim@fluendo.com>
21047
21048         * check/Makefile.am:
21049         Enable more tests.
21050
21051         * check/elements/fakesrc.c: (GST_START_TEST):
21052         Set element to NULL before disposing it.
21053
21054 2005-11-16  Andy Wingo  <wingo@pobox.com>
21055
21056         * gst/net/Makefile.am:
21057         * gst/net/gstnet.h:
21058         * gst/net/gstnettimeprovider.c: 
21059         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
21060         provider, include it from gstnet.h, and add it to the build.
21061
21062         * gst/net/gstnettimepacket.h: 
21063         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
21064         sending and receiving.
21065
21066 2005-11-16  Wim Taymans  <wim@fluendo.com>
21067
21068         * check/Makefile.am:
21069         Enable valgrind check.
21070
21071         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
21072         (gst_fake_src_alloc_buffer):
21073         Fix memleak.
21074
21075 2005-11-16  Wim Taymans  <wim@fluendo.com>
21076
21077         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
21078         Call parent finalize too.
21079
21080 2005-11-16  Wim Taymans  <wim@fluendo.com>
21081
21082         * check/Makefile.am:
21083         Enable valgrind check that should work fine now.
21084
21085         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21086         * gst/gstqueue.c: (gst_queue_init):
21087         Fix memleaks in pad allocation.
21088
21089 2005-11-16  Andy Wingo  <wingo@pobox.com>
21090
21091         * gst/net/Makefile.am:
21092         * gst/net/gstnet.h: New part of core to hold network elements and
21093         objects. Put in core because it exposes API that applications want
21094         to use. The library is named libgstnet-tempname right now because
21095         of the existing libgstnet in gst-plugins-base. Solution is
21096         probably to rename the one in plugins-base; will file a bug for
21097         the freeze break.
21098
21099         * gst/net/gstnettimeprovider.c: 
21100         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
21101         get_time call over the network.
21102
21103         * configure.ac: 
21104         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
21105
21106         * check/Makefile.am:
21107         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
21108         get additions shortly.
21109
21110 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21111
21112         * gst/gstpad.c: (gst_pad_new_from_static_template):
21113         * gst/gstpad.h:
21114           add gst_pad_new_from_static_template functions
21115         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
21116         (gst_check_setup_sink_pad):
21117         * gst/elements/gsttee.c: (gst_tee_init):
21118           and use them
21119
21120 2005-11-16  Wim Taymans  <wim@fluendo.com>
21121
21122         * gst/gstpad.c: (gst_pad_pause_task):
21123         Removed warning, it's not really an error either.
21124
21125 2005-11-16  Wim Taymans  <wim@fluendo.com>
21126
21127         * gst/base/gstbasetransform.c:
21128         (gst_base_transform_prepare_output_buf),
21129         (gst_base_transform_event):
21130         Check if the caps are NULL, this can happen if the element
21131         is shutting down and the pad caps are set to NULL.
21132
21133 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21134
21135         * gst/elements/gsttee.c: (gst_tee_init):
21136           fix pad template leak in tee
21137
21138 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21139
21140         * gst/glib-compat.c: (g_value_dup_gst_object):
21141         * gst/glib-compat.h:
21142         * gst/gstpad.c: (gst_pad_set_property):
21143           use gst_object_ref when setting the pad template; this will
21144           trigger the pad template leaks on GLib 2.6 and the slaves
21145
21146 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21147
21148         * gst/glib-compat.c: (gst_flags_get_first_value):
21149         * gst/glib-compat.h:
21150         * gst/gstregistryxml.c:
21151           remove functions copied from GLib 2.6
21152
21153 2005-11-16  Michael Smith <msmith@fluendo.com>
21154
21155         * gst/Makefile.am:
21156           Don't link against VALGRIND_LIBS. That was always the wrong thing to
21157           do, but only breaks with newer valgrind versions. We're not a
21158           valgrind tool, we have no link-time dependencies on libcoregrind.
21159
21160 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21161
21162         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21163           some debug changes
21164         * gst/gstmessage.h:
21165           typo fixes
21166
21167 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21168
21169         * gst/base/gstbasesrc.c: (gst_base_src_init):
21170         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21171         * gst/gstqueue.c: (gst_queue_init):
21172         * gst/gstregistryxml.c: (load_feature):
21173           Revert all these unrefs, they don't even pass make check !
21174
21175 2005-11-15  Johan Dahlin  <johan@gnome.org>
21176
21177         * gst/base/gstbasesrc.c: (gst_base_src_init):
21178         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21179         * gst/gstqueue.c: (gst_queue_init): 
21180         Free pad templates, fixes a couple of leaks.
21181
21182 2005-11-15  Daniel Fischer  <dan at f3c dot com>
21183
21184         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21185
21186         * gst/gstpad.c: (gst_pad_get_property):
21187           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
21188           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
21189           (#321452)
21190
21191 2005-11-15  Wim Taymans  <wim@fluendo.com>
21192
21193         * gst/gstevent.c:
21194         Small doc update.
21195
21196 2005-11-15  Andy Wingo  <wingo@pobox.com>
21197
21198         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
21199
21200         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
21201         using GST_CLOCK_TIME_NONE to disable base time management.
21202         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
21203         time if it was NONE before.
21204         (gst_pipeline_change_state): Only munge the base time if
21205         stream_time != GST_CLOCK_TIME_NONE.
21206
21207         * check/gst/gstpipeline.c (test_base_time): Punt around the
21208         problem of the probe not being called, because that's not the
21209         issue I'm looking at. Add a check that setting stream_time to NONE
21210         disables base time management.
21211         
21212 2005-11-15  Wim Taymans  <wim@fluendo.com>
21213
21214         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21215         segment_stop == -1 at startup.
21216
21217         * gst/base/gstbasetransform.c: (gst_base_transform_event),
21218         (gst_base_transform_change_state):
21219         Init segment values at start.
21220
21221 2005-11-15  Wim Taymans  <wim@fluendo.com>
21222
21223         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21224         0 segment values are 0 in any format.
21225
21226         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21227         * gst/base/gstbasetransform.h:
21228         Parse newsegment correctly in basetransform
21229
21230         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
21231         Sync to clock using updated segment values.
21232
21233 2005-11-15  Andy Wingo  <wingo@pobox.com>
21234
21235         * check/gst/gstpipeline.c (test_base_time): Add check that the
21236         base time and stream time are reset correctly.
21237
21238 2005-11-15  Wim Taymans  <wim@fluendo.com>
21239
21240         * docs/design/part-TODO.txt:
21241         Some more TODO items.
21242
21243 2005-11-15  Andy Wingo  <wingo@pobox.com>
21244
21245         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
21246         error if the user selected "no clock" as the clocking method.
21247
21248         * check/gst/gstpipeline.c (test_base_time): New test for buffer
21249         timestamps with live capture.
21250
21251         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
21252         is 0 but we are a live source, timestamp the buffers using the
21253         element's clock.
21254
21255 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
21256
21257         * docs/gst/gstreamer-sections.txt:
21258         * gst/gsterror.c:
21259         * gst/gstghostpad.c:
21260         * gst/gstobject.h:
21261         * gst/gstxml.c:
21262           more section docs
21263
21264 2005-11-14  Wim Taymans  <wim@fluendo.com>
21265
21266         * common/gst.supp:
21267           add suppressions from Wim's Debian machine
21268
21269 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
21270
21271         * common/gst.supp:
21272           add suppressions from Andy's AMD64 Ubuntu machine
21273
21274 2005-11-14  Andy Wingo  <wingo@pobox.com>
21275
21276         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
21277         STATE_LOCK not necessary. Fixes #311489.
21278
21279         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
21280         #305291.
21281
21282         * gst/gstindex.c (gst_index_add_object): Note in the docs that
21283         this function is not implemented.
21284
21285 2005-11-14  Julien MOUTTE  <julien@moutte.net>
21286
21287         * gst/base/gstbasetransform.c:
21288         (gst_base_transform_prepare_output_buf):
21289         Ref the source pad caps while we need them.
21290         Fixes (#321386)
21291
21292 2005-11-11  Wim Taymans  <wim@fluendo.com>
21293
21294         * docs/gst/gstreamer-sections.txt:
21295         Added some docs for GstCollectData.
21296
21297         * gst/base/gstadapter.c:
21298         Some small code example fix.
21299
21300         * gst/base/gstcollectpads.c:
21301         * gst/base/gstcollectpads.h:
21302         Document some more.
21303
21304 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21305
21306         * configure.ac: back to HEAD
21307
21308 === release 0.9.5 ===
21309
21310 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
21311
21312         * configure.ac:
21313           releasing 0.9.5, "Bike Lunch Day"
21314
21315 2005-11-11  Wim Taymans  <wim@fluendo.com>
21316
21317         * gst/gstbuffer.c: (_gst_buffer_copy):
21318         Copy more flags.
21319
21320         * gst/gstcaps.c: (gst_caps_is_equal):
21321         Fix some docs.
21322         Make _is_equal fast in the trivial cases.
21323
21324         * gst/gstminiobject.c:
21325         * gst/gstminiobject.h:
21326         More docs. Spifify .h file.
21327
21328         * gst/gstutils.c:
21329         Small doc update.
21330
21331 2005-11-11  Wim Taymans  <wim@fluendo.com>
21332
21333         * gst/base/gstbasetransform.c:
21334         (gst_base_transform_prepare_output_buf),
21335         (gst_base_transform_handle_buffer):
21336         Small cleanups.
21337         If we're processing a buffer and need to allocate an output
21338         buffer, we cannot accept a format change. If we did get a 
21339         format change, we have to alloc a buffer ourselves of the 
21340         right size.
21341
21342 2005-11-11  Wim Taymans  <wim@fluendo.com>
21343
21344         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
21345         While checking the flag for reentrancy in the gstcaps function
21346         is nice to detect recursive invocations, it also makes it 
21347         impossible to call getcaps from multiple threads, which must be
21348         possible. So, checking for recursive calls has to go.
21349
21350 2005-11-11  Michael Smith <msmith@fluendo.com>
21351
21352         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21353           Don't sync on buffers that fall partially outside our current
21354           segment. Prevents an assertion failure/abort playing some files.
21355
21356 2005-11-10  Andy Wingo  <wingo@pobox.com>
21357
21358         * check/gst/gstbin.c (test_message_state_changed_children): Style
21359         fix..
21360
21361         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
21362         gst_bus_poll with the signal watch. Ensures that poll and a signal
21363         watch see the same messages.
21364
21365         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
21366         a poll and a watch at the same time get the same messages.
21367
21368 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21369
21370         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
21371         * gst/gstcaps.c: (gst_caps_intersect):
21372           Don't call gst_caps_do_simplify - it doesn't respect order of caps
21373           and it's not needed.
21374
21375 2005-11-10  Wim Taymans  <wim@fluendo.com>
21376
21377         * docs/design/part-TODO.txt:
21378         Updated todo.
21379
21380 2005-11-10  Wim Taymans  <wim@fluendo.com>
21381
21382         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21383         * gst/base/gstbasesrc.c: (gst_base_src_wait),
21384         (gst_base_src_do_sync), (gst_base_src_get_range):
21385         Implement clock sync in base class.
21386
21387 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21388
21389         patch by: Tim-Philipp Müller <tim at centricular dot net>
21390
21391         * gst/gststructure.c: (gst_structure_parse_field),
21392         (gst_structure_from_string):
21393           Forward-port a 0.8 patch to handle escaped spaces in structure string,
21394           so that gst_parse_launch() can deal with spaces in filtered link
21395           caps (fixes #164479)
21396         * check/gst/capslist.h:
21397         * check/gst/gststructure.c: (GST_START_TEST):
21398           add unit tests for this change
21399
21400 2005-11-10  Wim Taymans  <wim@fluendo.com>
21401
21402         * docs/gst/gstreamer-sections.txt:
21403         * gst/gstelement.c:
21404         * gst/gstelement.h:
21405         Fix docs, move some STATE macros to private.
21406
21407 2005-11-10  Wim Taymans  <wim@fluendo.com>
21408
21409         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21410         Added check for bug #317341
21411
21412         * gst/gstbuffer.c:
21413         * gst/gstbuffer.h:
21414         Some more spiffifying.
21415
21416         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
21417         Call peer linkfunction if we are a source pad. Totally fixes
21418         #317341
21419
21420         * gst/gstpad.c:
21421         Update docs, source pads should call the peer linkfunction
21422         so they can atomically perform the pad link.
21423
21424 2005-11-09  Wim Taymans  <wim@fluendo.com>
21425
21426         * gst/gstbuffer.c:
21427         * gst/gstbuffer.h:
21428         Uber-spiffy-spiffify some more.
21429
21430 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
21431
21432         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
21433         * gst/elements/gstfilesink.c: (gst_file_sink_init):
21434         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21435         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
21436         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
21437         * gst/gstpad.c: (gst_pad_init):
21438           Use GST_DEBUG_FUNCPTR() more extensively.
21439
21440 2005-11-09  Wim Taymans  <wim@fluendo.com>
21441
21442         * gst/gstobject.c: (gst_object_class_init):
21443         * gst/gstobject.h:
21444         Documentation fixes.
21445
21446 2005-11-09  Edward Hervey  <edward@fluendo.com>
21447
21448         * gst/gsttypefindfactory.c:
21449         Fix docs.
21450         
21451 2005-11-09  Edward Hervey  <edward@fluendo.com>
21452
21453         * gst/base/gsttypefindhelper.c:
21454         * gst/gsttypefind.c:
21455         * gst/gsttypefind.h:
21456         Fix docs.
21457
21458 2005-11-09  Wim Taymans  <wim@fluendo.com>
21459
21460         * gst/gstiterator.c:
21461         Fix revision data.
21462
21463         * gst/gsttask.c:
21464         * gst/gsttask.h:
21465         Fix docs.
21466
21467 2005-11-09  Wim Taymans  <wim@fluendo.com>
21468
21469         * gst/gstevent.h:
21470         * gst/gsturi.h:
21471         Fix docs.
21472
21473 2005-11-09  Wim Taymans  <wim@fluendo.com>
21474
21475         * docs/gst/gstreamer-sections.txt:
21476         Moved the message async delivery private lock and cond
21477         to the private section.
21478
21479         * gst/gstmessage.c:
21480         * gst/gstmessage.h:
21481         Fixed docs.
21482
21483 2005-11-09  Edward Hervey  <edward@fluendo.com>
21484
21485         * docs/gst/gstreamer-sections.txt:
21486         * gst/gsturi.c:
21487         * gst/gsturi.h:
21488         Document GstURIHandler
21489
21490 2005-11-09  Wim Taymans  <wim@fluendo.com>
21491
21492         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
21493         (gst_iterator_find_custom):
21494         * gst/gstiterator.h:
21495         Fix iterator docs.
21496
21497 2005-11-09  Wim Taymans  <wim@fluendo.com>
21498
21499         * gst/gstbin.h:
21500         Document another field.
21501
21502         * gst/gststructure.c:
21503         * gst/gststructure.h:
21504         Document.
21505
21506 2005-11-09  Wim Taymans  <wim@fluendo.com>
21507
21508         * gst/gstbin.h:
21509         Documented structs.
21510
21511 2005-11-09  Wim Taymans  <wim@fluendo.com>
21512
21513         * docs/gst/gstreamer-sections.txt:
21514         Added some new macros.
21515
21516         * gst/gstclock.c:
21517         * gst/gstclock.h:
21518         * gst/gstobject.h:
21519         Docs updates.
21520
21521 2005-11-09  Wim Taymans  <wim@fluendo.com>
21522
21523         * docs/design/part-TODO.txt:
21524         Some more items for the TODO
21525
21526         * gst/gstcaps.c:
21527         * gst/gstcaps.h:
21528         Document GstCaps.
21529
21530 2005-11-09  Andy Wingo  <wingo@pobox.com>
21531
21532         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
21533         to work on something else now tho...
21534
21535         * gst/base/gstadapter.c: More adapter docs.
21536
21537         * gst/elements/gstfilesink.c (gst_file_sink_start) 
21538         (gst_file_sink_stop): New functions, replace the state change
21539         handler.
21540         (gst_file_sink_class_init): Hook up the start and stop functions.
21541         (gst_file_sink_base_init): Don't set the state change handler any
21542         more. It was a bit ugly too, being set from here...
21543         (gst_file_sink_get_property, gst_file_sink_set_property):
21544         Cleanups...
21545         (gst_file_sink_set_location): More robust check that doesn't call
21546         GST_STATE. Ugggggg.
21547
21548 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
21549
21550         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21551           Hold STREAM_LOCK while pushing newsegment or tag events as well.
21552
21553 2005-11-08  Wim Taymans  <wim@fluendo.com>
21554
21555         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21556         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
21557         (gst_base_sink_chain), (gst_base_sink_change_state):
21558         * gst/base/gstbasesink.h:
21559         * gst/base/gstbasesrc.h:
21560         * gst/gstelement.h:
21561         * gst/gstevent.h:
21562         Avoid excessive typechecking in macros.
21563
21564         * gst/gstminiobject.c: (gst_mini_object_get_type),
21565         (gst_mini_object_init), (gst_mini_object_new),
21566         (gst_mini_object_free):
21567         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
21568         (gst_object_finalize):
21569         Remove cruft code, optimize alloc_trace.
21570
21571 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
21572
21573         * docs/faq/gst-uninstalled:
21574           fix up PS1 for systems that try to reset it
21575
21576 2005-11-07  Wim Taymans  <wim@fluendo.com>
21577
21578         * gst/base/gstbasesrc.c: (gst_base_src_init),
21579         (gst_base_src_get_range):
21580         Set the segment_end to -1 initially. Fixed typefind.
21581
21582 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
21583
21584         * gst/base/gstadapter.c:
21585           Debug category should be 'adapter', not 'GstAdapter'.
21586           
21587         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
21588         (gst_collectpads_class_init), (gst_collectpads_init),
21589         (gst_collectpads_peek), (gst_collectpads_pop),
21590         (gst_collectpads_event), (gst_collectpads_chain):
21591           Add debug category and some debugging output. Use boilerplate
21592           macros. Remove some extraneous words from docs.
21593
21594 2005-11-05  Andy Wingo  <wingo@pobox.com>
21595
21596         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
21597         macro.
21598
21599 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21600
21601         * docs/gst/gstreamer-sections.txt:
21602         * gst/gstcaps.h:
21603         * gst/gstinfo.c:
21604         * gst/gstminiobject.h:
21605         * gst/gstobject.h:
21606         * gst/gstutils.h:
21607           more docs added
21608
21609 2005-11-04  Wim Taymans  <wim@fluendo.com>
21610
21611         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21612         Small update to stop at the configured segment_end
21613         position.
21614
21615 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21616
21617         * gst/gstregistry.c:
21618         * gst/gstregistry.h:
21619           added missing docs
21620
21621 2005-11-04  Edward Hervey  <edward@fluendo.com>
21622
21623         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21624         Check if we are doing a segment seek and have arrived at the
21625         end of that segment.
21626
21627 2005-11-04  Wim Taymans  <wim@fluendo.com>
21628
21629         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
21630         Don't leak a mutex unlock in case of an error.
21631
21632         * gst/gstbus.h:
21633         Doc fixes.
21634
21635 2005-11-04  Wim Taymans  <wim@fluendo.com>
21636
21637         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
21638         (gst_bus_post):
21639         Get the context to wake up only once.
21640
21641 2005-11-03  Wim Taymans  <wim@fluendo.com>
21642
21643         * check/states/sinks.c: (GST_START_TEST):
21644         Uncomment fixed check.
21645
21646         * docs/design/part-TODO.txt:
21647         Updated TODO.
21648
21649         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21650         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21651         (gst_base_sink_get_position):
21652         If we are going to PLAYING, post the right pending state
21653         when we post the intermediate paused message.
21654
21655         * gst/gstelement.c: (gst_element_continue_state),
21656         (gst_element_set_state_func), (gst_element_change_state):
21657         Don't post state changes that were between the same state
21658         and were not ASYNC.
21659
21660 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21661
21662         * docs/gst/gstreamer-sections.txt:
21663         * gst/gstcaps.h:
21664         * gst/gstinfo.c:
21665         * gst/gstminiobject.h:
21666         * gst/gstobject.h:
21667         * gst/gstutils.h:
21668           more docs and doc style fixes
21669
21670 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21671
21672         * docs/gst/gstreamer-sections.txt:
21673         * gst/gstelement.c:
21674         * gst/gstminiobject.c:
21675         doc fixes
21676
21677 2005-11-03  Andy Wingo  <wingo@pobox.com>
21678
21679         * check/states/sinks.c (test_livesrc_sink): Add checks that the
21680         state-changed messages actually have the right order and the right
21681         values.
21682
21683 2005-11-03  Wim Taymans  <wim@fluendo.com>
21684
21685         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21686         Added some more checks. Specifically the case where NO_PREROLL
21687         elements are in the pipeline.
21688
21689         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21690         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21691         (gst_base_sink_get_position):
21692         Post READY->PAUSED state change messages too.
21693         Fix bug where VOID was posted as pending state...
21694
21695         * gst/gstbin.c: (gst_bin_recalc_state):
21696         use _element_continue_state() to continue the state change.
21697
21698         * gst/gstelement.c: (gst_element_continue_state),
21699         (gst_element_commit_state), (gst_element_set_state_func),
21700         (gst_element_change_state), (gst_element_change_state_func):
21701         Lots of state change cleanups, assign the STATE_RETURN in
21702         a new continue_state() function that also propagates the
21703         last return value from a state change to the app.
21704         Update some debug statements with proper category.
21705
21706 2005-11-03  Wim Taymans  <wim@fluendo.com>
21707
21708         * docs/design/part-events.txt:
21709         * docs/design/part-gstpipeline.txt:
21710         * docs/design/part-messages.txt:
21711         * docs/design/part-overview.txt:
21712         * docs/design/part-seeking.txt:
21713         * docs/design/part-states.txt:
21714         * docs/design/part-trickmodes.txt:
21715         * docs/manual/advanced-position.xml:
21716         Small docs updates.
21717
21718         * gst/gstobject.h:
21719         People think !! is ugly, this looks better.
21720
21721         * gst/gstpad.c: (gst_pad_set_blocked_async):
21722         Remove !! since it's fixed elsewhere now.
21723
21724 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21725
21726         * gst/gstminiobject.h:
21727         * gst/gstobject.h:
21728           Add !! to _FLAG_IS_SET macros to make the result boolean.
21729
21730 2005-11-03  Edward Hervey  <edward@fluendo.com>
21731
21732         * gst/gstpad.c: (gst_pad_set_blocked_async):
21733         comparing a flag and a gboolean rarely returns coherent results...
21734         Added two characters (!!) to make that work correctly.
21735         
21736 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21737
21738         * gst/gstbus.c: (gst_bus_class_init):
21739           Fix some typos.
21740           
21741         * gst/gstqueue.c: (gst_queue_loop):
21742           Don't assume a miniobject that isn't a buffer is an
21743           event (it could be that there is a refcounting
21744           problem somewhere and the pointer is stale and
21745           refers to an already destroyed miniobject).
21746
21747 2005-11-03  Julien MOUTTE  <julien@moutte.net>
21748
21749         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
21750
21751 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21752
21753         * docs/manual/advanced-position.xml:
21754           Update seek example and explanations to current 0.9 API.
21755
21756         * gst/elements/gsttypefindelement.c:
21757         (gst_type_find_element_activate):
21758           Remove FIXME comment now that the found caps
21759           are unreffed.
21760
21761 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21762
21763         * gst/gstregistryxml.c: (load_feature):
21764           Add another GST_STR_NULL instance
21765
21766 2005-11-02  Edward Hervey  <edward@fluendo.com>
21767
21768         * gst/gstpad.c: (handle_pad_block):
21769         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
21770         
21771 2005-11-02  Wim Taymans  <wim@fluendo.com>
21772
21773         * gst/gstbin.c:
21774         Fix typo in docs.
21775
21776         * gst/gstelement.c: (gst_element_commit_state):
21777         Remove unused value.
21778
21779         * gst/gstiterator.c:
21780         Mention that the returned element is reffed in the docs.
21781
21782 2005-11-02  Wim Taymans  <wim@fluendo.com>
21783
21784         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
21785         (gst_pad_push), (gst_pad_push_event):
21786         Unlock blocked pads when they are flushed.
21787
21788 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21789
21790         * docs/README:
21791         * docs/gst/gstreamer-sections.txt:
21792         * gst/gstbin.c:
21793           doc updates
21794         * gst/gstregistry.c: (gst_registry_scan_path_level):
21795           fix for a nasty little missed situation where an installed plug-in
21796           which was in the cache did not get overridden by an uninstalled one
21797           which was earlier in the plugin path because the newly created plugin
21798           for the uninstalled one (not in the registry) didn't get its
21799           ->registered set to TRUE
21800
21801 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
21802
21803         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
21804         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
21805         (gst_collectpads_is_active), (gst_collectpads_collect),
21806         (gst_collectpads_collect_range), (gst_collectpads_start),
21807         (gst_collectpads_stop), (gst_collectpads_peek),
21808         (gst_collectpads_pop), (gst_collectpads_available),
21809         (gst_collectpads_read), (gst_collectpads_flush):
21810           Guard public API with assertions.
21811         
21812         * gst/gstpad.c:
21813           Fix docs for gst_pad_set_link_function().
21814
21815 2005-11-02  Johan Dahlin  <johan@gnome.org>
21816
21817         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
21818         Unref found_caps after we used it.
21819
21820 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
21821
21822         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
21823           Don't try to ref NULL.
21824
21825 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21826
21827         * win32/common/config.h.in:
21828           provide a GST_FUNCTION that just gives a string for now
21829
21830 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21831
21832         * win32/common/gstenumtypes.c: (register_gst_object_flags),
21833         (gst_object_flags_get_type), (register_gst_bin_flags),
21834         (gst_bin_flags_get_type), (register_gst_buffer_flag),
21835         (gst_buffer_flag_get_type), (register_gst_bus_flags),
21836         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
21837         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
21838         (gst_clock_return_get_type), (register_gst_clock_entry_type),
21839         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
21840         (gst_clock_flags_get_type), (register_gst_state),
21841         (gst_state_get_type), (register_gst_state_change_return),
21842         (gst_state_change_return_get_type), (register_gst_state_change),
21843         (gst_state_change_get_type), (register_gst_element_flags),
21844         (gst_element_flags_get_type), (register_gst_core_error),
21845         (gst_core_error_get_type), (register_gst_library_error),
21846         (gst_library_error_get_type), (register_gst_resource_error),
21847         (gst_resource_error_get_type), (register_gst_stream_error),
21848         (gst_stream_error_get_type), (register_gst_event_type),
21849         (gst_event_type_get_type), (register_gst_seek_type),
21850         (gst_seek_type_get_type), (register_gst_seek_flags),
21851         (gst_seek_flags_get_type), (register_gst_format),
21852         (gst_format_get_type), (register_gst_index_certainty),
21853         (gst_index_certainty_get_type), (register_gst_index_entry_type),
21854         (gst_index_entry_type_get_type),
21855         (register_gst_index_lookup_method),
21856         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
21857         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
21858         (gst_index_resolver_method_get_type), (register_gst_index_flags),
21859         (gst_index_flags_get_type), (register_gst_debug_level),
21860         (gst_debug_level_get_type), (register_gst_debug_color_flags),
21861         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
21862         (gst_iterator_result_get_type), (register_gst_iterator_item),
21863         (gst_iterator_item_get_type), (register_gst_message_type),
21864         (gst_message_type_get_type), (register_gst_mini_object_flags),
21865         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
21866         (gst_pad_link_return_get_type), (register_gst_flow_return),
21867         (gst_flow_return_get_type), (register_gst_activate_mode),
21868         (gst_activate_mode_get_type), (register_gst_pad_direction),
21869         (gst_pad_direction_get_type), (register_gst_pad_flags),
21870         (gst_pad_flags_get_type), (register_gst_pad_presence),
21871         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
21872         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
21873         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
21874         (gst_plugin_error_get_type), (register_gst_plugin_flags),
21875         (gst_plugin_flags_get_type), (register_gst_rank),
21876         (gst_rank_get_type), (register_gst_query_type),
21877         (gst_query_type_get_type), (register_gst_tag_merge_mode),
21878         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
21879         (gst_tag_flag_get_type), (register_gst_task_state),
21880         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
21881         (gst_alloc_trace_flags_get_type),
21882         (register_gst_type_find_probability),
21883         (gst_type_find_probability_get_type), (register_gst_uri_type),
21884         (gst_uri_type_get_type), (register_gst_parse_error),
21885         (gst_parse_error_get_type):
21886         * win32/common/gstversion.h:
21887           update win32 copies
21888
21889 2005-11-01  Luca Ognibene  <luogni@tin.it>
21890
21891         * gst/gst.c:
21892           fix docs. popt is dead, long live GOption.
21893
21894 2005-10-31  Wim Taymans  <wim@fluendo.com>
21895
21896         * gst/gstbuffer.h:
21897         Small doc fix.
21898
21899 2005-10-31  Andy Wingo  <wingo@pobox.com>
21900
21901         * Boo!
21902
21903         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
21904
21905         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
21906         need to serialize property notifications on GLib 2.8. GLib 2.6 has
21907         the possibility of deadlocks here if code calling notify() or
21908         set() has a lock that can be taken in another notify handler (ABBA
21909         with class lock and e.g. python GIL state lock).
21910
21911 2005-10-28  Julien MOUTTE  <julien@moutte.net>
21912
21913         * gst/gstbus.c: Doc updates.
21914
21915 2005-10-28  Wim Taymans  <wim@fluendo.com>
21916
21917         * docs/design/part-TODO.txt:
21918         * gst/gstiterator.c:
21919         * gst/gstsystemclock.c:
21920         * gst/gstsystemclock.h:
21921         Doc updates.
21922
21923 2005-10-28  Edward Hervey  <edward@fluendo.com>
21924
21925         * docs/gst/gstreamer-docs.sgml:
21926         * docs/gst/gstreamer-sections.txt:
21927         the GstURIType documentation page is private, it only defines GstURIType
21928         which should be defined in the GstURIHandler page
21929         
21930 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
21931
21932         * gst/gstbin.c: (gst_bin_class_init):
21933         * gst/gstbin.h:
21934         * gst/gstutils.c:
21935         Documentation updates.
21936
21937 2005-10-28  Wim Taymans  <wim@fluendo.com>
21938
21939         * docs/gst/gstreamer-sections.txt:
21940         * gst/gstclock.c:
21941         * gst/gstclock.h:
21942         Documented the clocks.
21943
21944 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
21945
21946         * docs/gst/gstreamer-sections.txt:
21947           move some macros to private sections
21948         * gst/gstminiobject.c:
21949         * gst/gstminiobject.h:
21950           add descriptions provided by ds and some more
21951         * gst/gstpad.h:
21952           mark macro as to be removed
21953
21954 2005-10-28  Wim Taymans  <wim@fluendo.com>
21955
21956         * docs/design/part-TODO.txt:
21957         Add an item to TODO.
21958
21959         * gst/gstiterator.c: (gst_iterator_fold),
21960         (gst_iterator_find_custom):
21961         * gst/gstiterator.h:
21962         Add iterator docs.
21963
21964 2005-10-28  Wim Taymans  <wim@fluendo.com>
21965
21966         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
21967         (gst_base_transform_init):
21968         Don't leak class.
21969
21970         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
21971         An EOS event marks the queue as completely filled.
21972
21973 2005-10-27  Wim Taymans  <wim@fluendo.com>
21974
21975         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21976         (gst_base_sink_do_sync), (gst_base_sink_get_position):
21977         Some more debugging.
21978
21979         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
21980         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
21981         (gst_base_transform_event), (gst_base_transform_getrange),
21982         (gst_base_transform_chain):
21983         * gst/base/gstbasetransform.h:
21984         Fix debugging,
21985         Protect transform and concurrent buffer alloc with a new lock.
21986         Try not to break ABI/API.
21987
21988 2005-10-27  Wim Taymans  <wim@fluendo.com>
21989
21990         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
21991         (gst_base_src_init), (gst_base_src_query),
21992         (gst_base_src_default_newsegment),
21993         (gst_base_src_configure_segment), (gst_base_src_do_seek),
21994         (gst_base_src_send_event), (gst_base_src_event_handler),
21995         (gst_base_src_pad_get_range), (gst_base_src_loop),
21996         (gst_base_src_unlock), (gst_base_src_default_negotiate),
21997         (gst_base_src_start), (gst_base_src_deactivate),
21998         (gst_base_src_activate_push), (gst_base_src_change_state):
21999         Move some stuff around and cleanup things.
22000
22001 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
22002
22003         * gst/base/gstbasesrc.c: (gst_base_src_query):
22004           Add missing break statements.
22005
22006 2005-10-27  Wim Taymans  <wim@fluendo.com>
22007
22008         * check/gst/gstbin.c: (GST_START_TEST):
22009         An extra refcount is taken in basesrc.
22010
22011         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
22012         (gst_base_src_get_range), (gst_base_src_pad_get_range),
22013         (gst_base_src_loop):
22014         Small cleanups, check for flushing after being unlocked from the 
22015         LIVE_LOCK. take refcounts correctly (not yet everywhere).
22016         Don't send out EOS when going to READY.
22017
22018 2005-10-27  Wim Taymans  <wim@fluendo.com>
22019
22020         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22021         (gst_base_sink_get_position):
22022         Some more debug.
22023
22024         * gst/gstbin.c: (message_check), (bin_replace_message),
22025         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22026         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22027         (bin_query_duration_init), (bin_query_duration_fold),
22028         (bin_query_duration_done), (bin_query_generic_fold),
22029         (gst_bin_query):
22030         * tools/gst-launch.c: (main):
22031         Remove old option.
22032
22033 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
22034
22035         * examples/controller/audio-example.c: (main):
22036         * examples/queue/queue.c: (event_loop):
22037         * gst/base/gstbasetransform.h:
22038         * gst/gstelement.c: (gst_element_send_event):
22039         * gst/gstevent.h:
22040         * gst/gstpad.c: (gst_pad_send_event):
22041           fixing examples
22042           fixing docs typos
22043           changing log priority in error situations
22044
22045 2005-10-25  Wim Taymans  <wim@fluendo.com>
22046
22047         * gst/gstbin.c: (message_check), (bin_replace_message),
22048         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22049         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22050         (bin_query_duration_init), (bin_query_duration_fold),
22051         (bin_query_duration_done), (bin_query_generic_fold),
22052         (gst_bin_query):
22053         Some doc and debug updates.
22054         Cache previously requested query DURATION for speed. invalidate
22055         cached duration if element posts a DURATION message.
22056
22057 2005-10-25  Wim Taymans  <wim@fluendo.com>
22058
22059         * docs/design/part-TODO.txt:
22060         Update TODO.
22061
22062         * gst/gstbin.c: (message_check), (bin_replace_message),
22063         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22064         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
22065         (bin_query_duration_init), (bin_query_duration_fold),
22066         (bin_query_duration_done), (bin_query_generic_fold),
22067         (gst_bin_query):
22068         Handle SEGMENT_START/DONE messages correctly.
22069         More evolved query algorithm that handles duration queries
22070         correctly.
22071
22072         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
22073         (gst_element_get_state_func), (gst_element_abort_state),
22074         (gst_element_commit_state), (gst_element_lost_state):
22075         Some more debugging.
22076
22077         * gst/gstmessage.h:
22078         Added doc.
22079
22080 2005-10-25  Wim Taymans  <wim@fluendo.com>
22081
22082         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
22083         Don't use invalid stream_time.
22084
22085         * gst/gstevent.c: (gst_event_new_newsegment):
22086         stream_time in newsegment cannot be undefined.
22087
22088 2005-10-24  Wim Taymans  <wim@fluendo.com>
22089
22090         * gst/gstbus.c:
22091         Doc fix.
22092
22093         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22094         (gst_queue_loop):
22095         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
22096
22097 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
22098
22099         * docs/libs/tmpl/gstdparam.sgml:
22100         * docs/libs/tmpl/gstdplinint.sgml:
22101         * docs/libs/tmpl/gstdpman.sgml:
22102         * docs/libs/tmpl/gstdpsmooth.sgml:
22103         * docs/libs/tmpl/gstunitconvert.sgml:
22104           these are obsolete
22105
22106 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22107
22108         * configure.ac:
22109           back to HEAD
22110
22111 === release 0.9.4 ===
22112
22113 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22114
22115         * configure.ac:
22116           releasing 0.9.4, "Tyrannosaurus Rex"
22117
22118 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
22119
22120         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22121         (gst_file_sink_get_current_offset):
22122           Use fseeko() and ftello() if available. When falling back on
22123           lseek() to get the current offset, fflush() first to make sure
22124           everything is up-to-date and we get the right offset.
22125
22126 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22127
22128         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22129         * gst/base/gstbasesrc.c: (gst_base_src_loop):
22130         * gst/gsterror.c: (_gst_stream_errors_init):
22131         * gst/gsterror.h:
22132         * gst/gstqueue.c: (gst_queue_loop):
22133         * po/POTFILES.in:
22134           remove prematurely added error category and clean up the instances
22135
22136 2005-10-21  Wim Taymans  <wim@fluendo.com>
22137
22138         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22139         (gst_base_sink_get_position), (gst_base_sink_query),
22140         (gst_base_sink_change_state):
22141         Simply set the right flag when going to playing, that's all
22142         we need to do instead of calling a function inside the object
22143         lock (that could take the lock as well and deadlock)
22144
22145 2005-10-21  Wim Taymans  <wim@fluendo.com>
22146
22147         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
22148         (gst_base_src_loop):
22149         Don't warn, the peer element knows what to do best when
22150         the seek failed, it might try something else.
22151
22152 2005-10-21  Wim Taymans  <wim@fluendo.com>
22153
22154         * gst/base/gstbasesrc.c: (gst_base_src_init),
22155         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
22156         Fix seeking.
22157
22158 2005-10-21  Wim Taymans  <wim@fluendo.com>
22159
22160         * docs/design/part-segments.txt:
22161         More docs.
22162
22163         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
22164         Correctly set caps, even on the subbufer.
22165
22166 2005-10-21  Wim Taymans  <wim@fluendo.com>
22167
22168         * docs/gst/gstreamer-docs.sgml:
22169         * docs/gst/gstreamer-sections.txt:
22170         * gst/gstelement.h:
22171         * gst/gstevent.c:
22172         * gst/gstevent.h:
22173         * gst/gstmessage.h:
22174         * gst/gstpad.h:
22175         * gst/gstparse.h:
22176         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
22177         * gst/gsttask.h:
22178         * gst/gstutils.c:
22179         * gst/gstutils.h:
22180         And 2% more doc coverage.
22181
22182 2005-10-21  Andy Wingo  <wingo@pobox.com>
22183
22184         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
22185         position reporting.
22186
22187 2005-10-20  Wim Taymans  <wim@fluendo.com>
22188
22189         * gst/gsterror.c: (gst_error_get_message):
22190         * gst/gstparse.h:
22191         * gst/gstquery.h:
22192         * gst/gststructure.c:
22193         * gst/gsttrace.c:
22194         * gst/gstutils.c:
22195         More docs.
22196
22197 2005-10-20  Wim Taymans  <wim@fluendo.com>
22198
22199         * gst/gstbuffer.h:
22200         * gst/gstpad.c:
22201         * gst/gstparse.c:
22202         Another 1% more coverage.
22203
22204 2005-10-20  Wim Taymans  <wim@fluendo.com>
22205
22206         * docs/gst/gstreamer-sections.txt:
22207         * gst/gstelement.c: (gst_element_get_state_func),
22208         (gst_element_abort_state), (gst_element_commit_state),
22209         (gst_element_lost_state):
22210         * gst/gstevent.h:
22211         * gst/gstquery.c: (gst_query_set_position),
22212         (gst_query_parse_position), (gst_query_set_duration),
22213         (gst_query_parse_duration), (gst_query_new_convert):
22214         * gst/gstutils.c:
22215         Yay! 1% more docs coverage.
22216
22217 2005-10-20  Wim Taymans  <wim@fluendo.com>
22218
22219         * gst/gstpad.h:
22220         * gst/gstquery.c: (gst_query_set_position),
22221         (gst_query_parse_position), (gst_query_set_duration),
22222         (gst_query_parse_duration), (gst_query_new_convert):
22223         * gst/gstquery.h:
22224         * gst/gstutils.c: (gst_element_query_convert):
22225         * gst/gstutils.h:
22226         Docs and consistency fixes.
22227
22228 2005-10-20  Wim Taymans  <wim@fluendo.com>
22229
22230         * gst/gsttask.c:
22231         * gst/gsttask.h:
22232         More docs.
22233
22234 2005-10-20  Wim Taymans  <wim@fluendo.com>
22235
22236         * gst/gstbin.c: (message_check), (bin_replace_message),
22237         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22238         (update_degree), (gst_bin_sort_iterator_next),
22239         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
22240         Reworked the message handling a bit, cache the messages instead of
22241         only the senders. alows us to do more in the future.
22242
22243 2005-10-20  Wim Taymans  <wim@fluendo.com>
22244
22245         * docs/design/part-TODO.txt:
22246         Update TODO
22247
22248         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22249         (gst_base_sink_query):
22250         Don't use clock time to report position when in EOS.
22251
22252 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
22253
22254         * tools/gst-inspect.c: (print_interfaces),
22255         (print_element_properties_info), (print_element_info):
22256           Fix interface output with gst-inspect -a; don't print
22257           newlines after double/float properties.
22258
22259 2005-10-20  Wim Taymans  <wim@fluendo.com>
22260
22261         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22262         (gst_base_sink_query):
22263         Speed up current position calculation.
22264
22265         * gst/base/gstbasesrc.c: (gst_base_src_query),
22266         (gst_base_src_default_newsegment):
22267         Correctly set stream position in newsegment.
22268
22269         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
22270         (update_degree), (gst_bin_sort_iterator_next),
22271         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
22272         * gst/gstmessage.c: (gst_message_new_custom):
22273         Clean up debugging info
22274
22275         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22276         (gst_queue_loop), (gst_queue_handle_src_query):
22277         Pause task faster.
22278
22279 2005-10-19  Wim Taymans  <wim@fluendo.com>
22280
22281         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22282         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22283         Fix query handling again.
22284
22285 2005-10-19  Wim Taymans  <wim@fluendo.com>
22286
22287         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22288         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22289         * gst/base/gstbasesrc.c: (gst_base_src_query):
22290         * gst/elements/gstfilesink.c: (gst_file_sink_query):
22291         * gst/elements/gsttypefindelement.c:
22292         (gst_type_find_handle_src_query), (find_element_get_length),
22293         (gst_type_find_element_activate):
22294         API change fix.
22295
22296         * gst/gstquery.c: (gst_query_new_position),
22297         (gst_query_set_position), (gst_query_parse_position),
22298         (gst_query_new_duration), (gst_query_set_duration),
22299         (gst_query_parse_duration), (gst_query_set_segment),
22300         (gst_query_parse_segment):
22301         * gst/gstquery.h:
22302         Bundling query position/duration is not a good idea since duration
22303         does not change much and we don't want to recalculate it for every
22304         position query, so they are separated again..
22305         Base value in segment query is not needed.
22306
22307         * gst/gstqueue.c: (gst_queue_handle_src_query):
22308         * gst/gstutils.c: (gst_element_query_position),
22309         (gst_element_query_duration), (gst_pad_query_position),
22310         (gst_pad_query_duration):
22311         * gst/gstutils.h:
22312         Updates for query API change.
22313         Added some docs here and there.
22314
22315 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22316
22317         * check/gst/gstbin.c: (GST_START_TEST):
22318         * check/gst/gstghostpad.c: (GST_START_TEST):
22319         * check/pipelines/cleanup.c: (GST_START_TEST):
22320           wait on thread to die so we can check refcount correctly
22321
22322 2005-10-18  Wim Taymans  <wim@fluendo.com>
22323
22324         * check/pipelines/stress.c: (GST_START_TEST):
22325         Make check a little more time consuming.
22326
22327 2005-10-18  Wim Taymans  <wim@fluendo.com>
22328
22329         * check/Makefile.am:
22330         * check/pipelines/stress.c: (GST_START_TEST),
22331         (simple_launch_lines_suite), (main):
22332         Small state change torture test.
22333
22334         * docs/design/part-states.txt:
22335         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22336         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
22337         (gst_base_sink_change_state):
22338         Never take state lock from streaming thread, clean up ugly
22339         hacks. Unfortunatly core does not yet support nice ways to
22340         async commit state.
22341         
22342         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
22343         (bin_bus_handler):
22344         Start state recalc if a STATE_DIRTY message is posted, but only
22345         on the toplevel bin.
22346
22347         * gst/gstelement.c: (gst_element_sync_state_with_parent),
22348         (gst_element_get_state_func), (gst_element_abort_state),
22349         (gst_element_commit_state), (gst_element_lost_state),
22350         (gst_element_set_state_func), (gst_element_change_state):
22351         * gst/gstelement.h:
22352         State variables are now protected with the LOCK, the state
22353         lock is only used to serialize _set_state().
22354
22355 2005-10-18  Wim Taymans  <wim@fluendo.com>
22356
22357         * check/gst/gstbin.c: (GST_START_TEST):
22358         * check/gst/gstmessage.c: (GST_START_TEST):
22359         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22360         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
22361         (bin_bus_handler):
22362         * gst/gstelement.c: (gst_element_abort_state),
22363         (gst_element_commit_state), (gst_element_lost_state):
22364         * gst/gstmessage.c: (gst_message_new_state_changed),
22365         (gst_message_new_state_dirty), (gst_message_new_segment_start),
22366         (gst_message_new_segment_done), (gst_message_new_duration),
22367         (gst_message_parse_state_changed),
22368         (gst_message_parse_segment_start),
22369         (gst_message_parse_segment_done), (gst_message_parse_duration):
22370         * gst/gstmessage.h:
22371         * tools/gst-launch.c: (event_loop):
22372         Seriously, this is better than a previous commit as we only need
22373         to notify the fact that an element changed state in a streaming
22374         thread, marking the state of the parents dirty, hence the 
22375         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
22376         message.
22377
22378 2005-10-18  Wim Taymans  <wim@fluendo.com>
22379
22380         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
22381         (gst_bin_recalc_func):
22382         * gst/gstelement.c: (gst_element_set_clock),
22383         (gst_element_abort_state), (gst_element_lost_state):
22384         Cleanups, prepare for state change fixes.
22385
22386 2005-10-18  Wim Taymans  <wim@fluendo.com>
22387
22388         * gst/gstbin.h:
22389         * gst/gstelement.c: (gst_element_class_init),
22390         (gst_element_set_state), (gst_element_set_state_func):
22391         * gst/gstelement.h:
22392         Pending ABI changes.
22393         GThreadPool in GstBinClass to monitor async state changes.
22394         state_cookie in GstElement to detect concurrent gst/set state.
22395         set_state is now virtual too in case a very complicated element
22396         has to be constructed.
22397
22398 2005-10-18  Wim Taymans  <wim@fluendo.com>
22399
22400         * check/gst/gstbin.c: (GST_START_TEST):
22401         * check/gst/gstmessage.c: (GST_START_TEST):
22402         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22403         * gst/gstbin.c: (bin_bus_handler):
22404         * gst/gstelement.c: (gst_element_commit_state),
22405         (gst_element_lost_state):
22406         * gst/gstmessage.c: (gst_message_new_state_changed),
22407         (gst_message_new_segment_start), (gst_message_new_segment_done),
22408         (gst_message_new_duration), (gst_message_parse_state_changed),
22409         (gst_message_parse_segment_start),
22410         (gst_message_parse_segment_done), (gst_message_parse_duration):
22411         * gst/gstmessage.h:
22412         * tools/gst-launch.c: (event_loop):
22413         Make messages future proof.
22414         state-change gets a flag if it was a message comming from the
22415         streaming thread.
22416         segment-start/stop can also be specified in other formats.
22417         A message to notify an app that a pipeline changed playback 
22418         duration.
22419         Also fix a GstMessage leak in -launch
22420
22421 2005-10-18  Andy Wingo  <wingo@pobox.com>
22422
22423         * gst/gstelement.c (gst_element_dispose): More helpful message.
22424
22425 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22426
22427         reviewed by: <delete if not using a buddy>
22428
22429         * common/gtk-doc.mak:
22430
22431 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22432
22433         * gst/gstregistry.c: (gst_registry_scan_path_level):
22434           unref a plug-in we get that was already initialized
22435
22436 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
22437
22438         * docs/gst/gstreamer-sections.txt:
22439         * docs/libs/gstreamer-libs-sections.txt:
22440         * gst/gstelement.h:
22441           add new api entries
22442           hide internal macro
22443
22444 2005-10-17  Andy Wingo  <wingo@pobox.com>
22445
22446         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
22447         cleanup.
22448
22449         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
22450
22451         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
22452
22453         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
22454         (gst_element_get_state_func): Better debug message.
22455         (gst_element_commit_state): s/INFO/DEBUG/.
22456         (gst_element_lost_state, gst_element_change_state): 
22457
22458         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
22459         (gst_message_new_custom): s/INFO/LOG/.
22460
22461 2005-10-17  Michael Smith <msmith@fluendo.com>
22462
22463         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
22464           Check if end time is valid using end time, not start time.
22465
22466 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
22467
22468         * check/gst-libs/controller.c: (GST_START_TEST),
22469         (gst_controller_suite):
22470         * libs/gst/controller/gstcontroller.c:
22471         (gst_controlled_property_set_interpolation_mode):
22472         * libs/gst/controller/gstcontroller.h:
22473         * libs/gst/controller/gstinterpolation.c:
22474         * testsuite/controller/.cvsignore:
22475         * testsuite/controller/Makefile.am:
22476         * testsuite/controller/interpolator.c:
22477           merge controller testsuites
22478           fix broken tests
22479           remove mem-chunk from docs
22480
22481 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22482
22483         * gst/gstmemchunk.c:
22484         * gst/gstmemchunk.h:
22485         * gst/gsttrashstack.c:
22486         * gst/gsttrashstack.h:
22487           out.  get out.  you're fired.  to the Attic !
22488
22489 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22490
22491         * gst/gstcaps.c: (gst_caps_intersect):
22492           fix signedness issues in a (hopefully) correct way
22493         * gst/gstelement.c: (gst_element_pads_activate):
22494           some debugging
22495         * gst/gstobject.c: (gst_object_set_parent):
22496           some debugging
22497
22498 2005-10-17  Julien MOUTTE  <julien@moutte.net>
22499
22500         * gst/gstvalue.h: Fix prototypes.
22501
22502 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22503
22504         * docs/gst/gstreamer-sections.txt:
22505         * gst/gst.c: (gst_version_string):
22506         * gst/gst.h:
22507         * gst/gstversion.h.in:
22508         * win32/common/libgstreamer.def:
22509           add gst_version_string ()
22510
22511 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22512
22513         * configure.ac:
22514           clean up further
22515         * gst/gst.c: (init_post):
22516         * win32/common/config.h.in:
22517           it's PLUGINDIR now
22518         * gst/gstcaps.c: (gst_caps_intersect):
22519           use gint64, the range could be bigger than a guint
22520
22521 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22522
22523         * gst/gstclock.h:
22524           document potential problem in 2038
22525
22526 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22527
22528         * gst/gstcaps.c: (gst_caps_intersect):
22529           Fix guint j diving under 0
22530
22531 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22532
22533         * configure.ac:
22534         * win32/common/config.h:
22535         * win32/common/config.h.in:
22536           check for process.h, declares getpid() on Windows
22537         * gst/gstinfo.c:
22538           include process.h if we have it
22539         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
22540         * gst/gstmemchunk.h:
22541           fix signedness issues
22542         * win32/common/libgstreamer.def:
22543           fix get_type's
22544
22545 2005-10-16  Julien MOUTTE  <julien@moutte.net>
22546
22547         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
22548         fix. Because of unsigned ints, caps intersection was going nuts and
22549         trying to access structures with G_MAXUINT index. That fixes
22550         videotestsrc ! ffmpegcolorspace ! fakesink
22551         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
22552         consistency.
22553
22554 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22555
22556         * configure.ac:
22557           use the gettext macro
22558         * gst/elements/gstelements.c:
22559         * gst/gst.c:
22560         * gst/indexers/gstindexers.c:
22561           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
22562         * win32/common/config.h:
22563           updated config.h
22564         * win32/common/config.h.in:
22565           add the template to generate config.h
22566         * win32/common/gstenumtypes.c:
22567         * win32/common/gstversion.h:
22568           updated copies
22569
22570 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22571
22572         * gst/gst.c: (gst_version):
22573         * gst/gstversion.h.in:
22574           add the nano
22575
22576 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22577
22578         * gst/gstevent.h:
22579           Oops, add missing closing bracket.
22580
22581 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22582
22583         * configure.ac:
22584           use common m4's for argument checking
22585
22586 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22587
22588         * docs/gst/gstreamer-sections.txt:
22589         * gst/gstevent.h:
22590           Add GST_EVENT_TYPE_NAME() macro.
22591
22592 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22593
22594         * gst/gstinfo.c:
22595         * gst/gstpluginfeature.c:
22596         * gst/gsttask.c:
22597           privatize more symbols
22598
22599 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22600
22601         * configure.ac:
22602           add srcdir, builddir includes to GST_ALL_CFLAGS, since
22603           everything that uses GStreamer API should have the includes
22604
22605 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22606
22607         * docs/gst/gstreamer-sections.txt:
22608         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
22609         * gst/gstvalue.h:
22610           give each value a _get_type, removes the DATA exports
22611
22612 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22613
22614         * gst/gst.c:
22615         * gst/gst.h:
22616           remove _gst_registry_auto_load, not used anymore
22617         * gst/gstbin.c: (gst_bin_get_type):
22618         * gst/gstbin.h:
22619         * gst/gstelement.c: (gst_element_get_type):
22620         * gst/gstelement.h:
22621         * gst/gstobject.c: (gst_object_get_type):
22622         * gst/gstobject.h:
22623         * gst/gstpad.c: (gst_pad_get_type):
22624         * gst/gstpad.h:
22625           make _get_type functions similar, fixes data export from library
22626
22627 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22628
22629         * configure.ac:
22630           correctly make conditionals
22631         * gst/elements/Makefile.am:
22632         * gst/elements/gstelements.c:
22633           fix typo causing fdsrc not to build
22634
22635 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22636
22637         * testsuite/Makefile.am:
22638         * testsuite/bytestream/.cvsignore:
22639         * testsuite/bytestream/Makefile.am:
22640         * testsuite/bytestream/filepadsink.c:
22641         * testsuite/bytestream/gstbstest.c:
22642         * testsuite/bytestream/test1.c:
22643         * testsuite/bytestream/testfile1:
22644         * testsuite/caps/normalisation.c:
22645         * testsuite/caps/random.c: (main):
22646         * testsuite/cleanup/.cvsignore:
22647         * testsuite/cleanup/Makefile.am:
22648         * testsuite/cleanup/cleanup1.c:
22649         * testsuite/cleanup/cleanup2.c:
22650         * testsuite/cleanup/cleanup3.c:
22651         * testsuite/cleanup/cleanup4.c:
22652         * testsuite/cleanup/cleanup5.c:
22653         * testsuite/controller/interpolator.c:
22654         * testsuite/debug/printf_extension.c: (main):
22655         * testsuite/elements/tee.c:
22656         * testsuite/negotiation/.cvsignore:
22657         * testsuite/negotiation/Makefile.am:
22658         * testsuite/negotiation/pad_link.c:
22659         * testsuite/pad/Makefile.am:
22660         * testsuite/pad/chainnopull.c:
22661         * testsuite/pad/getnopush.c:
22662         * testsuite/pad/link.c:
22663         * testsuite/refcounting/sched.c: (create_pipeline):
22664         * testsuite/registry/Makefile.am:
22665         * testsuite/registry/gst-print-formats.c:
22666         * testsuite/schedulers/.cvsignore:
22667         * testsuite/schedulers/142183-2.c:
22668         * testsuite/schedulers/142183.c:
22669         * testsuite/schedulers/143777-2.c:
22670         * testsuite/schedulers/143777.c:
22671         * testsuite/schedulers/147713.c:
22672         * testsuite/schedulers/147819.c:
22673         * testsuite/schedulers/147894-2.c:
22674         * testsuite/schedulers/147894.c:
22675         * testsuite/schedulers/Makefile.am:
22676         * testsuite/schedulers/group_link.c:
22677         * testsuite/schedulers/queue_link.c:
22678         * testsuite/schedulers/relink.c:
22679         * testsuite/schedulers/unlink.c:
22680         * testsuite/schedulers/unref.c:
22681         * testsuite/schedulers/useless_iteration.c:
22682         * testsuite/states/bin.c:
22683           clean out/remove some stuff from the testsuite directories
22684
22685 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22686
22687         * configure.ac:
22688           check for some headers
22689         * gst/elements/Makefile.am:
22690         * gst/elements/gstelements.c:
22691           don't compile fdsrc without sys/socket.h
22692         * gst/indexers/Makefile.am:
22693         * gst/indexers/gstindexers.c: (plugin_init):
22694           don't compile fileindex without mmap
22695
22696 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22697
22698         * configure.ac:
22699           reorganize
22700           clean up
22701           document more
22702           remove cruft
22703         * check/Makefile.am:
22704         * docs/gst/Makefile.am:
22705         * examples/helloworld/Makefile.am:
22706         * gst/Makefile.am:
22707         * gst/base/Makefile.am:
22708         * gst/check/Makefile.am:
22709         * gst/elements/Makefile.am:
22710         * gst/indexers/Makefile.am:
22711         * gst/parse/Makefile.am:
22712         * libs/gst/controller/Makefile.am:
22713         * libs/gst/dataprotocol/Makefile.am:
22714         * examples/helloworld/helloworld.c: (event_loop):
22715           compile fixes, though it's not being compiled currently
22716
22717 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22718
22719         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
22720           Add some simple tests for the new taglist date API.
22721
22722 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22723
22724         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
22725         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
22726           Beautify 'last-message' output: print 'none' for buffer timestamps
22727           and durations if none is set; improve alignment with next messages.
22728
22729 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22730
22731         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
22732         * gst/gstpluginfeature.h:
22733         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
22734         * gst/gstregistry.h:
22735         * docs/gst/gstreamer-sections.txt:
22736           Add new API to check plugin feature version requirements.
22737
22738         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
22739           Some basic tests for the above.         
22740
22741 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22742
22743         * gst/gststructure.c: (gst_structure_to_string):
22744           guard against NULL printf - happens when for example
22745           a message structure with GstClock gets serialized
22746
22747 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
22748
22749         * gst/base/gstcollectpads.c: (gst_collectpads_event):
22750           Fix presumable copy'n'pasto.
22751
22752 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22753
22754         * gst/elements/gstfakesrc.h:
22755         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
22756         * gst/elements/gsttypefindelement.c:
22757           fix some signedness
22758         * gst/elements/gstfilesink.c: (gst_file_sink_render):
22759           I wonder if this could actually write +2GB files before
22760
22761 2005-10-13  Andy Wingo  <wingo@pobox.com>
22762
22763         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
22764         Fix Timmeke Waymans bug.
22765         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
22766         string of the proper length to gst_caps_from_string. There's a
22767         potential for, before this fix, that this could cause someone
22768         connecting over the network to cause a segfault if the payload is
22769         not NUL-terminated.
22770
22771 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
22772
22773         * docs/design/draft-push-pull.txt:
22774         * docs/design/part-overview.txt:
22775         * docs/random/TODO-pre-0.9:
22776         * docs/random/old/ChangeLog.gstreamer:
22777         * gst/base/gstpushsrc.c:
22778         * gst/gstclock.c:
22779           fixed typos
22780
22781 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22782
22783         * gst/glib-compat.c: (gst_flags_get_first_value):
22784         * gst/glib-compat.h:
22785         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
22786         (gst_value_compare_double), (gst_value_serialize_flags):
22787           GLib 2.6 g_flags_get_first_value has a bug that triggers an
22788           infinite loop
22789
22790 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22791
22792         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22793         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22794           fix up debugging
22795         * tools/gst-launch.c: (event_loop):
22796           print out clock nicely
22797
22798 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
22799
22800         * docs/gst/gstreamer-sections.txt:
22801         * gst/gsttaglist.h:
22802         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
22803         (gst_tag_list_get_date_index):
22804           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
22805           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
22806
22807 2005-10-13  Julien MOUTTE  <julien@moutte.net>
22808
22809         * gst/base/gstcollectpads.c: (gst_collectpads_event),
22810         (gst_collectpads_chain):
22811         * gst/base/gstcollectpads.h: Handle newsegment and store informations
22812         in CollectData.
22813
22814 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
22815
22816         * docs/gst/gstreamer-sections.txt:
22817         * gst/gst.c:
22818         * gst/gsterror.h:
22819         * tools/gst-inspect.c: (main):
22820         * tools/gst-launch.c: (main):
22821         * tools/gst-run.c: (main):
22822         * tools/gst-xmlinspect.c: (main):
22823           fix GOption context leaks
22824           doc fixes
22825
22826 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22827
22828         * gst/gstbus.c:
22829           use HAVE_UNISTD_H
22830         * win32/common/config.h:
22831           update config
22832         * win32/vs6/grammar.dsp:
22833         * win32/vs6/libgstelements.dsp:
22834         * win32/vs6/libgstreamer.dsp:
22835           update vs6 files
22836
22837 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22838
22839         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22840         * gst/base/gstbasesrc.c: (gst_base_src_query):
22841           fix more guint64<->gdouble conversions
22842
22843 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22844
22845         * Makefile.am:
22846           add win32-update target
22847         * win32/common/gstconfig.h:
22848         * win32/common/gstenumtypes.c:
22849         * win32/common/gstenumtypes.h:
22850         * win32/common/gstversion.h:
22851           add files that visual studio can't generate
22852
22853 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22854
22855         * Makefile.am:
22856           add a win32-update target
22857         * configure.ac:
22858
22859 2005-10-12  Wim Taymans  <wim@fluendo.com>
22860
22861         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22862         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
22863         * gst/gstelement.c: (gst_element_commit_state),
22864         (gst_element_set_state):
22865         Protect flags with proper lock.
22866         unref provided cached clock in dispose.
22867
22868 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
22869
22870         * gst/gst.c:
22871         * gst/gstminiobject.h:
22872         * gst/gstpad.h:
22873         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
22874           removed unused flags from miniobject
22875           doc fixes
22876
22877 2005-10-12  Wim Taymans  <wim@fluendo.com>
22878
22879         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22880         (gst_file_sink_event), (gst_file_sink_render):
22881         Flush before seeking.
22882
22883 2005-10-12  Andy Wingo  <wingo@pobox.com>
22884
22885         * gst/gst.c (gst_init_check): Ignore unknown options, as has
22886         always been the case.
22887
22888 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
22889
22890         * check/gst/gstbin.c: (GST_START_TEST):
22891         * docs/gst/gstreamer-sections.txt:
22892         * gst/base/gstbasesink.c: (gst_base_sink_init):
22893         * gst/base/gstbasesrc.c: (gst_base_src_init),
22894         (gst_base_src_get_range), (gst_base_src_check_get_range),
22895         (gst_base_src_start), (gst_base_src_stop):
22896         * gst/base/gstbasesrc.h:
22897         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
22898         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22899         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
22900         (bin_bus_handler):
22901         * gst/gstbin.h:
22902         * gst/gstbuffer.h:
22903         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
22904         * gst/gstbus.h:
22905         * gst/gstelement.c: (gst_element_is_locked_state),
22906         (gst_element_set_locked_state), (gst_element_commit_state),
22907         (gst_element_set_state):
22908         * gst/gstelement.h:
22909         * gst/gstindex.c: (gst_index_init):
22910         * gst/gstindex.h:
22911         * gst/gstminiobject.h:
22912         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
22913         (gst_object_set_parent):
22914         * gst/gstobject.h:
22915         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
22916         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
22917         * gst/gstpad.h:
22918         * gst/gstpadtemplate.h:
22919         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
22920         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
22921         * gst/gstpipeline.h:
22922         * gst/indexers/gstfileindex.c: (gst_file_index_load),
22923         (gst_file_index_commit):
22924         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
22925         * testsuite/pad/link.c: (gst_test_src_init),
22926         (gst_test_filter_init), (gst_test_sink_init):
22927         * testsuite/states/locked.c: (main):
22928           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
22929           moved bitshift from macro to enum definition
22930
22931 2005-10-12  Wim Taymans  <wim@fluendo.com>
22932
22933         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
22934         * gst/elements/gstfilesink.c: (gst_file_sink_event),
22935         (gst_file_sink_render):
22936         Some more debugging info.
22937
22938 2005-10-12  Wim Taymans  <wim@fluendo.com>
22939
22940         * docs/design/part-states.txt:
22941         * tools/gst-launch.c: (main):
22942         Some doc updates.
22943         Revert non-intentional change.
22944
22945 2005-10-12  Wim Taymans  <wim@fluendo.com>
22946
22947         * check/gst/gstbin.c: (GST_START_TEST):
22948         * check/gst/gstelement.c: (GST_START_TEST):
22949         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
22950         * check/gst/gstghostpad.c: (GST_START_TEST):
22951         * check/gst/gstpipeline.c: (GST_START_TEST):
22952         * check/pipelines/simple_launch_lines.c: (run_pipeline):
22953         * check/states/sinks.c: (GST_START_TEST):
22954         * gst/elements/gsttypefindelement.c: (stop_typefinding):
22955         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
22956         (gst_bin_remove_func), (gst_bin_get_state_func),
22957         (gst_bin_recalc_state), (gst_bin_change_state_func),
22958         (bin_bus_handler):
22959         * gst/gstelement.c: (gst_element_get_state_func),
22960         (gst_element_get_state), (gst_element_abort_state),
22961         (gst_element_commit_state), (gst_element_set_state),
22962         (gst_element_change_state), (gst_element_change_state_func):
22963         * gst/gstelement.h:
22964         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
22965         (gst_pipeline_provide_clock_func):
22966         * gst/gstutils.c: (gst_element_link_pads_filtered):
22967         * tools/gst-launch.c: (main):
22968         * tools/gst-typefind.c: (main):
22969         Use GstClockTime in _get_state() instead of GTimeVal.
22970         Remove old code in gstutils.c
22971
22972 2005-10-12  Andy Wingo  <wingo@pobox.com>
22973
22974         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
22975         removed.
22976
22977         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
22978         there is no task. Shouldn't affect any code, as nothing in our
22979         plugins checks this return value.
22980         (gst_pad_stop_task): Also take the stream lock if the pad has no
22981         task. Docs updated.
22982
22983 2005-10-12  Wim Taymans  <wim@fluendo.com>
22984
22985         * gst/gstpad.c: (pre_activate), (post_activate),
22986         (gst_pad_activate_pull), (gst_pad_activate_push):
22987         Cleanup activation code. Reset old state if
22988         activation failed.
22989
22990 2005-10-12  Wim Taymans  <wim@fluendo.com>
22991
22992         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22993         (gst_base_sink_change_state):
22994         No need to prerol after receiving EOS.
22995
22996         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
22997         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
22998         * gst/elements/gstidentity.c: (gst_identity_event):
22999         Print events more verbosely.
23000
23001 2005-10-12  Wim Taymans  <wim@fluendo.com>
23002
23003         * check/Makefile.am:
23004         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
23005         * check/states/sinks2.c:
23006         Moved sinks2 testcode in sinks check.
23007
23008         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
23009         (gst_bin_remove_func), (gst_bin_recalc_state),
23010         (gst_bin_change_state_func), (bin_bus_handler):
23011         Fix potential race condition when _get_state() iterated over an
23012         ASYNC element right before it posted a state completion.
23013
23014         * gst/gstclock.h:
23015         Do proper cast here.
23016
23017         * gst/gstevent.c: (gst_event_new_newsegment),
23018         (gst_event_parse_newsegment):
23019         A playback rate of 0.0 is not allowed.
23020
23021 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23022
23023         * win32/common/config.h:
23024         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
23025         (_trewinddir), (_ttelldir), (_tseekdir):
23026         * win32/common/dirent.h:
23027         * win32/common/gtchar.h:
23028         * win32/common/libgstbase.def:
23029         * win32/common/libgstreamer.def:
23030         * win32/vs6/grammar.dsp:
23031         * win32/vs6/gst_inspect.dsp:
23032         * win32/vs6/gst_launch.dsp:
23033         * win32/vs6/gstreamer.dsw:
23034         * win32/vs6/libgstbase.dsp:
23035         * win32/vs6/libgstelements.dsp:
23036         * win32/vs6/libgstreamer.dsp:
23037           Visual Studio 6 project files, and a new common directory.
23038           Phear.
23039
23040 2005-10-11  Wim Taymans  <wim@fluendo.com>
23041
23042         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23043         (gst_base_sink_do_sync), (gst_base_sink_query),
23044         (gst_base_sink_change_state):
23045         * gst/base/gstbasesink.h:
23046         Correctly parse newsegment info.
23047
23048 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23049
23050         * gst/gst.c: (init_post):
23051           split plugin paths correctly
23052
23053 2005-10-11  Wim Taymans  <wim@fluendo.com>
23054
23055         * check/gst/gstevent.c: (GST_START_TEST):
23056         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23057         (gst_base_sink_change_state):
23058         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
23059         * gst/base/gstbasetransform.c: (gst_base_transform_event):
23060         * gst/elements/gstfilesink.c: (gst_file_sink_event):
23061         * gst/gstevent.c: (gst_event_new_newsegment),
23062         (gst_event_parse_newsegment):
23063         * gst/gstevent.h:
23064         Added extra flag to newsegment for future API freeze.
23065         Updated check and base elements.
23066
23067 2005-10-11  Julien MOUTTE  <julien@moutte.net>
23068
23069         * gst/base/gstcollectpads.c: (gst_collectpads_init),
23070         (gst_collectpads_add_pad), (gst_collectpads_pop),
23071         (gst_collectpads_event), (gst_collectpads_chain):
23072         * gst/base/gstcollectpads.h: Handle EOS correctly.
23073
23074 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23075
23076         * tools/gst-launch.c: (main):
23077           more null protecting
23078
23079 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23080
23081         * gst/gst-i18n-lib.h:
23082           check for ENABLE_NLS, not GETTEXT_PACKAGE
23083         * gst/gstregistry.c: (gst_registry_add_plugin),
23084         (gst_registry_scan_path_level),
23085         (_gst_registry_remove_cache_plugins):
23086           protect possibly NULL strings
23087         * gst/parse/types.h:
23088           config.h already included before
23089         * tools/gst-inspect.c: (main):
23090           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
23091           check for ENABLE_NLS, not GETTEXT_PACKAGE
23092         * tools/gst-launch.c: (main):
23093           check for ENABLE_NLS, not GETTEXT_PACKAGE
23094
23095 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23096
23097         * configure.ac:
23098           if we don't have glib, fail before testing 2.8
23099         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
23100           fix a leak, should fix plugins-base testsuite
23101
23102 2005-10-11  Andy Wingo  <wingo@pobox.com>
23103
23104         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
23105         take the mode we're going to as an arg. Go head and set the mode
23106         and flushing flags now, so that if the activate function starts a
23107         thread all the flags will be in the right state.
23108         (post_activate): Renamed also. Just handle making sure streaming
23109         finishes for the deactivation case, and setting the deactivated
23110         mode.
23111         (gst_pad_set_active): Complain loudly if deactivation fails.
23112         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
23113         (gst_pad_activate_push): Adapt to pre/post_activate changes,
23114         remove the terrible hack.
23115
23116 2005-10-11  Wim Taymans  <wim@fluendo.com>
23117
23118         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23119         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
23120         (gst_bin_recalc_state), (gst_bin_change_state_func),
23121         (gst_bin_dispose), (bin_bus_handler):
23122         * gst/gstbin.h:
23123         Prepare to make current EOS message queue more generic.
23124         Fix some typos.
23125
23126         * gst/gstevent.c: (gst_event_new_newsegment),
23127         (gst_event_parse_newsegment):
23128         * gst/gstevent.h:
23129         Rename base to stream_time.
23130
23131         * gst/gstmessage.h:
23132         Fix typo in docs.
23133
23134 2005-10-11  Wim Taymans  <wim@fluendo.com>
23135
23136         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23137         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
23138         (gst_bin_change_state_func), (bin_bus_handler):
23139         * gst/gstbin.h:
23140         Work on proper clock selection.
23141
23142 2005-10-11  Edward Hervey  <edward@fluendo.com>
23143
23144         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
23145         * libs/gst/controller/gstcontroller.h:
23146         Added GList* version of _remove_properties() in order to be able to wrap
23147         it in bindings.
23148
23149 2005-10-11  Wim Taymans  <wim@fluendo.com>
23150
23151         * docs/design/part-states.txt:
23152         Some more docs.
23153
23154         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
23155         (gst_bin_change_state_func), (bin_bus_handler):
23156         Doc updates. Don't distribute the same clock over and over again.
23157
23158         * gst/gstclock.c:
23159         * gst/gstclock.h:
23160         Doc updates.
23161
23162         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
23163         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
23164         (gst_pad_send_event):
23165         * gst/gstpad.h:
23166         Make probe emission threadsafe again.
23167         Register quarks and move _get_name() from utils.
23168         Doc updates.
23169
23170         * gst/gstpipeline.c: (gst_pipeline_class_init),
23171         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23172         Only redistribute the clock of it changed.
23173
23174         * gst/gstsystemclock.h:
23175         Doc updates. 
23176
23177         * gst/gstutils.c:
23178         * gst/gstutils.h:
23179         Moved the _flow_get_name() to GstPad.
23180
23181 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23182
23183         * check/gst-libs/gdp.c: (GST_START_TEST):
23184         * check/gst/gstcaps.c: (GST_START_TEST):
23185         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
23186         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
23187         (gst_dp_packet_from_caps):
23188           fix more valgrind warnings before turning up the heat
23189
23190 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23191
23192         * gst/parse/grammar.y:
23193           some cleanup before the hacking
23194
23195 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23196
23197         * gst/base/gstbasesrc.c: (gst_base_src_query):
23198           use conversions
23199         * gst/gstutils.c: (gst_guint64_to_gdouble),
23200         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
23201         * gst/gstutils.h:
23202           externalize, basesrc uses it
23203           obviously the implementation needs testing
23204
23205 2005-10-10  Wim Taymans  <wim@fluendo.com>
23206
23207         * tests/sched/Makefile.am:
23208         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
23209         (make_pipeline3), (make_pipeline4), (print_elem), (main):
23210
23211 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23212
23213         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
23214           apparently converting from guint64 to double is not implemented
23215           on MSVC
23216
23217 2005-10-10  Wim Taymans  <wim@fluendo.com>
23218
23219         * check/Makefile.am:
23220         * check/generic/states.c: (GST_START_TEST):
23221         * check/gst/gstbin.c: (GST_START_TEST):
23222         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23223         * check/states/sinks.c: (GST_START_TEST):
23224         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
23225         (main):
23226         Check fixes, use API as stated in design docs, remove hacks.
23227
23228         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23229         (gst_base_sink_change_state):
23230         Catch stopping our task while we're shutting down.
23231
23232         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
23233         (gst_bin_remove_func), (gst_bin_get_state_func),
23234         (gst_bin_recalc_state), (gst_bin_change_state_func),
23235         (bin_bus_handler):
23236         * gst/gstbin.h:
23237         * gst/gstelement.c: (gst_element_init),
23238         (gst_element_get_state_func), (gst_element_abort_state),
23239         (gst_element_commit_state), (gst_element_lost_state),
23240         (gst_element_set_state), (gst_element_change_state),
23241         (gst_element_change_state_func):
23242         * gst/gstelement.h:
23243         New state change algorithm (see #318116)
23244
23245         * gst/gstpipeline.c: (gst_pipeline_class_init),
23246         (gst_pipeline_init), (gst_pipeline_set_property),
23247         (gst_pipeline_get_property), (do_pipeline_seek),
23248         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23249         * gst/gstpipeline.h:
23250         Remove crude state change hacks.
23251
23252         * gst/gstutils.h:
23253         Remove crude hacks.
23254
23255         * tools/gst-launch.c: (main):
23256         Fixes for state change. Needs some more work to fully use the
23257         new stuff.
23258
23259 2005-10-10  Andy Wingo  <wingo@pobox.com>
23260
23261         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
23262
23263         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
23264         this flag, but it's not even in GLib 2.6. Odd. Hack around the
23265         issue.
23266
23267 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23268
23269         * gst/gstiterator.c: (gst_iterator_new):
23270           Fix my previous commit: GTypes passed to gst_iterator_new()
23271           can be fundamental types.
23272
23273 2005-10-10  Wim Taymans  <wim@fluendo.com>
23274
23275         * gst/gstelement.c: (gst_element_iterate_pad_list),
23276         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
23277         (gst_element_iterate_sink_pads):
23278         Use src/sink pads lists for the respective iterators instead
23279         of filtering.
23280
23281 2005-10-10  Andy Wingo  <wingo@pobox.com>
23282
23283         Merged in popt removal + GOption addition patch from Ronald, bug
23284         #169772.
23285
23286         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
23287         GstElement macros around, remove popt-related symbols, add goption
23288         stuff.
23289
23290         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
23291         
23292         * docs/gst/Makefile.am:
23293         * docs/libs/Makefile.am: No POPT_CFLAGS.
23294         
23295         * examples/manual/Makefile.am:
23296         * docs/manual/basics-init.xml: Doc updates with an example.
23297         
23298         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
23299         (gst_init), (parse_one_option), (parse_goption_arg):
23300         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
23301         bit of hand merging and debugging to get the GOption stuff working
23302         tho.
23303         
23304         * tests/Makefile.am:
23305         * tools/Makefile.am:
23306         * tools/gst-inspect.c: (main):
23307         * tools/gst-launch.c: (main):
23308         * tools/gst-run.c: (main):
23309         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
23310
23311 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23312
23313         * gst/gstiterator.c: (gst_iterator_new):
23314           Add assertions to make sure passed GType is likely to really
23315           be a GType (as the compiler won't catch it if the size and
23316           GType arguments get mixed up, see #318447).
23317
23318 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
23319
23320         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23321
23322         * gst/gstbin.c: (gst_bin_iterate_sorted):
23323           Pass GType and size arguments to gst_iterator_new() in the right
23324           order (maybe we should make _new() take the GType as first argument
23325           just like _new_list()?) (#318447).
23326           
23327
23328 2005-10-10  Wim Taymans  <wim@fluendo.com>
23329
23330         * gst/gstelement.c: (gst_element_finalize):
23331         And free the GStaticRecMutex too
23332
23333 2005-10-10  Andy Wingo  <wingo@pobox.com>
23334
23335         * gst/gstelement.c (gst_element_init, gst_element_finalize):
23336         Allocate and free the mutex properly.
23337
23338         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
23339         New macros.
23340         (GstElement): The state_lock is now recursive. Rebuild your
23341         plugins, suckers. Old macros adapted.
23342
23343         * docs/gst/gstreamer-sections.txt: Doc updates.
23344
23345         * gst/gstutils.h:
23346         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
23347         (g_static_rec_cond_wait): Ported from state changes patch, while
23348         we wait on bug #317802 to be solved in a well-distributed GLib.
23349
23350         * gst/gstelement.c (gst_element_change_state_func): Renamed from
23351         gst_element_change_state, variable name changes.
23352         (gst_element_change_state): Split out of gst_element_set_state in
23353         preparation for the state change merge. Doesn't pay attention to
23354         the 'transition' argument.
23355         (gst_element_set_state): Updates, hopefully purely cosmetic.
23356         (gst_element_sync_state_with_parent): MT-safety. Ported from the
23357         state change patch.
23358         (gst_element_get_state_func): Renamed from get_state, cosmetic
23359         changes.
23360
23361 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23362
23363         * gst/elements/gstelements.c:
23364         * win32/GStreamer.vcproj:
23365         * win32/config.h:
23366         * win32/dirent.c: (_tseekdir):
23367         * win32/gst-inspect.vcproj:
23368         * win32/gst-launch.vcproj:
23369         * win32/gstconfig.h:
23370         * win32/gstelements.vcproj:
23371         * win32/gstenumtypes.c: (gst_object_flags_get_type):
23372         * win32/gstreamer.def:
23373         * win32/msvc71.sln:
23374           updates for the win32 build (patch from Sebastien Moutte)
23375
23376 2005-10-10  Andy Wingo  <wingo@pobox.com>
23377
23378         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
23379         gst_bin_get_state, cleaned up (but no logic changes).
23380         (bin_element_is_sink): Comment updates.
23381         (sink_iterator_filter): Remove needless cast.
23382         (gst_bin_iterate_sinks): Doc update.
23383         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
23384         cleaned up (but no logic changes).
23385
23386         * check/states/sinks.c (test_src_sink): Cleanups from the state
23387         change patch.
23388         (test_livesrc_sink): Sync on the state.
23389
23390         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
23391         the state change patch.
23392
23393         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
23394         change patch.
23395
23396         * check/gst/gstbin.c: Merge in some style fixes and additional
23397         checks from Wim's state change patch.
23398
23399 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23400
23401         * gst/base/gsttypefindhelper.c: (helper_find_peek),
23402         (gst_type_find_helper):
23403           Check whether we have the requested data already in our list of
23404           cached buffers before pulling a new buffer; also make the buffer
23405           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
23406
23407 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23408
23409         * gst/gstcaps.c:
23410         * gst/gstevent.c:
23411           doc updates
23412         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23413           don't use long long, it's not portable.  Replacing with
23414           gint64 seems to work; let's hope no skeletons fall out of the closet.
23415
23416 2005-10-10  Andy Wingo  <wingo@pobox.com>
23417
23418         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
23419
23420 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
23421
23422         * docs/gst/gstreamer-sections.txt:
23423         * gst/gstevent.c:
23424         * gst/gstevent.h:
23425         * gst/gstinfo.c:
23426         * gst/gstinfo.h:
23427         * gst/gstmessage.c: (gst_message_parse_state_changed):
23428         * gst/gstpad.c:
23429         * gst/gstpad.h:
23430           more docs, fix compilation
23431
23432 2005-10-09  Philippe Khalaf <burger@speedy.org>
23433         * gst/gstmessage.c:
23434           Fixed a few forgotten variables on previous commit
23435
23436 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
23437
23438         * gst/base/gsttypefindhelper.c: (helper_find_peek):
23439           Fix evil typefind crasher: getrange() might return a short
23440           buffer at the end of a file, but gst_type_find_peek() must
23441           either return the full data as requested or NULL, but
23442           never a short buffer.
23443
23444 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23445
23446         * gst/gstmessage.c: (gst_message_new_state_changed),
23447         (gst_message_parse_state_changed):
23448         * gst/gstmessage.h:
23449           don't use "new", it's a C++ keyword
23450
23451 2005-10-08  Wim Taymans  <wim@fluendo.com>
23452
23453         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
23454         * gst/gstelement.c: (gst_element_post_message):
23455         * gst/gstpipeline.c: (gst_pipeline_change_state):
23456         Small docs and debug updates.
23457
23458 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23459
23460         * docs/gst/gstreamer-sections.txt:
23461         * gst/gstelementfactory.c:
23462         * gst/gstevent.c:
23463         * gst/gsttaglist.c:
23464           more docs
23465
23466 2005-10-08  Wim Taymans  <wim@fluendo.com>
23467
23468         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
23469         (gst_bin_dispose), (bin_bus_handler):
23470         Fix typos, add comments.
23471         Clear EOS list when going to PAUSED from any direction and do it
23472         in a threadsafe way.
23473         Get base time in a threadsafe way too.
23474         Fix confusing debug in the change_state function.
23475         Various other small cleanups.
23476         
23477         * gst/gstelement.c: (gst_element_post_message):
23478         Fix very verbose bus posting code.
23479
23480         * gst/gstpipeline.c: (gst_pipeline_class_init),
23481         (gst_pipeline_set_property), (gst_pipeline_get_property),
23482         (gst_pipeline_change_state):
23483         Small ARG_ -> PROP_ cleanup
23484
23485 2005-10-08  Wim Taymans  <wim@fluendo.com>
23486
23487         * gst/gstbin.c: (is_eos), (bin_bus_handler):
23488         Do a less CPU demanding EOS check because we can.
23489
23490 2005-10-08  Wim Taymans  <wim@fluendo.com>
23491
23492         * libs/gst/dataprotocol/dataprotocol.c:
23493         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
23494         (gst_dp_packet_from_event):
23495         * libs/gst/dataprotocol/dataprotocol.h:
23496         * libs/gst/dataprotocol/dp-private.h:
23497         It's about time we bump the version number.
23498         Since event types don't fit in the guint8 anymore describing
23499         the payload type, make payload type 16 bits wide.
23500
23501 2005-10-08  Wim Taymans  <wim@fluendo.com>
23502
23503         * docs/design/part-TODO.txt:
23504         * docs/design/part-clocks.txt:
23505         * docs/design/part-events.txt:
23506         * docs/design/part-gstbin.txt:
23507         * docs/design/part-gstelement.txt:
23508         * docs/design/part-gstpipeline.txt:
23509         * docs/design/part-live-source.txt:
23510         * docs/design/part-messages.txt:
23511         * docs/design/part-overview.txt:
23512         * docs/design/part-states.txt:
23513         Many doc updates.
23514
23515 2005-10-08  Wim Taymans  <wim@fluendo.com>
23516
23517         * gst/gstevent.c:
23518         * gst/gstevent.h:
23519         Fix event quark registration.
23520         Add some space between events so we can insert them in the
23521         right groups.
23522
23523 2005-10-08  Wim Taymans  <wim@fluendo.com>
23524
23525         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23526         (gst_base_sink_handle_buffer):
23527         Better log message.
23528
23529         * gst/gstbus.h:
23530         * gst/gstelement.h:
23531         More docs.
23532
23533         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23534         (gst_queue_set_property), (gst_queue_get_property):
23535         * gst/gstqueue.h:
23536         Remove old unused properties.
23537
23538 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23539         * docs/gst/gstreamer-sections.txt:
23540         * gst/gstmessage.c:
23541         * gst/gstmessage.h:
23542         * gst/gstminiobject.c:
23543         * gst/gstminiobject.h:
23544         * gst/gstobject.h:
23545         * gst/gstpad.h:
23546         * gst/gstutils.h:
23547           lots of new docs and doc fixes
23548
23549 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23550
23551         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
23552         * gst/gstplugin.h:
23553         * gst/gstregistry.c: (gst_registry_lookup_locked),
23554         (gst_registry_scan_path_level):
23555         * gst/gstregistryxml.c: (load_plugin):
23556           Only ever load one plugin for a given plugin basename.
23557           This ensures correct overriding of GST_PLUGIN_PATH over
23558           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
23559           system installed plugins.
23560
23561 2005-10-08  Wim Taymans  <wim@fluendo.com>
23562
23563         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23564         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
23565         Prepare for doing QOS.
23566
23567 2005-10-08  Wim Taymans  <wim@fluendo.com>
23568
23569         * check/gst/gstbin.c: (GST_START_TEST):
23570         * check/pipelines/cleanup.c: (GST_START_TEST):
23571         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23572         Allow new clock message too.
23573
23574 2005-10-08  Wim Taymans  <wim@fluendo.com>
23575
23576         * gst/gstmessage.c: (gst_message_new_error),
23577         (gst_message_new_warning), (gst_message_new_tag),
23578         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23579         (gst_message_new_clock_lost), (gst_message_new_new_clock),
23580         (gst_message_new_segment_start), (gst_message_new_segment_done),
23581         (gst_message_parse_state_changed),
23582         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
23583         (gst_message_parse_new_clock):
23584         * gst/gstmessage.h:
23585         Also carry the clock in question.
23586
23587 2005-10-08  Wim Taymans  <wim@fluendo.com>
23588
23589         * gst/gstmessage.c: (gst_message_new_custom),
23590         (gst_message_new_eos), (gst_message_new_error),
23591         (gst_message_new_warning), (gst_message_new_tag),
23592         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23593         (gst_message_new_new_clock), (gst_message_new_segment_start),
23594         (gst_message_new_segment_done), (gst_message_parse_state_changed),
23595         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
23596         * gst/gstmessage.h:
23597         Clean up.
23598         Added clock related messages.
23599
23600         * gst/gstpipeline.c: (gst_pipeline_change_state):
23601         Post message when the clock changed.
23602
23603         * tools/gst-launch.c: (event_loop):
23604         Print new clock.
23605
23606 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
23607
23608         * tools/gst-inspect.c: (print_element_properties_info):
23609           Can't pass NULL strings to g_print() on windows.
23610
23611 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23612
23613         * docs/Makefile.am:
23614         * docs/gst/Makefile.am:
23615         * docs/gst/gstreamer-docs.sgml:
23616         * docs/gst/running.xml:
23617         * docs/version.entities.in:
23618           add a chapter on running GStreamer.
23619           document GST_DEBUG and GST_PLUGIN* env vars
23620
23621 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23622
23623         * Makefile.am:
23624           remove include dir
23625         * configure.ac:
23626           remove PLUGINS_BUILDDIR stuff
23627         * gst/gst.c: (init_post):
23628           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
23629         * idiottest.mak:
23630           remove, it was condescending and not needed
23631
23632 2005-10-08  Wim Taymans  <wim@fluendo.com>
23633
23634         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
23635         (gst_base_sink_handle_object), (gst_base_sink_event),
23636         (gst_base_sink_wait), (gst_base_sink_handle_event),
23637         (gst_base_sink_change_state):
23638         * gst/base/gstbasesink.h:
23639         Repost EOS message while going to PLAYING if still EOS.
23640         Make sure that when receiving a FLUSH_START we don't attempt
23641         to sync on the clock anymore.
23642
23643 2005-10-08  Wim Taymans  <wim@fluendo.com>
23644
23645         * tools/gst-launch.c: (event_loop):
23646         Better message printout.
23647
23648 2005-10-08  Wim Taymans  <wim@fluendo.com>
23649
23650         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
23651         (gst_bin_child_proxy_get_children_count):
23652         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
23653         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
23654         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
23655         (gst_child_proxy_set_valist):
23656         * gst/parse/grammar.y:
23657         Make ChildProxy threadsafe and fix mem leaks.
23658
23659 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23660
23661         * gst/gst.c: (init_post):
23662           debug the GST_PLUGIN_ env vars
23663
23664 2005-10-08  Wim Taymans  <wim@fluendo.com>
23665
23666         * check/gst/gstbin.c: (GST_START_TEST):
23667         * check/gst/gstmessage.c: (GST_START_TEST):
23668         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
23669         * gst/gstelement.c: (gst_element_commit_state),
23670         (gst_element_lost_state):
23671         * gst/gstmessage.c: (gst_message_new_state_changed),
23672         (gst_message_parse_state_changed):
23673         * gst/gstmessage.h:
23674         * tools/gst-launch.c: (event_loop):
23675         Added extra field to STATE_CHANGE message with the pending
23676         state, which will be different from the new state soon.
23677
23678 2005-10-08  Wim Taymans  <wim@fluendo.com>
23679
23680         * gst/gstbus.c: (gst_bus_pop):
23681         * gst/gstclock.c:
23682         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
23683         Small cleanups and doc updates.
23684
23685 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23686
23687         * gst/gst.c: (init_pre):
23688         * gst/gstbin.c: (gst_bin_add_func):
23689           log distributing clocks and base time
23690         * gst/gstregistry.c: (gst_registry_add_plugin),
23691         (gst_registry_scan_path_level), (gst_registry_scan_path):
23692           clean up the debugging output a little
23693         * gst/gstutils.c: (gst_element_state_get_name):
23694           warn about a memleak (I've actually seen this be used, though
23695           it was probably a bug)
23696
23697 2005-10-07  Wim Taymans  <wim@fluendo.com>
23698
23699         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23700         (gst_base_src_init), (gst_base_src_default_newsegment),
23701         (gst_base_src_newsegment), (gst_base_src_do_seek),
23702         (gst_base_src_loop), (gst_base_src_start):
23703         * gst/base/gstbasesrc.h:
23704         Make the newsegment event customizable by subclasses.
23705
23706 2005-10-07  Wim Taymans  <wim@fluendo.com>
23707
23708         * gst/gstevent.c: (gst_event_new_buffersize),
23709         (gst_event_parse_buffersize):
23710         * gst/gstevent.h:
23711         New event for future idea.
23712
23713 2005-10-07  Andy Wingo  <wingo@pobox.com>
23714
23715         * gst/gstelement.c (gst_element_post_message): Doc update.
23716
23717         * docs/gst/gstreamer-sections.txt: Update.
23718
23719         * gst/gstmessage.c (gst_message_new_application): Made into a
23720         function like honest API calls.
23721         (gst_message_new_element): New message type.
23722
23723         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
23724
23725         * check/elements/fakesrc.c (test_no_preroll): New check, checks
23726         that setting a live fakesrc to PAUSED returns NO_PREROLL both
23727         times.
23728
23729         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
23730         NO_PREROLL from gst_element_change_state to fall through.
23731
23732 2005-10-07  Wim Taymans  <wim@fluendo.com>
23733
23734         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
23735         (gst_ghost_pad_do_activate_push):
23736         Activating a ghostpad with no internal pad in push mode
23737         is ok.
23738
23739 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
23740
23741         * gst/gstobject.h:
23742           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
23743           Fixes compilation on Windows.
23744
23745 2005-10-07  Michael Smith <msmith@fluendo.com>
23746
23747         * tools/gst-inspect.c:
23748           Print out feature and plugin count at the end when printing out
23749           all features.
23750
23751 2005-10-04  Michael Smith <msmith@fluendo.com>
23752
23753         * gst/gsterror.c: (_gst_stream_errors_init):
23754           Add another error string used in a few existing plugins.
23755
23756         * gst/gstplugin.c:
23757         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
23758         * tools/gst-inspect.c: (print_element_info):
23759           When a feature disappears from a plugin (and the feature exists in
23760           the cached registry file), things went horribly wrong. This isn't a
23761           complete fix, we should actually be removing the 'missing' features
23762           from the features list when we load the actual plugin. That's not
23763           yet implemented. 
23764
23765 2005-10-04  Johan Dahlin  <johan@gnome.org>
23766
23767         * check/gst/gstiterator.c: (GST_START_TEST):
23768         * gst/gstbin.c: (gst_bin_iterate_elements),
23769         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
23770         * gst/gstelement.c: (gst_element_iterate_pads):
23771         * gst/gstformat.c: (gst_format_iterate_definitions):
23772         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
23773         (gst_iterator_new_list), (gst_iterator_filter):
23774         * gst/gstiterator.h:
23775         * gst/gstquery.c: (gst_query_type_iterate_definitions):
23776         Add a GType to GstIterator, update callsites and tests.
23777
23778 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23779
23780         * gst/gstpad.c: (gst_pad_event_default_dispatch):
23781           give events a chance to be handled by event probes when the pad
23782           is not linked
23783
23784 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23785
23786         * gst/gstevent.c: (gst_event_type_get_name),
23787         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
23788         * gst/gstevent.h:
23789           add string representations for event types
23790
23791 2005-10-06  Wim Taymans  <wim@fluendo.com>
23792
23793         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
23794         Don't use NULL pointers.
23795
23796 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23797
23798         * gst/gst_private.h:
23799         * gst/gstbus.c:
23800         * gst/gstelement.c:
23801         * gst/gstinfo.c:
23802         * gst/gstpluginfeature.c:
23803           widen the debug category in output to fit the biggest one we have
23804           add a bus category and use it
23805           play with the colors
23806           fix up some categories
23807
23808 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23809
23810         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
23811           add push activation of sink ghost pads.
23812           Andye, please verify
23813
23814 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
23815
23816         * gst/gstutils.c: (gst_element_link_pads):
23817           fix a bug in the case where neither element has a pad
23818         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
23819           add a test for that case
23820
23821 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
23822
23823         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
23824           emit have-data before checking for peers.  This allows
23825           for probe handlers to connect elements.  This helps autopluggers.
23826         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
23827         (gst_pad_suite):
23828           add six checks, linked/unlinked with no/true/false probe
23829
23830 2005-10-04  Wim Taymans  <wim@fluendo.com>
23831
23832         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
23833         (gst_fake_sink_event), (gst_fake_sink_preroll),
23834         (gst_fake_sink_render), (gst_fake_sink_change_state):
23835         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
23836         (gst_fake_src_get_property), (gst_fake_src_create),
23837         (gst_fake_src_stop):
23838         * gst/elements/gstidentity.c: (gst_identity_stop):
23839         Protect last_message with lock.
23840
23841 2005-10-04  Edward Hervey  <edward@fluendo.com>
23842
23843         * gst/gstformat.h: 
23844         Added precision in the comments for GST_FORMAT_DEFAULT
23845
23846 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
23847
23848         * tools/gst-launch.c: (main):
23849           Don't try to run erroneous pipelines.
23850
23851 2005-10-04  Julien MOUTTE  <julien@moutte.net>
23852
23853         * gst/gstbus.c: We don't need this header.
23854
23855 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
23856
23857         * configure.ac:
23858           back to development
23859
23860 === release 0.9.3 ===
23861
23862 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
23863
23864         * README:
23865         * configure.ac:
23866           Releasing 0.9.3, "Unregistered"
23867
23868 2005-10-03  Andy Wingo  <wingo@pobox.com>
23869
23870         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
23871         whereby calling a pad's activatepush() function can start a thread
23872         that starts to push or pull before the pad gets the FLUSHING flag
23873         unset. Hack around it by holding the stream lock until the flag is
23874         set. Need to replace this with a proper solution. Together with
23875         the ghost pad fixes, this fixes mp3 playing/tagreading.
23876
23877         * docs/design/part-gstghostpad.txt: Add a note about activation of
23878         proxy pads outside of ghost pads.
23879
23880         * gst/gstghostpad.c: Implement the ghost pad activation design.
23881
23882 2005-10-02  Andy Wingo  <wingo@pobox.com>
23883
23884         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
23885         It is volatile, after all.
23886
23887         * docs/design/part-gstghostpad.txt: Flesh out activation with
23888         ghost pads.
23889
23890         * gst/base/gstbasesrc.c (gst_base_src_init): Use
23891         GST_DEBUG_FUNCPTR.
23892
23893 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
23894
23895         * configure.ac:
23896           Fix (unused) AM_CONDITIONAL tests.
23897
23898 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
23899
23900         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23901
23902         * gst/gstutils.c: (gst_pad_query_convert):
23903           Add assertion that makes sure src_val is >=0, just like
23904           gst_query_new_convert() has. (#315895)
23905
23906 2005-09-30  Edward Hervey  <edward@fluendo.com>
23907
23908         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
23909         Let's not iterate pads we're not interested in, it avoids getting 
23910         sky-high refcounts on sinkpad.
23911
23912 2005-09-30  Wim Taymans  <wim@fluendo.com>
23913
23914         * gst/gstelement.c: (gst_element_set_state),
23915         (gst_element_change_state):
23916         Small tweak, element in ASYNC remains ASYNC.
23917
23918 2005-09-30  Wim Taymans  <wim@fluendo.com>
23919
23920         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
23921         Only error is an error.
23922
23923         * gst/gstbin.c: (gst_bin_change_state):
23924         Better debugging.
23925
23926         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
23927         Also call pad_block in pad alloc.
23928
23929         * gst/gstutils.c: (gst_flow_get_name):
23930         Better debugging.
23931
23932 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
23933
23934         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23935         (gst_base_src_get_range):
23936           Fix documentation typos. Add some more debug info.
23937
23938 2005-09-29  David Schleef  <ds@schleef.org>
23939
23940         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
23941           more end-user friendly.
23942         * tools/gst-inspect.c: (main): Check if command-line argument is
23943           a file and attempt to load that file as a plugin.
23944
23945 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
23946
23947         * check/gst/gstbin.c:
23948         * check/states/sinks.c:
23949           fix tests for the new warning
23950         * check/gst/gstpipeline.c:
23951           add a test for pipeline and bus interaction
23952         * gst/gstelement.c:
23953           elements should be NULL if they get disposed; add a warning if not
23954
23955 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
23956
23957         * gst/gstobject.c:
23958           for 2.6 refcounting, make debug log more correct by printing
23959           the actual refcounts at the time of swap (Wim)
23960
23961 2005-09-29  Andy Wingo  <wingo@pobox.com>
23962
23963         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
23964         removes signal watches previously added via
23965         gst_bus_add_signal_watch.
23966         (gst_bus_add_signal_watch): Don't return the source id, just store
23967         it on the bus if there wasn't an id already.
23968
23969         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
23970         add_signal_watch and remove_signal_watch.
23971
23972 2005-09-29  Edward Hervey  <edward@fluendo.com>
23973
23974         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
23975         Better if we actually iterate the list :)
23976
23977 2005-09-29  Wim Taymans  <wim@fluendo.com>
23978
23979         * check/gst/gstbin.c: (GST_START_TEST):
23980         Change for new bus API.
23981
23982         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
23983         (send_messages), (GST_START_TEST), (gstbus_suite):
23984         Change for new bus signal API.
23985
23986         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
23987         (gst_bus_source_prepare), (gst_bus_source_check),
23988         (gst_bus_create_watch), (gst_bus_add_watch_full),
23989         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
23990         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
23991         * gst/gstbus.h:
23992         Remove support for multiple GSources operating on different
23993         message types as it is too complex and unneeded when using
23994         signals.
23995         Added support for receiving signals from the bus.
23996
23997 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
23998
23999         * docs/libs/tmpl/gstdataprotocol.sgml:
24000         * docs/manual/advanced-dataaccess.xml:
24001         * gst/elements/gstcapsfilter.c:
24002         * gst/gstutils.c:
24003           rename filter-caps to caps property
24004
24005 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24006
24007         * gst/gstvalue.c: (gst_value_deserialize_fraction):
24008           More robust fraction string parsing.
24009
24010         * docs/pwg/appendix-porting.xml:
24011           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
24012
24013 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
24014
24015         * gst/gstcaps.c: (gst_caps_do_simplify):
24016           Thou shalt not free a structure and then continue using it
24017           in the next loop iteration.
24018
24019         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
24020         (gst_caps_suite):
24021           Add test case for caps simplification.
24022
24023 2005-09-29  Wim Taymans  <wim@fluendo.com>
24024
24025         * check/gst/gstbin.c: (GST_START_TEST):
24026         Oops.
24027
24028 2005-09-29  Wim Taymans  <wim@fluendo.com>
24029
24030         * check/gst/gstbin.c: (GST_START_TEST):
24031         Add bus to bin.
24032
24033         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
24034         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24035         (find_element), (gst_bin_sort_iterator_next),
24036         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24037         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24038         (gst_bin_change_state), (gst_bin_dispose):
24039         A bin does not have a bus, it gets the bus from the parent.
24040
24041         * gst/gstelement.c: (gst_element_requires_clock),
24042         (gst_element_provides_clock), (gst_element_is_indexable),
24043         (gst_element_is_locked_state), (gst_element_change_state),
24044         (gst_element_set_bus_func):
24045         Small cleanups.
24046
24047         * gst/gstpipeline.c: (gst_pipeline_class_init),
24048         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
24049         The pipeline provides a bus.
24050
24051 2005-09-28  Johan Dahlin  <johan@gnome.org>
24052
24053         * gst/gstmessage.c (gst_message_parse_state_changed): Use
24054         gst_structure_get_enum instead of gst_structure_get_int
24055
24056         * gst/gststructure.c (gst_structure_get_enum): Impl.
24057
24058         * gst/gststructure.h (gst_structure_get_enum): Add
24059
24060         * docs/gst/gstreamer-sections.txt: Ditto
24061
24062         * gst/gstmessage.c (gst_message_new_state_changed): Use
24063         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
24064         which does introspection.
24065         Reviewed by Christian Schaller
24066
24067 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24068
24069         * gst/gstinfo.c: (gst_debug_log_default):
24070           don't do dummy g_strdup()s
24071         * libs/gst/controller/gstcontroller.c:
24072         (on_object_controlled_property_changed),
24073         (gst_controlled_property_new), (gst_controller_new_valist),
24074         (gst_controller_new_list),
24075         (gst_controller_remove_properties_valist), (gst_controller_set),
24076         (gst_controller_get), (gst_controller_sync_values),
24077         (gst_controller_get_value_array), (_gst_controller_class_init),
24078         (gst_controller_get_type):
24079         * libs/gst/controller/gstcontroller.h:
24080         * libs/gst/controller/gstinterpolation.c:
24081         (gst_controlled_property_find_timed_value_node):
24082           convert // to /**/ comments
24083
24084 2005-09-28  Wim Taymans  <wim@fluendo.com>
24085
24086         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
24087         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
24088         (gst_bus_sync_signal_handler):
24089         * gst/gstbus.h:
24090         Added async-message and sync-message signals to the bus.
24091         Added helper BusFunc to emit signals for all posted messages.
24092
24093         * gst/gstmessage.c: (gst_message_type_get_name),
24094         (gst_message_type_to_quark), (gst_message_get_type):
24095         * gst/gstmessage.h:
24096         Register quarks for message names.
24097
24098 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24099
24100         * docs/libs/gstreamer-libs-sections.txt:
24101         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
24102         (gst_controller_new_list):
24103         * libs/gst/controller/gstcontroller.h:
24104           added another constructor for language bindings
24105
24106 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
24107
24108         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24109           add another check
24110         * gst/gstbus.c:
24111           add some doc
24112         * gst/gstinfo.c: (_gst_debug_init):
24113           slightly more readable color for refcount debugging
24114
24115 2005-09-28  Wim Taymans  <wim@fluendo.com>
24116
24117         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
24118         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24119         (find_element), (gst_bin_sort_iterator_next),
24120         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24121         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24122         (gst_bin_change_state), (gst_bin_dispose):
24123         Small doc fixes. get_clock -> provide_clock.
24124
24125         * gst/gstelement.c: (gst_element_class_init),
24126         (gst_element_provides_clock), (gst_element_provide_clock),
24127         (gst_element_get_clock), (gst_element_commit_state),
24128         (gst_element_lost_state):
24129         * gst/gstelement.h:
24130         Make get/set_clock() symetric. Add provide_clock vmethod since
24131         that is actually what this function does.
24132
24133         * gst/gstpipeline.c: (gst_pipeline_class_init),
24134         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
24135         (gst_pipeline_get_clock):
24136         get_clock -> provide_clock.
24137
24138 2005-09-28  Andy Wingo  <wingo@pobox.com>
24139
24140         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
24141         lieu of real docs...
24142
24143         * gst/elements/gstfdsrc.c: Cleaned up a bit.
24144
24145 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
24146
24147         * gst/elements/gstcapsfilter.c:
24148         * gst/elements/gstfakesink.c:
24149         * gst/elements/gstfakesrc.c:
24150         * gst/elements/gstfdsink.c:
24151         * gst/elements/gstfdsrc.c:
24152         * gst/elements/gstfilesink.c:
24153         * gst/elements/gstfilesrc.c:
24154         * gst/elements/gstidentity.c:
24155         * gst/elements/gsttee.c:
24156         * gst/elements/gsttypefindelement.c:
24157           Make element details static.
24158
24159 2005-09-28  Wim Taymans  <wim@fluendo.com>
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), (gst_bin_dispose):
24166         Some documentation updates.
24167         Clean up dispose handlers.
24168
24169         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
24170         * gst/gstpad.c: (gst_pad_dispose):
24171         Clean up dispose handler.
24172
24173         * gst/gstpipeline.c: (gst_pipeline_change_state):
24174         Removed spurious UNLOCK.
24175
24176 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
24177
24178         * docs/gst/gstreamer-sections.txt:
24179         * gst/base/gstbasesrc.h:
24180         * gst/gstelement.h:
24181         * gst/gstevent.h:
24182         * gst/gstobject.h:
24183         * gst/gstpad.h:
24184         * gst/gstpipeline.c:
24185         * gst/gstpipeline.h:
24186         * gst/gstutils.h:
24187         * gst/gstxml.h:
24188           added two new functions to the docs
24189                 documents all undocumented GstXXXFlags
24190                 completed some incomplete docs 
24191
24192 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
24193
24194         * gst/gstbin.c: (gst_bin_dispose):
24195         * gst/gstelement.c: (gst_element_dispose):
24196           remove now useless and leaky resurrection code in dispose
24197         * gst/base/gstbasesrc.c: (gst_base_src_init):
24198         * gst/gstelementfactory.c: (gst_element_factory_create):
24199         * gst/gstobject.c: (gst_object_set_parent):
24200           add some debugging
24201
24202 2005-09-27  Wim Taymans  <wim@fluendo.com>
24203
24204         * docs/design/part-TODO.txt:
24205         Update TODO.
24206
24207         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24208         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24209         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24210         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24211         (gst_bin_change_state):
24212         * gst/gstelement.h:
24213         Remove element variable, we keep element info in the iterator now.
24214
24215 2005-09-27  Andy Wingo  <wingo@pobox.com>
24216
24217         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
24218         values.
24219
24220 2005-09-27  Wim Taymans  <wim@fluendo.com>
24221
24222         * check/gst/gstbin.c: (GST_START_TEST):
24223         Enable check that works now.
24224
24225         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24226         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24227         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24228         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24229         (gst_bin_change_state):
24230         * gst/gstbin.h:
24231         Redid the state change algorithm using a topological sort algo.
24232         Handles all cases correctly.
24233         Exposed iterator for state change order.
24234
24235         * gst/gstelement.h:
24236         Temp storage for state changes. Need to get rid of this soon.
24237
24238 2005-09-27  Wim Taymans  <wim@fluendo.com>
24239
24240         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
24241         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
24242         (link_fold_func), (gst_pad_proxy_setcaps):
24243         Leak fixes, the fold functions need to unref the passed object and
24244         _get_parent_*() returns ref to parent.
24245
24246 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24247
24248         * check/gst/gstbuffer.c: (test_make_writable):
24249           Plug leak in test case and fix 'make check-valgrind'
24250
24251 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24252
24253         * gst/gstbuffer.c: (gst_subbuffer_init):
24254           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
24255           works correctly in all circumstances (we could have just copied
24256           the parent buffer's readonly flag, but conceptually it seems
24257           cleaner to mark all subbuffers as read-only). (based on patch
24258           by Alessandro Decina, #314710).
24259         
24260         * check/gst/gstbuffer.c: (create_read_only_buffer),
24261         (test_make_writable), (test_subbuffer_make_writable),
24262         (gst_test_suite):
24263           Add some tests for gst_buffer_make_writable().
24264
24265 2005-09-27  Wim Taymans  <wim@fluendo.com>
24266
24267         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
24268         use gst_object_has_ancestor().
24269
24270         * gst/gstobject.c: (gst_object_has_ancestor):
24271         * gst/gstobject.h:
24272         gst_object_has_ancestor() copied from gstbin.c as it is a
24273         useful function.
24274
24275         * tests/instantiate/create.c: (create_all_elements):
24276         * tests/lat.c: (handoff_src), (handoff_sink):
24277         * tests/sched/runxml.c: (main):
24278         * tests/seeking/seeking1.c: (main):
24279         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24280         (main):
24281         Fix compilation of some tests.
24282
24283 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24284
24285         * gst/gsterror.h:
24286           Remove comment. GST_TYPE_G_ERROR is here to stay,
24287           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
24288           (#316961, #300610).
24289
24290 2005-09-26  Wim Taymans  <wim@fluendo.com>
24291
24292         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24293         Added check that shows error in state change order.
24294
24295 2005-09-26  Wim Taymans  <wim@fluendo.com>
24296
24297         * gst/gstbin.c: (gst_bin_change_state):
24298         Make state change function use 3 queues again, we were
24299         adding elements in the wrong order.
24300
24301         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
24302         Some debug info,
24303
24304         * gst/gstpad.c: (gst_pad_dispose):
24305         Added some debug info first.
24306
24307 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
24308
24309         * docs/design/draft-push-pull.txt:
24310         * docs/design/part-events.txt:
24311         * docs/design/part-overview.txt:
24312         * docs/design/part-scheduling.txt:
24313           Replace all _pull_region() with _pull_range()
24314           
24315 2005-09-26  Andy Wingo  <wingo@pobox.com>
24316
24317         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
24318
24319         * check/gst-libs/controller.c: Update for controller api change.
24320
24321         * configure.ac: 
24322         * tests/Makefile.am:
24323         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
24324         over by GLib bug 118439.
24325         
24326         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
24327         routines to a function.
24328
24329         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
24330
24331         * libs/gst/controller/gsthelper.c:
24332         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
24333         (gst_object_sync_values): Renamed from sink_values. Ugh.
24334
24335         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
24336
24337         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
24338         Renamed from controller_key, as it is exported.
24339
24340         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
24341
24342 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
24343
24344         * gst/Makefile.am:
24345         * gst/gst.h:
24346         * gst/gstpad.h:
24347         * gst/gstpadtemplate.h:
24348         * gst/gstquery.c:
24349         * gst/gstquery.h:
24350         * gst/gstqueryutils.c:
24351         * gst/gstqueryutils.h:
24352           remove queryutils headers after moving the two used functions
24353           to gstquery.  also fixes build problem for gstsiddec
24354
24355 2005-09-26  Michael Smith <msmith@fluendo.com>
24356
24357         * tools/gst-launch.1.in:
24358         Correct documentation in manpage of debug syntax
24359
24360 2005-09-26  Wim Taymans  <wim@fluendo.com>
24361
24362         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24363         (gst_base_src_is_seekable), (gst_base_src_change_state):
24364         Some more debugging info.
24365
24366 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24367
24368         * docs/gst/gstreamer-sections.txt:
24369         * gst/base/gstbasetransform.h:
24370         * gst/gstindex.h:
24371           added more docs
24372
24373 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24374
24375         * docs/gst/.cvsignore:
24376         * docs/gst/tmpl/.cvsignore:
24377         * docs/gst/tmpl/gstpipeline.sgml:
24378         * docs/gst/tmpl/gstplugin.sgml:
24379         * gst/gstpipeline.c:
24380         * gst/gstplugin.c:
24381         * gst/gstplugin.h:
24382           inlined the last two docs files
24383           removed the tmpl directory from cvs (no more conflicts here!)
24384
24385 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24386
24387         * docs/gst/gstreamer-sections.txt:
24388         * docs/gst/tmpl/.cvsignore:
24389         * docs/gst/tmpl/gstpad.sgml:
24390         * docs/gst/tmpl/gstpadtemplate.sgml:
24391         * gst/Makefile.am:
24392         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
24393         (gst_pad_finalize), (gst_pad_set_pad_template):
24394         * gst/gstpad.h:
24395         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
24396         (gst_pad_template_class_init), (gst_pad_template_init),
24397         (gst_pad_template_dispose), (name_is_valid),
24398         (gst_static_pad_template_get), (gst_pad_template_new),
24399         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
24400         (gst_pad_template_pad_created):
24401         * gst/gstpadtemplate.h:
24402           inlined two more docs
24403           factored gstpadtemplate out of gstpad
24404
24405 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
24406
24407         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24408         (test_children_state_change_order_semi_sink):
24409           Fix test case: we can't rely on a fixed state change order when
24410           going from READY => PAUSED because the sink might commit its 
24411           new state first when the first buffer created by the source 
24412           reaches the sink before the source has finished its change state.
24413           (Test case still fails at times, see #316856, comment 5 onwards)
24414
24415 2005-09-24  Wim Taymans  <wim@fluendo.com>
24416
24417         * docs/design/part-events.txt:
24418         * docs/design/part-gstbus.txt:
24419         * docs/design/part-gstpipeline.txt:
24420         * docs/design/part-messages.txt:
24421         * docs/design/part-overview.txt:
24422         * docs/design/part-segments.txt:
24423         * gst/gstbin.c:
24424         * gst/gstbuffer.c:
24425         * gst/gstclock.c:
24426         * gst/gstelement.c:
24427         * gst/gstevent.c:
24428         * gst/gstfilter.c:
24429         * gst/gstiterator.c:
24430         Various documentation updates.
24431
24432 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24433
24434         * gst/gstclock.h:
24435           Well, that's embarassing.  Luckily we weren't using
24436           GST_CLOCK_DIFF anywhere.
24437
24438 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24439
24440         * common/gtk-doc.mak:
24441           don't fail on building XML, FC4 slave shows a bunch of doc
24442           missing bits that I don't get
24443         * gst/gstpad.c:
24444         * gst/gstpipeline.c:
24445         * gst/gststructure.c:
24446           some doc updates
24447
24448 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24449
24450         * docs/design/part-gstbin.txt:
24451         * docs/design/part-gstbus.txt:
24452         * gst/gstbus.c:
24453           Add blurb about how the bus goes into flushing mode and
24454           drops all messages when its bin goes from READY into NULL 
24455           state.
24456
24457 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24458
24459         * docs/gst/gstreamer-sections.txt:
24460         * gst/gststructure.c: (gst_structure_get_clock_time):
24461         * gst/gststructure.h:
24462           add a method to get a GstClockTime out of a structure
24463
24464 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24465
24466         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24467         (test_children_state_change_order_semi_sink), (gst_bin_suite):
24468           Added test to check state change order in bins (can still be made
24469           to fail here under heavy disk load; bails out with 'Push on pad
24470           fakesink:sink0, but it was not activated in push mode').
24471
24472         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
24473           Fix state change order when there is only a semi sink (#316856)
24474
24475         * gst/gstbus.c: (gst_bus_class_init):
24476           Use _class_peek_parent(), not _class_ref(); fix docs to say
24477           'default main context' instead of 'mainloop' where that is
24478           what's meant.
24479
24480         * gst/gstelement.c: (gst_element_commit_state),
24481         (gst_element_set_state):
24482           Fix typos in debug messages
24483
24484 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24485
24486         * docs/README:
24487         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
24488         * gst/gstpluginfeature.c:
24489         * gst/gstutils.c:
24490           various doc updates
24491         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24492           change an assert into an error until it gets fixed properly
24493
24494 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
24495
24496         * docs/gst/gstreamer-sections.txt:
24497         * docs/gst/tmpl/.cvsignore:
24498         * docs/gst/tmpl/gstelement.sgml:
24499         * docs/gst/tmpl/gstinfo.sgml:
24500         * docs/gst/tmpl/gstobject.sgml:
24501         * gst/gstelement.c:
24502         * gst/gstelement.h:
24503         * gst/gstinfo.c:
24504         * gst/gstinfo.h:
24505         * gst/gstobject.c: (gst_object_class_init):
24506         * gst/gstobject.h:
24507           inlined 3 more biiiig doc files and added some missing docs on the fly
24508
24509 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24510
24511         * check/gst/.cvsignore:
24512         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
24513         * gst/gstregistryxml.c: (load_plugin),
24514         (gst_registry_xml_save_plugin):
24515           put back source in registry.  add checks for find_plugin.
24516         * testsuite/states/bin.c: (assert_state), (empty_bin),
24517         (test_adding_one_element), (main):
24518         * testsuite/states/locked.c: (main):
24519           some compile/run fixes
24520
24521 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24522
24523         * check/gst/gstvalue.c: (GST_START_TEST):
24524           fix leaks in the test itself
24525
24526 2005-09-22  Wim Taymans  <wim@fluendo.com>
24527
24528         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24529         (gst_base_sink_send_event), (gst_base_sink_peer_query),
24530         (gst_base_sink_query):
24531         Prepare for more accurate position reporting and query
24532         handling.
24533
24534         * gst/gstelement.c: (gst_element_send_event),
24535         (gst_element_set_state):
24536         Add some comment.
24537
24538 2005-09-22  Wim Taymans  <wim@fluendo.com>
24539
24540         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
24541         (gst_query_parse_segment):
24542         * gst/gstquery.h:
24543         More documentation.
24544         Add segment query for future use.
24545
24546 2005-09-22  Wim Taymans  <wim@fluendo.com>
24547
24548         * gst/gstbin.c: (gst_bin_add_func):
24549         Some more debug info.
24550
24551         * gst/gstelement.c: (gst_element_send_event):
24552         Simplify send_event
24553
24554         * gst/gstelement.h:
24555         Don't know how flags got broken.
24556
24557         * gst/gstquery.h:
24558         Added new query.
24559
24560 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24561
24562         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
24563           Add simplistic test suite for GST_TYPE_DATE serialisation and
24564           deserialisation.
24565
24566 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24567
24568         * docs/gst/gstreamer-sections.txt:
24569         * gst/gststructure.c: (gst_structure_set_valist),
24570         (gst_structure_get_date):
24571         * gst/gststructure.h:
24572         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
24573         (gst_date_copy), (gst_value_compare_date),
24574         (gst_value_serialize_date), (gst_value_deserialize_date),
24575         (gst_value_transform_date_string),
24576         (gst_value_transform_string_date), (_gst_value_initialize):
24577         * gst/gstvalue.h:
24578           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
24579           bunch of utility functions along with a hack that checks that
24580           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
24581           is required. Part of the grand scheme in #170777.
24582
24583 2005-09-22  Andy Wingo  <wingo@pobox.com>
24584
24585         * gst/gstconfig.h.in: Psych out gtk-doc.
24586
24587         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
24588
24589         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
24590
24591         * tools/gst-inspect.c (print_element_list): Plug some
24592         inconsequential leaks.
24593
24594         * gst/gstregistry.c (gst_registry_get_default): Doc.
24595
24596         * check/gst/gstplugin.c: 
24597         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
24598         * gst/gstelementfactory.c (gst_element_factory_create): 
24599         * gst/gstindexfactory.c (gst_index_factory_create): Update for
24600         refcount changes.
24601
24602         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
24603         (gst_plugin_feature_load): Doc, don't eat refs.
24604
24605         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
24606         (gst_plugin_list_free): Doc.
24607         (gst_plugin_load_file): Doc updates.
24608
24609         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
24610         accessors returning refcounted objects, return a ref.
24611
24612         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
24613         accessor for caps. IDEMPOTENCE. Oh yes.
24614
24615 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
24616
24617         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24618
24619         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24620         (_gst_debug_register_funcptr):
24621           Add mutex to serialise access to the hash table with
24622           the function pointer => function name string mapping;
24623           make that hash table static scope (#316809).
24624
24625         * gst/registries/.cvsignore:
24626           Remove left-over file.
24627
24628 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24629
24630         * docs/pwg/appendix-porting.xml:
24631           And something about newsegment events and caps-on-buffers to
24632           the porting guide (feel free to improve).
24633
24634 2005-09-21  Andy Wingo  <wingo@pobox.com>
24635
24636         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
24637         data and event probes on the same pad.
24638         (test_buffer_probe_once): Test that removing probes from within
24639         the probe functions works.
24640
24641 2005-09-21  Andy Wingo  <wingo@pobox.com>
24642
24643         * check/gst/gstutils.c: New file.
24644         (test_buffer_probe_n_times): A simple buffer probe test. More to
24645         come, foolios.
24646
24647         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
24648         have-data::buffer, not have-data.
24649         (gst_pad_add_event_probe): Likewise for have-data::event.
24650         (gst_pad_add_data_probe): More docs. The part about 'resolving the
24651         peer' isn't quite right yet though.
24652         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
24653         (gst_pad_remove_data_probe): Change to take the guint handler_id
24654         as their arg, not the function+data, which is more glib-like.
24655
24656         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
24657         the signal emission to indicate if the data is a buffer or an
24658         event.
24659         (gst_pad_get_type): Initialize buffer and event quarks.
24660         (gst_pad_class_init): have-data is now a detailed signal, yes it
24661         is.
24662
24663 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24664
24665         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24666         * gst/gstutils.c: (gst_util_set_value_from_string),
24667         (gst_util_set_object_arg):
24668           Don't put functional code in g_return_if_fail() or
24669           g_return_val_if_fail() statements, otherwise things will 
24670           break when G_DISABLE_CHECKS is defined during compilation.
24671
24672 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24673
24674         * docs/gst/tmpl/.cvsignore:
24675         * docs/gst/tmpl/gstvalue.sgml:
24676         * gst/gstvalue.c:
24677         * gst/gstvalue.h:
24678           inlied another one and added  some obvious docs
24679
24680 2005-09-21  Wim Taymans  <wim@fluendo.com>
24681
24682         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
24683         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
24684         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
24685         (gst_fdsrc_get_property), (gst_fdsrc_create):
24686         * gst/elements/gstfdsrc.h:
24687         Properly implement fdsrc. Removed signal and timeout,
24688         better implemented somewhere else.
24689
24690 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24691
24692         * docs/gst/tmpl/.cvsignore:
24693         * docs/gst/tmpl/gstimplementsinterface.sgml:
24694         * gst/gstinterface.c:
24695           inlined more docs
24696
24697 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24698
24699         * docs/gst/gstreamer-sections.txt:
24700         * docs/gst/tmpl/.cvsignore:
24701         * docs/gst/tmpl/gstenumtypes.sgml:
24702           remove obsolete doc file
24703
24704 2005-09-21  David Schleef  <ds@schleef.org>
24705
24706         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
24707         little beer, fix a little leak.
24708
24709 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24710
24711         * docs/gst/gstreamer-docs.sgml:
24712         * docs/gst/gstreamer-sections.txt:
24713         * docs/gst/tmpl/.cvsignore:
24714         * gst/Makefile.am:
24715         * gst/gst.h:
24716         * gst/gstbin.c:
24717         * gst/gstelement.h:
24718         * gst/gstindex.c: (gst_index_class_init):
24719         * gst/gstindex.h:
24720         * gst/gstindexfactory.c: (gst_index_factory_get_type),
24721         (gst_index_factory_class_init), (gst_index_factory_init),
24722         (gst_index_factory_finalize), (gst_index_factory_new),
24723         (gst_index_factory_destroy), (gst_index_factory_find),
24724         (gst_index_factory_create), (gst_index_factory_make):
24725         * gst/gstindexfactory.h:
24726         * gst/gstpluginfeature.c:
24727         * gst/gstpluginfeature.h:
24728         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24729           more docs inlined, splitted gstindex.{c,h}
24730
24731 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24732
24733         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24734           fix a leak
24735
24736 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
24737
24738         * gst/elements/gstfilesink.c: (gst_file_sink_init):
24739           Set sync to FALSE by default.
24740
24741 2005-09-20  Wim Taymans  <wim@fluendo.com>
24742
24743         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24744         (gst_base_sink_init):
24745         Make sync property settable from subclass.
24746
24747         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
24748         (gst_fake_sink_change_state):
24749         Set sync to FALSE by default.
24750
24751 2005-09-20  Wim Taymans  <wim@fluendo.com>
24752
24753         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
24754         * tools/gst-launch.c: (main):
24755         The timeout handler should have lower priority than the source
24756         so we don't timeout before popping a message with 0 timeout.
24757         Dump error messages after failed state change.
24758
24759 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
24760
24761         * tools/gst-inspect.c: (print_element_properties_info):
24762           Fix two typos.
24763
24764 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24765
24766         * check/gst/gstevent.c:
24767         * gst/elements/gstfakesink.c:
24768         * gst/elements/gstfakesink.h:
24769           remove the sync property from fakesink.
24770           has the side effect of setting sync TRUE
24771           for fakesink, which is a change.  Anyone who knows how
24772           to fix this nicely in a GObject-y way, feel free.
24773
24774 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24775
24776         * docs/gst/gstreamer-docs.sgml:
24777           remove probe refsection
24778
24779 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24780
24781         * check/Makefile.am:
24782           disable valgrinding the controller test again
24783         * docs/gst/gstreamer-sections.txt:
24784           update for api-changes
24785
24786 2005-09-20  Wim Taymans  <wim@fluendo.com>
24787
24788         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24789         (gst_base_sink_set_property), (gst_base_sink_get_property),
24790         (gst_base_sink_do_sync):
24791         * gst/base/gstbasesink.h:
24792         Added sync property to basesink to disable clock sync.
24793
24794 2005-09-20  Andy Wingo  <wingo@pobox.com>
24795
24796         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
24797         eating the caller's refcount.
24798
24799         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
24800         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
24801         refcount.
24802
24803         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
24804         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
24805         of GLib 2.8 public, so we can know which refcount to check in
24806         tests.
24807
24808         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
24809         (gst_object_init): Only set the gst refcount if we're going ahead
24810         with the refcount hack.
24811
24812 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24813
24814         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24815         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24816           more leaks plumbed, added more debug-logging
24817         * gst/gstmacros.h:
24818           whitespace fix
24819
24820 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24821
24822         * gst/gstmessage.c:
24823           remove include of gstmemchunk.h
24824
24825 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24826
24827         * gst/gstclock.c: (_gst_clock_id_free):
24828           Commit from the Political Party For More Atomic CVS Commits,
24829           so that people don't waste too much of their day fishing
24830           out obvious leaks out of massive commits.
24831           Oh, and fix a pretty damn obvious leak in the memchunk
24832           removal code.
24833
24834 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24835
24836         * check/Makefile.am:
24837         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24838           plug mem-leak, re-add to valgrindable tests
24839
24840 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24841
24842         * gst/gstplugin.h:
24843           unbreak the build for those who have chronic arthritis
24844           and typing "make check" is just too taxing on the hands
24845
24846 2005-09-20  Andy Wingo  <wingo@pobox.com>
24847
24848         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
24849         really want it out, you should fix plugins at the same time.
24850
24851 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
24852
24853         * configure.ac:
24854         * docs/gst/gstreamer-sections.txt:
24855         * gst/gstobject.c:
24856           added missing symbols to api docs
24857           disable ref-count hack if we have glib >= 2.8
24858
24859 2005-09-19  David Schleef  <ds@schleef.org>
24860
24861         * docs/gst/Makefile.am: Ignore a few more internal headers
24862         * docs/gst/gstreamer-docs.sgml: Remove old sections
24863         * docs/gst/gstreamer-sections.txt: Remove old sections
24864         * docs/gst/tmpl/gstobject.sgml: update
24865         * docs/gst/tmpl/gstplugin.sgml: update
24866         * docs/gst/tmpl/gstpluginfeature.sgml: update
24867         * docs/random/ds/0.9-suggested-changes: update.
24868         * gst/Makefile.am: remove memchunk and trashstack, since they're
24869           not used.
24870         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
24871         * gst/gst.h: don't include some headers
24872         * gst/gstchildproxy.c: add gstmarshal.h
24873         * gst/gstclock.c: Don't use memchunks
24874         * gst/gstminiobject.c: Add some docs
24875         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
24876         * gst/gstobject.h: same
24877         * gst/gstplugin.c: include gstmacros.h
24878         * gst/gstplugin.h: don't include gstmacros.h, since it's private
24879         * gst/gstquery.c: don't use memchunks
24880         * gst/gstregistry.c: rename gst_registry_deinit()
24881         * gst/gstregistry.h: same
24882
24883 2005-09-19  David Schleef  <ds@schleef.org>
24884
24885         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
24886         * docs/libs/gstreamer-libs-sections.txt:
24887         * docs/libs/tmpl/gstgetbits.sgml:
24888         * docs/libs/tmpl/gstputbits.sgml:
24889
24890 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
24891
24892         * win32/gstenumtypes.c:
24893         * win32/gstenumtypes.h:
24894           Update.
24895
24896 2005-09-19  Wim Taymans  <wim@fluendo.com>
24897
24898         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
24899         Automatically PAUSE and RESUME a pipeline when a flushing seek
24900         is performed.
24901
24902 2005-09-19  Andy Wingo  <wingo@pobox.com>
24903
24904         * gst/gstregistry.h: Spacing fixen.
24905
24906 2005-09-19  Wim Taymans  <wim@fluendo.com>
24907
24908         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
24909         Handle state change failure more correctly.
24910
24911 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24912
24913         * check/Makefile.am:
24914         * check/pipelines/cleanup.c: (run_pipeline):
24915         * check/pipelines/simple_launch_lines.c: (run_pipeline),
24916         (GST_START_TEST):
24917           enable cleanup again after fixing the leak
24918         * docs/README:
24919           some more info on docs
24920
24921 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24922
24923         * check/Makefile.am:
24924           re-enable tests now that leaks are plugged
24925         * check/gst/gst.c:
24926         * check/gst/gstbin.c:
24927         * check/gst/gstpipeline.c:
24928           add some more tests while fixing leaks
24929         * common/check.mak:
24930           make sure binaries are uptodate when valgrinding/gdbing
24931         * gst/gst.c:
24932         * gst/gstelementfactory.c:
24933           remove a ref too many, and add a FIXME for when we get
24934           round to disposing of classes
24935         * gst/gstplugin.c:
24936           fix the refcounting when loading a plugin from a file and
24937           the code pretends that the pointer is the same even though
24938           of course it can change
24939         * gst/gstpluginfeature.c:
24940           unref plugins marked cached (a bit confusing as a name)
24941           as the docs state should be done
24942           various doc additions to explain refcounting
24943         * gst/gstregistry.c:
24944         * gst/gstregistryxml.c:
24945           debugging
24946
24947 2005-09-19  Wim Taymans  <wim@fluendo.com>
24948
24949         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
24950         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24951         (send_messages), (GST_START_TEST), (gstbus_suite):
24952         * check/gst/gstpipeline.c: (GST_START_TEST):
24953         * check/pipelines/cleanup.c: (run_pipeline):
24954         * check/pipelines/simple_launch_lines.c: (run_pipeline),
24955         (GST_START_TEST):
24956         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
24957         (gst_bus_source_check), (gst_bus_source_dispatch),
24958         (gst_bus_create_watch), (gst_bus_add_watch_full),
24959         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
24960         * gst/gstbus.h:
24961         * tools/gst-launch.c: (event_loop):
24962         * tools/gst-md5sum.c: (event_loop):
24963         GstBusHandler -> GstBusFunc, return value has the same meaning as
24964         any other GSource (FALSE == remove source).
24965         _add_watch() and _add_watch_full() now take a MessageType mask to
24966         only handle specific types of messages.
24967         _poll() returns the GstMessage instead of the message type to avoid
24968         race conditions.
24969         _have_pending() takes a MessageType mask now too.
24970         Added testsuite for multiple bus watches.
24971         Fix testsuites and applications for new bus API.
24972
24973 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24974
24975         * check/Makefile.am:
24976           mark a bunch of the tests as to fix until we fix them
24977
24978 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
24979
24980         * common/check.mak:
24981           use GST_PLUGIN settings for valgrind tests as well, so we're
24982           valgrinding the correct thing
24983         * gst/gst.c: (init_post):
24984           plug another leak
24985
24986 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
24987
24988         * gst/gst.c: (init_post), (gst_deinit):
24989         * gst/gstelementfactory.c: (gst_element_factory_class_init),
24990         (gst_element_factory_finalize), (gst_element_factory_cleanup):
24991         * gst/gstindex.c: (gst_index_factory_class_init),
24992         (gst_index_factory_finalize):
24993         * gst/gstobject.c: (gst_object_dispose):
24994         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
24995         (gst_plugin_load_file), (gst_plugin_desc_free):
24996         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
24997         (gst_plugin_feature_finalize):
24998         * gst/gstregistry.c: (gst_registry_class_init),
24999         (gst_registry_init), (gst_registry_finalize),
25000         (gst_registry_get_default), (gst_registry_deinit):
25001         * gst/gstregistry.h:
25002         * gst/gstregistryxml.c: (load_feature), (load_plugin):
25003           various cleanups and memleak plugging.  make valgrind is happy now.
25004
25005 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
25006
25007         * common/check.mak:
25008           add a check-valgrind target
25009
25010 2005-09-18  David Schleef  <ds@schleef.org>
25011
25012         * tools/gst-inspect.c: Revert the GOption code.
25013
25014 2005-09-17  David Schleef  <ds@schleef.org>
25015
25016         * check/Makefile.am: Fix environment variables.
25017         * check/gst/gstplugin.c: Fix for API changes.
25018         * tools/gst-inspect.c: Fix for API changes.
25019         * tools/gst-xmlinspect.c: Fix for API changes.
25020         * gst/gstelementfactory.c:
25021         * gst/gstplugin.c:
25022         * gst/gstplugin.h:
25023         * gst/gstpluginfeature.c:
25024         * gst/gstpluginfeature.h:
25025         * gst/gstregistry.c:
25026         * gst/gstregistry.h:
25027         * gst/gstregistryxml.c:
25028         * gst/gsttypefind.c:
25029         * gst/gsttypefindfactory.c:
25030         * gst/indexers/gstfileindex.c:
25031         * gst/indexers/gstmemindex.c:
25032         * gst/schedulers/Makefile.am:
25033           Change registry to keep track of both plugins and features,
25034           removing the feature tracking from plugins themselves.
25035
25036 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
25037
25038         * check/Makefile.am:
25039         * tools/gst-register.1.in:
25040           remove gst-register
25041
25042 2005-09-15  David Schleef  <ds@schleef.org>
25043
25044         * check/gst/gstplugin.c:
25045         * gst/gstelementfactory.c:
25046         * gst/gstplugin.c:
25047         * gst/gstpluginfeature.c:
25048         * gst/gstregistry.c:
25049           Getting tired of debugging.  Disabled all the unreffing of
25050           plugins and features, which fixes the segfaults, but of
25051           course leaks like crazy.  At least playbin works.
25052
25053 2005-09-15  David Schleef  <ds@schleef.org>
25054
25055         * check/gst/gstplugin.c: (register_check_elements),
25056         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
25057         More testing
25058         * gst/elements/gsttypefindelement.c: Fix refcounting.
25059         * gst/gsttypefind.c:
25060         * gst/gsttypefindfactory.c:
25061         * gst/gsttypefindfactory.h:
25062
25063 2005-09-15  David Schleef  <ds@schleef.org>
25064
25065         * gst/gstindex.c: get refcounting correct.
25066         * gst/gstregistry.c: Handle the case where a feature/plugin is
25067           not found.
25068
25069 2005-09-15  David Schleef  <ds@schleef.org>
25070
25071         * check/Makefile.am:
25072         * check/gst/gstplugin.c: Add test
25073         * gst/gstplugin.c: Fix problems noticed by testsuite
25074         * gst/gstplugin.h:
25075         * gst/gstregistry.c: 
25076         * gst/gstregistry.h:
25077
25078 2005-09-15  David Schleef  <ds@schleef.org>
25079
25080         * gst/gstplugin.c: Implement semi-decent recounting and locking
25081           in plugins and plugin features.
25082         * gst/gstplugin.h:
25083         * gst/gstpluginfeature.c:
25084         * gst/gstpluginfeature.h:
25085         * gst/gstregistry.c:
25086
25087 2005-09-15  Michael Smith <msmith@fluendo.com>
25088
25089         * gst/gstregistry.c: (gst_registry_get_feature_list):
25090           Implement this. Makes oggdemux work; decodebin still broken.
25091
25092 2005-09-14  David Schleef  <ds@schleef.org>
25093
25094         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
25095           #316076)
25096         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
25097         * gst/check/Makefile.am:
25098         * libs/gst/controller/Makefile.am:
25099         * libs/gst/dataprotocol/Makefile.am:
25100
25101 2005-09-14  David Schleef  <ds@schleef.org>
25102
25103         * configure.ac: Remove getbits library.  Nothing uses it, and
25104           it should be in something like liboil if someone did want
25105           to use it.
25106         * libs/gst/Makefile.am:
25107         * libs/gst/getbits/Makefile.am:
25108         * libs/gst/getbits/gbtest.c:
25109         * libs/gst/getbits/getbits.c:
25110         * libs/gst/getbits/getbits.h:
25111         * libs/gst/getbits/gstgetbits_generic.c:
25112         * libs/gst/getbits/gstgetbits_i386.s:
25113         * libs/gst/getbits/gstgetbits_inl.h:
25114
25115 2005-09-14  David Schleef  <ds@schleef.org>
25116
25117         * gst/Makefile.am: Dist glib-compat.h
25118
25119 2005-09-14  David Schleef  <ds@schleef.org>
25120
25121         * configure.ac: Remove gst/registries, since it's no longer used.
25122         * gst/registries/Makefile.am:
25123         * gst/registries/gstlibxmlregistry.c:
25124         * gst/registries/gstlibxmlregistry.h:
25125         * gst/registries/gstxmlregistry.c:
25126         * gst/registries/gstxmlregistry.h:
25127         * gst/registries/registrytest.c:
25128
25129 2005-09-14  David Schleef  <ds@schleef.org>
25130
25131         * gst/glib-compat.h:
25132         * gst/gstregistryxml.c:
25133           Convergence is near.  Seriously.
25134
25135 2005-09-14  David Schleef  <ds@schleef.org>
25136
25137         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25138         * gst/glib-compat.h:
25139           Attempt #4 to appease the buildbots.
25140
25141 2005-09-14  David Schleef  <ds@schleef.org>
25142
25143         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25144           Attempt #3.
25145
25146 2005-09-14  David Schleef  <ds@schleef.org>
25147
25148         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25149         Attempt #2.
25150
25151 2005-09-14  David Schleef  <ds@schleef.org>
25152
25153         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
25154           the new functions.
25155
25156 2005-09-14  David Schleef  <ds@schleef.org>
25157
25158         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25159         * gst/glib-compat.h: Add some functions that are in newer versions
25160           of glib than we care to require.
25161         * gst/gstregistryxml.c: Use them.
25162
25163 2005-09-14  David Schleef  <ds@schleef.org>
25164
25165         * po/POTFILES.in: remove gst-register.c
25166
25167 2005-09-14  David Schleef  <ds@schleef.org>
25168
25169         * docs/gst/gstreamer-docs.sgml:
25170         * docs/gst/gstreamer-sections.txt:
25171         * docs/gst/gstreamer.types:
25172         * docs/gst/tmpl/gstelement.sgml:
25173         * docs/gst/tmpl/gstplugin.sgml:
25174         * docs/gst/tmpl/gstpluginfeature.sgml:
25175           Documentation updates for registry changes.
25176
25177 2005-09-14  David Schleef  <ds@schleef.org>
25178
25179         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
25180           because we don't require glib-2.8.
25181
25182 2005-09-14  David Schleef  <ds@schleef.org>
25183
25184         * gst/gstregistryxml.c: Added.  Essentially moved out of the
25185           registries directory.
25186
25187 2005-09-14  David Schleef  <ds@schleef.org>
25188
25189         * check/Makefile.am:
25190         * check/generic/states.c:
25191         * gst/Makefile.am:
25192         * gst/gst.c:
25193         * gst/gst.h:
25194         * gst/gst_private.h:
25195         * gst/gstelementfactory.c:
25196         * gst/gstindex.c:
25197         * gst/gstinfo.c:
25198         * gst/gstplugin.c:
25199         * gst/gstplugin.h:
25200         * gst/gstpluginfeature.c:
25201         * gst/gstpluginfeature.h:
25202         * gst/gstregistry.c:
25203         * gst/gstregistry.h:
25204         * gst/gstregistrypool.c: remove
25205         * gst/gstregistrypool.h: remove
25206         * gst/gsttypefind.c:
25207         * gst/gsttypefindfactory.c:
25208         * gst/gsturi.c:
25209         * tools/Makefile.am:
25210         * tools/gst-compprep.c:
25211         * tools/gst-inspect.c:
25212         * tools/gst-register.c: remove
25213         * tools/gst-xmlinspect.c:
25214           Registry rewrite.  Changes registry from being a file created
25215           by a tool into a simple cache file created automatically by 
25216           libgstreamer.  Removed gst-register (because it's no longer
25217           needed).  Remove registry pools, because we only have one
25218           registry implementation (XML).  Fix up other subsystems as
25219           necessary.
25220
25221 2005-09-13  Michael Smith <msmith@fluendo.com>
25222
25223         * gst/gstconfig.h.in:
25224           Don't Use windows linking attributes for MinGW. Fixes #316157
25225
25226 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
25227
25228         * gst/gstutils.c: (set_state_async_thread_func),
25229         (gst_element_set_state_async):
25230           Apparently people think it's better if this function doesn't
25231           try to set the state to whatever state was asked for on the first
25232           call to this function for any object.  Seriously.
25233
25234 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25235
25236         * check/gst/gstpipeline.c: (GST_START_TEST):
25237         * docs/gst/gstreamer-sections.txt:
25238         * gst/gstutils.c: (set_state_async_thread_func),
25239         (gst_element_set_state_async):
25240         * gst/gstutils.h:
25241           add a "gst_element_set_state_async" method that
25242           sets the state and starts a thread to make sure the state
25243           change completes as best as it can
25244
25245 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25246
25247         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
25248           codify design+behaviour in testsuite after discussion
25249
25250 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25251
25252         * docs/gst/tmpl/gstelement.sgml:
25253         * docs/manual/appendix-quotes.xml:
25254           add a quote
25255         * gst/gstelement.c: (gst_element_set_state):
25256           add some debug
25257
25258 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
25259
25260         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25261         (gst_base_transform_prepare_output_buf),
25262         (gst_base_transform_handle_buffer):
25263         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
25264         (gst_capsfilter_prepare_buf):
25265           Remove the requirement for sub-classes to call the parent
25266           implementation of prepare_output_buffer with a wrapper function.
25267           
25268         * gst/gsttaglist.h:
25269         * gst/gsttagsetter.h:
25270           Fix #define wrapper
25271
25272 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
25273
25274         * docs/gst/gstreamer-sections.txt:
25275           more doc cleanups
25276
25277 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25278
25279         * docs/gst/gstreamer-sections.txt:
25280         * docs/gst/tmpl/gstelement.sgml:
25281         * docs/gst/tmpl/gstplugin.sgml:
25282         * gst/gstminiobject.c:
25283         * gst/gstvalue.h:
25284           docs now stop throwing warnings
25285
25286 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25287
25288         * docs/gst/gstreamer-sections.txt:
25289         * docs/gst/gstreamer.types:
25290         * docs/gst/tmpl/gstpad.sgml:
25291         * docs/gst/tmpl/gsttypes.sgml:
25292         * gst/base/gstadapter.h:
25293         * gst/base/gstbasesink.h:
25294         * gst/base/gstbasesrc.h:
25295         * gst/gstbin.h:
25296         * gst/gstbuffer.h:
25297         * gst/gstbus.h:
25298         * gst/gstcaps.h:
25299         * gst/gstclock.h:
25300         * gst/gstelement.h:
25301         * gst/gstevent.h:
25302         * gst/gstmessage.h:
25303         * gst/gstpad.h:
25304         * gst/gststructure.c:
25305         * gst/registries/gstlibxmlregistry.h:
25306           various documentation fixes
25307
25308 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25309
25310         * docs/gst/gstreamer-sections.txt:
25311         * docs/gst/tmpl/gstvalue.sgml:
25312           rearrange gstvalue section
25313         * gst/gstutils.c: (gst_element_state_get_name):
25314           NONE -> VOID
25315         * gst/gstvalue.c: (_gst_value_initialize):
25316         * gst/gstvalue.h:
25317           doc updates
25318
25319 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
25320
25321         * check/gst-libs/controller.c:
25322           Header include fix.
25323         * gst/base/gstbasetransform.c:
25324         (gst_base_transform_default_prepare_buf),
25325         (gst_base_transform_handle_buffer):
25326         * gst/base/gstbasetransform.h:
25327           Some more basetransform changes and fixes to enable sub-classes
25328           that modify buffer metadata only.
25329         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25330         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
25331         (gst_capsfilter_prepare_buf):
25332           If the output pad has fixed allowed caps and input buffers 
25333           don't have any, set the fixed caps on outgoing buffers.
25334
25335 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
25336         * check/elements/identity.c: (GST_START_TEST):
25337           Make the error a little clearer when the test fails because
25338           identity made a copy of the buffer.
25339         * docs/gst/gstreamer-sections.txt:
25340           New symbols in gstbasetransform.h
25341         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25342         (gst_base_transform_init), (gst_base_transform_transform_size),
25343         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25344         (gst_base_transform_default_prepare_buf),
25345         (gst_base_transform_get_unit_size),
25346         (gst_base_transform_buffer_alloc),
25347         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
25348         (gst_base_transform_change_state),
25349         (gst_base_transform_set_passthrough),
25350         (gst_base_transform_set_in_place),
25351         (gst_base_transform_is_in_place):
25352         * gst/base/gstbasetransform.h:
25353           Change BaseTransform to separate in_place operate from same_caps
25354           output. in_place implies that the element can perform the transform
25355           on incoming buffers in-place, even if the caps on the output are
25356           different.
25357           Sub-class elements can now implement special buffer allocation
25358           methods for outgoing buffers if they wish to.
25359           Big documentation addition.
25360         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
25361         * gst/elements/gstelements.c:
25362           Changes for basetransform modifications.
25363         * gst/elements/Makefile.am:
25364         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
25365           Compile fix. Extra debug output.
25366
25367 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25368
25369         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
25370         (gst_pad_suite):
25371           add tests for valid pad naming
25372         * gst/check/gstcheck.c: (gst_check_log_message_func),
25373         (gst_check_log_critical_func):
25374           add ASSERT_WARNING
25375           remove printing of code, it is fragile when the code contains
25376           % and the line number is enough info
25377         * gst/check/gstcheck.h:
25378         * gst/gstpad.c: (gst_pad_template_new):
25379           fix memleaks
25380
25381 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25382
25383         * configure.ac:
25384           say what CHECK flags we use
25385         * docs/libs/gstreamer-libs.types:
25386         * libs/gst/controller/Makefile.am:
25387         * libs/gst/controller/gst-controller.c:
25388         * libs/gst/controller/gst-controller.h:
25389         * libs/gst/controller/gst-helper.c:
25390         * libs/gst/controller/gst-interpolation.c:
25391         * libs/gst/controller/gstcontroller.c:
25392         * libs/gst/controller/gsthelper.c:
25393         * libs/gst/controller/gstinterpolation.c:
25394         * tools/gst-inspect.c: (print_plugin_info):
25395           we don't use dashes in header names
25396
25397 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25398
25399         * check/Makefile.am:
25400         * check/gst/.cvsignore:
25401         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
25402         (gst_pipeline_suite), (main):
25403           adding a test for pipelines and state changes
25404         * gst/gstutils.c: (get_state_func):
25405           add some debugging
25406         * gstreamer.spec.in:
25407           fix up spec file
25408
25409 2005-09-08  Michael Smith <msmith@fluendo.com>
25410
25411         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
25412         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
25413         (gst_file_src_is_seekable), (gst_file_src_get_size),
25414         (gst_file_src_start):
25415         * gst/elements/gstfilesrc.h:
25416           Various fixes for unseekable, unmmapable, and non-normal files, so
25417           that fallback to read() rather than mmap() works.
25418         * gst/gstevent.c: (gst_event_new_newsegment):
25419           Allow newsegment events with segment_start == segment_end, as will
25420           correctly happen if you use filesrc on a zero-size file, for
25421           example.
25422
25423 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25424
25425         * gst/gstplugin.c: (gst_plugin_load_file):
25426           Call g_module_close when we don't load the module
25427
25428         * gst/registries/gstlibxmlregistry.c:
25429         (gst_xml_registry_get_property):
25430           Port leak fix from 0.8
25431
25432 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25433
25434         * docs/gst/gstreamer-docs.sgml:
25435         * docs/gst/tmpl/.cvsignore:
25436         * docs/gst/tmpl/gsttrace.sgml:
25437         * docs/gst/tmpl/gsttrashstack.sgml:
25438         * gst/Makefile.am:
25439         * gst/gst.h:
25440         * gst/gstelement.h:
25441         * gst/gstevent.h:
25442         * gst/gstmessage.c:
25443         * gst/gstmessage.h:
25444         * gst/gsttag.c:
25445         * gst/gsttag.h:
25446         * gst/gsttaginterface.c:
25447         * gst/gsttaginterface.h:
25448         * gst/gsttaglist.c:
25449         * gst/gsttaglist.h:
25450         * gst/gsttagsetter.c:
25451         * gst/gsttagsetter.h:
25452         * gst/gsttrace.c:
25453         * gst/gsttrace.h:
25454         * gst/gsttrashstack.c:
25455           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
25456           inlined docs for gsttrace, gsttrashstack
25457
25458 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25459
25460         * gst/Makefile.am:
25461         * gst/elements/gstbufferstore.h:
25462         * gst/elements/gsttypefindelement.c:
25463         * gst/elements/gsttypefindelement.h:
25464         * gst/gst.h:
25465         * gst/gsttypefind.c:
25466         * gst/gsttypefind.h:
25467         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
25468         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
25469         (gst_type_find_factory_dispose),
25470         (gst_type_find_factory_unload_thyself),
25471         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
25472         (gst_type_find_factory_get_caps),
25473         (gst_type_find_factory_get_extensions),
25474         (gst_type_find_factory_call_function):
25475         * gst/gsttypefindfactory.h:
25476         * gst/registries/gstlibxmlregistry.c:
25477         * gst/registries/gstxmlregistry.c:
25478           splitted gsttypefind into gsttypefind, gsttypefindfactory
25479
25480 2005-09-07  Andy Wingo  <wingo@pobox.com>
25481
25482         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
25483         condition whereby the pad's task function is entered before the
25484         pad_mode variable was set.
25485
25486 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25487
25488         * gst/gstpad.c: (gst_pad_alloc_buffer):
25489           Catch misbehaving pad_alloc functions that don't
25490           set up caps and do it for them.
25491
25492 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25493
25494         * check/pipelines/simple_launch_lines.c: (run_pipeline):
25495           test for pipe!=NULL
25496         * docs/gst/tmpl/.cvsignore:
25497         * docs/gst/tmpl/gstmemchunk.sgml:
25498         * docs/gst/tmpl/gstparse.sgml:
25499         * docs/gst/tmpl/gsttaglist.sgml:
25500         * docs/gst/tmpl/gsttagsetter.sgml:
25501         * docs/gst/tmpl/gsttypefind.sgml:
25502         * docs/gst/tmpl/gsttypefindfactory.sgml:
25503         * gst/gstmemchunk.c:
25504         * gst/gstparse.c:
25505         * gst/gsttag.c:
25506         * gst/gsttaginterface.c:
25507         * gst/gsttypefind.c:
25508         * gst/gsttypefind.h:
25509           inlined more docs
25510
25511 === release 0.9.2 ===
25512
25513 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
25514
25515         * NEWS:
25516         * RELEASE:
25517         * configure.ac:
25518           releasing 0.9.2, "South"
25519
25520 2005-09-05  Andy Wingo  <wingo@pobox.com>
25521
25522         * gst/registries/gstxmlregistry.h:
25523         * gst/registries/gstxmlregistry.c: Um... resurrect...
25524         
25525         * gst/registries/gstxmlregistry.h:
25526         * gst/registries/gstxmlregistry.c: and update to newer API.
25527         Incidentally they should be a bit faster now that they don't have
25528         to parse the caps.
25529         
25530 2005-09-05  Andy Wingo  <wingo@pobox.com>
25531
25532         * gst/registries/gstxmlregistry.h:
25533         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
25534         replaced by the libxml registry a while back
25535
25536 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25537
25538         * docs/gst/tmpl/gstplugin.sgml:
25539         * gst/elements/gstelements.c:
25540         * gst/gst.c:
25541         * gst/gstplugin.c: (gst_plugin_register_func),
25542         (gst_plugin_desc_copy), (gst_plugin_desc_free),
25543         (gst_plugin_get_source):
25544         * gst/gstplugin.h:
25545         * gst/registries/gstlibxmlregistry.c: (load_plugin),
25546         (gst_xml_registry_save_plugin):
25547         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
25548         (gst_xml_registry_save_plugin):
25549         * tools/gst-inspect.c: (print_plugin_info):
25550           add a "source" plugin description field, to represent the source
25551           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
25552           will set it to PACKAGE, which is automake's idea of the name of
25553           the source project.
25554
25555 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25556
25557         * Makefile.am:
25558         * autogen.sh:
25559         * configure.ac:
25560         * docs/Makefile.am:
25561         * docs/faq/Makefile.am:
25562         * docs/gst/tmpl/gstelement.sgml:
25563         * docs/gst/tmpl/gsttypes.sgml:
25564         * docs/htmlinstall.mak:
25565         * docs/manual/Makefile.am:
25566         * docs/pwg/Makefile.am:
25567           reorganize doc build a little
25568           split out docbook and gtk-doc stuff
25569           have two separate --enable's and enable them through autogen
25570           but disable by default in configure (to be similar to other
25571           projects)
25572         * gstreamer.spec.in:
25573           clean up docs install
25574         * po/af.po:
25575         * po/az.po:
25576         * po/ca.po:
25577         * po/cs.po:
25578         * po/de.po:
25579         * po/en_GB.po:
25580         * po/fr.po:
25581         * po/it.po:
25582         * po/nb.po:
25583         * po/nl.po:
25584         * po/ru.po:
25585         * po/sq.po:
25586         * po/sr.po:
25587         * po/sv.po:
25588         * po/tr.po:
25589         * po/uk.po:
25590         * po/vi.po:
25591           translation updates
25592
25593 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
25594
25595         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
25596           Add comment.
25597           
25598         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25599         (gst_fake_sink_change_state):
25600           Make state change function thread-safe.
25601           
25602         * gst/gstpad.c: (gst_pad_alloc_buffer):
25603           Set offset on generic buffer allocated by fallback.
25604
25605 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
25606
25607         * docs/gst/gstreamer-sections.txt:
25608         * docs/gst/tmpl/gstelement.sgml:
25609         * gst/gstpad.c:
25610         * libs/gst/controller/gst-controller.c:
25611         (gst_controlled_property_set_interpolation_mode),
25612         (gst_controlled_property_new),
25613         (gst_controller_find_controlled_property):
25614          run the wingo-magic script against the docs
25615
25616 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25617
25618         * docs/gst/gstreamer-docs.sgml:
25619         * docs/gst/gstreamer-sections.txt:
25620         * docs/gst/tmpl/.cvsignore:
25621         * docs/gst/tmpl/gstelementdetails.sgml:
25622         * docs/gst/tmpl/gstelementfactory.sgml:
25623         * gst/gst.c:
25624         * gst/gstbus.c:
25625         * gst/gstelementfactory.c:
25626         * gst/gstelementfactory.h:
25627           merged elementdetails docs into elementfactory docs
25628           inlined both
25629
25630 2005-09-02  Andy Wingo  <wingo@pobox.com>
25631
25632         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
25633         consider this enum an enum and not a flags.
25634
25635 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25636
25637         * docs/gst/gstreamer-docs.sgml:
25638         * docs/gst/tmpl/.cvsignore:
25639         * docs/gst/tmpl/gstghostpad.sgml:
25640         * docs/gst/tmpl/gstiterator.sgml:
25641         * docs/gst/tmpl/gstmacros.sgml:
25642         * docs/gst/tmpl/gstrealpad.sgml:
25643         * docs/gst/tmpl/gstregistry.sgml:
25644         * docs/gst/tmpl/gstregistrypool.sgml:
25645         * docs/gst/tmpl/gststructure.sgml:
25646         * docs/gst/tmpl/gstsystemclock.sgml:
25647         * docs/gst/tmpl/gsttrace.sgml:
25648         * gst/gstghostpad.c:
25649         * gst/gstmacros.h:
25650         * gst/gstmemchunk.c:
25651         * gst/gstmemchunk.h:
25652         * gst/gstqueue.c:
25653         * gst/gstregistry.c:
25654         * gst/gstregistrypool.c:
25655         * gst/gststructure.c:
25656         * gst/gstsystemclock.c:
25657           more docs inlined
25658
25659 2005-09-02  Andy Wingo  <wingo@pobox.com>
25660
25661         * gst/gstelement.h (GstState): Renamed from GstElementState,
25662         changed to be a normal enum instead of flags.
25663         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
25664         munged to be GST_STATE_CHANGE_*.
25665         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
25666         work with the new state representation.
25667         (GstStateChange): New enumeration of possible state transitions.
25668         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
25669         (GstElementClass::change_state): Pass the GstStateChange along as
25670         an argument. Helps language bindings, so they don't have to use
25671         tricky lock-needing macros like GST_STATE_CHANGE ().
25672
25673         * scripts/update-states (file): New script. Run it on a file to
25674         update it for state naming and API changes. Updates files in
25675         place.
25676
25677         * All files updated for the new API.
25678
25679 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
25680
25681         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
25682         * gst/gstutils.c: (gst_util_set_value_from_string),
25683         (gst_util_set_object_arg):
25684           fix a bunch of unchecked return values
25685         * tools/gst-complete.c: (main):
25686         * gstreamer.spec.in:
25687           clean up a little
25688
25689 2005-09-01  Wim Taymans  <wim@fluendo.com>
25690
25691         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25692         (gst_base_sink_event), (gst_base_sink_do_sync),
25693         (gst_base_sink_handle_event):
25694         * gst/base/gstbasesink.h:
25695         Handle newsegments more correctly.
25696
25697         * gst/gstbus.c:
25698         Fix docs.
25699
25700         * gst/gstevent.c: (gst_event_new_newsegment):
25701         A newsegment cannot have a start_time of -1
25702
25703 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
25704
25705         * win32/gstenumtypes.c:
25706         * win32/gstenumtypes.h:
25707           Update
25708
25709 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25710
25711         * libs/gst/controller/gst-controller.c:
25712         (gst_controlled_property_set_interpolation_mode),
25713         (gst_controlled_property_new):
25714          fixed boolean again
25715
25716 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
25717
25718         * docs/faq/gst-uninstalled:
25719           add -good
25720         * gst/gstevent.c:
25721         * gst/gstevent.h:
25722           remove wrong docs
25723         * gst/gstutils.c: (gst_element_link_filtered):
25724         * gst/gstutils.h:
25725           add gst_element_link_filtered
25726
25727 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25728
25729         * docs/gst/gstreamer-docs.sgml:
25730         * docs/gst/gstreamer-sections.txt:
25731         * docs/gst/tmpl/.cvsignore:
25732         * docs/gst/tmpl/gsterror.sgml:
25733         * docs/gst/tmpl/gstfilter.sgml:
25734         * docs/gst/tmpl/gsturihandler.sgml:
25735         * docs/gst/tmpl/gsturitype.sgml:
25736         * docs/gst/tmpl/gstutils.sgml:
25737         * docs/gst/tmpl/gstxml.sgml:
25738         * gst/gsterror.c:
25739         * gst/gsterror.h:
25740         * gst/gstfilter.c:
25741         * gst/gsturi.c:
25742         * gst/gsturitype.c:
25743         * gst/gstutils.c:
25744         * gst/gstxml.c:
25745           inlined more docs, fixed double id-ref
25746
25747 2005-08-31  Wim Taymans  <wim@fluendo.com>
25748
25749         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25750         (gst_base_transform_handle_buffer):
25751         Passthrough elements don't need the caps as they don't care.
25752
25753 2005-08-31  Wim Taymans  <wim@fluendo.com>
25754
25755         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25756         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
25757         Don't leak refcounts on buffers.
25758
25759 2005-08-31  Wim Taymans  <wim@fluendo.com>
25760
25761         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
25762         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
25763         (gst_base_transform_chain), (gst_base_transform_change_state):
25764         * gst/base/gstbasetransform.h:
25765         Handle the case where we are not negotiated more gracefully.
25766
25767 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
25768
25769         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
25770         (gst_file_src_map_region):
25771           Set READONLY flag on mmap'ed buffers, otherwise
25772           gst_buffer_make_writable() won't work properly (#314708).
25773
25774 2005-08-31  Wim Taymans  <wim@fluendo.com>
25775
25776         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
25777         passthrough elements can even do inplace on non writable
25778         buffers (as they don't touch them).
25779
25780 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25781
25782         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
25783         (gst_test_mono_source_set_property),
25784         (gst_test_mono_source_class_init), (GST_START_TEST),
25785         (gst_controller_suite):
25786           more tests (hehe I have the most)
25787         * gst/gstbus.c:
25788           describe popping messages whenusing mulltiple sources
25789         * libs/gst/controller/gst-controller.c:
25790         (gst_controlled_property_set_interpolation_mode),
25791         (gst_controlled_property_new):
25792         * libs/gst/controller/gst-controller.h:
25793         * libs/gst/controller/gst-interpolation.c:
25794           implement boolean properties
25795
25796 2005-08-31  Wim Taymans  <wim@fluendo.com>
25797
25798         * gst/gstminiobject.c: (gst_mini_object_ref):
25799         Cannot assert that the refcount has to be positive
25800         since a disposed object can be resurrected.
25801
25802 2005-08-31  Wim Taymans  <wim@fluendo.com>
25803
25804         * gst/gstpad.c: (gst_pad_init):
25805         Revert change, need to first fix badly behaving 
25806         apps.
25807
25808 2005-08-30  Wim Taymans  <wim@fluendo.com>
25809
25810         * check/elements/fakesrc.c: (setup_fakesrc):
25811         * check/elements/identity.c: (setup_identity):
25812         Activate pads before using them.
25813
25814 2005-08-30  Wim Taymans  <wim@fluendo.com>
25815
25816         * gst/base/gstadapter.c: (gst_adapter_flush):
25817         Flushing out 0 bytes is ok for this function.
25818
25819         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25820         no newsegment gives a warning and sets the start/stop to 
25821         invalid.
25822
25823         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
25824         (gst_base_transform_set_passthrough):
25825         Some debug info.
25826
25827         * gst/gstminiobject.c: (gst_mini_object_ref):
25828         Check refcount here too.
25829
25830         * gst/gstpad.c: (gst_pad_init):
25831         Pads are initially flushing and refusing data.
25832
25833         * gst/gstutils.c: (gst_element_link_pads_filtered):
25834         When adding a capsfilter element make sure it has the
25835         same state as the parent bin.
25836
25837 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25838
25839         * docs/gst/tmpl/.cvsignore:
25840         * docs/gst/tmpl/gstformat.sgml:
25841         * docs/gst/tmpl/gstversion.sgml:
25842         * gst/gstbus.h:
25843         * gst/gstformat.c:
25844         * gst/gstformat.h:
25845         * gst/gstversion.h.in:
25846           more docs and two more inlined
25847
25848 2005-08-30  Wim Taymans  <wim@fluendo.com>
25849
25850         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
25851         Don't sync to clock.
25852
25853 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25854
25855         * docs/gst/gstreamer-sections.txt:
25856           ultral33t func10ns deserve to appear in the docs actually
25857         * docs/gst/tmpl/.cvsignore:
25858         * docs/gst/tmpl/gstcompat.sgml:
25859         * docs/gst/tmpl/gstconfig.sgml:
25860         * gst/check/gstcheck.c:
25861         * gst/gstcompat.h:
25862         * gst/gstconfig.h.in:
25863           inlined more docs
25864
25865 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25866
25867         * docs/gst/tmpl/.cvsignore:
25868         * docs/gst/tmpl/gstquery.sgml:
25869         * docs/gst/tmpl/gstutils.sgml:
25870         * gst/gstquery.c:
25871         * gst/gstquery.h:
25872           inlined and extended docs
25873
25874 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25875
25876         * check/gst-libs/controller.c: (GST_START_TEST),
25877         (gst_controller_suite):
25878           more tests
25879         * docs/gst/tmpl/gstutils.sgml:
25880         * docs/libs/gstreamer-libs-sections.txt:
25881         * docs/libs/tmpl/gstdataprotocol.sgml:
25882           include path fixes
25883         * examples/controller/audio-example.c: (main):
25884           controller example works now
25885         * gst/gstclock.h:
25886           doc fixes
25887         * tools/gst-inspect.c: (print_element_properties_info):
25888           show param spec flags
25889
25890 2005-08-29  Andy Wingo  <wingo@pobox.com>
25891
25892         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
25893
25894 2005-08-28  Andy Wingo  <wingo@pobox.com>
25895
25896         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
25897         as having two arguments instead of just one. Allows superclasses
25898         to access information on subclasses -- see the terrible for() loop
25899         in gtype.c:g_type_create_instance for the reason why. All callers
25900         changed.
25901
25902 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
25903
25904         * docs/design/part-messages.txt:
25905           update info
25906         * docs/gst/tmpl/.cvsignore:
25907         * docs/gst/tmpl/gstcaps.sgml:
25908         * docs/gst/tmpl/gstclock.sgml:
25909         * gst/gstbus.c:
25910         * gst/gstcaps.c:
25911         * gst/gstcaps.h:
25912         * gst/gstclock.c:
25913         * gst/gstclock.h:
25914         * gst/gstmessage.c:
25915           added descriptions for bus and message
25916           inline caps and clock docs
25917
25918 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
25919
25920         * gst/gstmessage.c:
25921         * gst/gstmessage.h:
25922           doc fixes
25923
25924 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
25925
25926         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
25927           fix div-by-zero
25928
25929 2005-08-26  Andy Wingo  <wingo@pobox.com>
25930
25931         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
25932         element_set_state's return val.
25933         (test_2_elements): Add test that's been disabled for months.
25934
25935         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
25936         can-activate-pull properties.
25937
25938         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
25939         can-activate-pull properties. Implement is_seekable so fakesrc can
25940         operate in pull mode.
25941
25942         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
25943         properties.
25944         (gst_base_sink_activate, gst_base_sink_activate_pull)
25945         (gst_base_sink_activate_push): Make activation mode choosing work.
25946         Cleanups.
25947         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
25948         is right. Make pull mode work. Post an eos before pausing in pull
25949         mode.
25950         (gst_base_sink_change_state): Pay attention to the core's
25951         change_state() return val.
25952         
25953         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
25954         has-getrange properties. Cleanups.
25955         
25956         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
25957         has_getrange and replace with can_activate_pull and
25958         can_activate_push.
25959
25960         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
25961         locking comments. Remove has_loop, has_chain and replace with
25962         can_activate_pull and can_activate_push.
25963
25964 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
25965
25966         * configure.ac:
25967         * examples/Makefile.am:
25968         * examples/metadata/Makefile.am:
25969         * examples/metadata/read-metadata.c: (message_loop),
25970         (have_pad_handler), (make_pipeline), (print_tag), (main):
25971           Add metadata reading example that loops over a list of filenames,
25972           dumping any tags found.
25973
25974         * gst/gstbus.c: (gst_bus_dispose):
25975         * gst/gstelement.c: (gst_element_dispose):
25976           Release a few potentially-held references in dispose.
25977
25978 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
25979
25980         * docs/gst/tmpl/gstminiobject.sgml:
25981           do *not* add tmpl/*.sgml files to CVS!
25982
25983 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
25984
25985         * libs/gst/bytestream/.cvsignore:
25986         * libs/gst/bytestream/Makefile.am:
25987         * libs/gst/bytestream/adapter.c:
25988         * libs/gst/bytestream/adapter.h:
25989         * libs/gst/bytestream/bytestream.c:
25990         * libs/gst/bytestream/bytestream.h:
25991         * libs/gst/bytestream/filepad.c:
25992         * libs/gst/bytestream/filepad.h:
25993           removing obsolete files
25994
25995 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
25996
25997         * docs/gst/gstreamer-docs.sgml:
25998         * docs/libs/gstreamer-libs-docs.sgml:
25999           disabed additional index entries again, as this makes docs-gen just
26000           slow and they aren't useful yet
26001         * docs/libs/gstreamer-libs-sections.txt:
26002           little -section.txt cleanup for libs
26003
26004 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
26005
26006         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26007         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
26008           fix up some debugging
26009         (gst_base_transform_get_unit_size),
26010         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
26011         (gst_base_transform_handle_buffer):
26012         * gst/base/gstbasetransform.h:
26013           handle and store timed NEWSEGMENT events so that subclasses that
26014           calculate time by counting samples have a segment_start time they
26015           need to add to their timestamps - see audioresample
26016
26017 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
26018
26019         * gst/gstbin.h:
26020           removed ';' from the end of macro defs
26021         * docs/gst/gstreamer-docs.sgml:
26022         * docs/gst/gstreamer-sections.txt:
26023         * docs/gst/tmpl/.cvsignore:
26024         * gst/gstbus.h:
26025         * gst/gstelement.c: (gst_element_class_init),
26026         (gst_element_set_state), (activate_pads),
26027         (gst_element_save_thyself):
26028         * gst/gstevent.c: (gst_event_new_newsegment):
26029         * gst/gstevent.h:
26030         * gst/gstiterator.c:
26031         * gst/gstiterator.h:
26032         * gst/gstpad.c:
26033         * gst/gstprobe.h:
26034         * gst/gstutils.c: (gst_pad_query_convert):
26035         * gst/gstutils.h:
26036           fixed parameter name mismatches between source, header and docs
26037           added some more docs, resolved the last batch of unused elements in
26038           docs (now someone needs to doc them)
26039
26040 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26041
26042         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
26043         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
26044           don't walk through the plugins backwards.  Where is all this
26045           reversed logic coming from ?
26046
26047 2005-08-25  Wim Taymans  <wim@fluendo.com>
26048
26049         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26050         (gst_base_transform_transform_size),
26051         (gst_base_transform_configure_caps),
26052         (gst_base_transform_get_unit_size),
26053         (gst_base_transform_buffer_alloc),
26054         (gst_base_transform_change_state):
26055         * gst/base/gstbasetransform.h:
26056         Cache caps unit_size.
26057         Make sure we cannot negotiate up and downstream at the
26058         same time.
26059
26060 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26061
26062         * gst/gst.c: (init_pre), (init_post):
26063           register the installed plugin path after the env var
26064         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
26065         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
26066           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
26067           directories, so the tests can prefer uninstalled over installed
26068
26069 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
26070
26071         * gst/base/gstbasetransform.h:
26072           comment
26073         * gst/gstpad.c:
26074           add to docs
26075
26076 2005-08-25  Wim Taymans  <wim@fluendo.com>
26077
26078         * gst/gstbin.c: (bin_bus_handler):
26079         Be a bit more conservative about the posted message.
26080         
26081         * gst/gstbus.c: (gst_bus_post):
26082         Some cleanups, warn wrong return values.
26083
26084 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
26085
26086         * check/gst/gstbin.c: (GST_START_TEST):
26087         * gst/gstbin.c: (bin_bus_handler):
26088         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26089         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26090         (gst_message_new_warning), (gst_message_new_tag),
26091         (gst_message_new_state_changed), (gst_message_new_segment_start),
26092         (gst_message_new_segment_done), (gst_message_new_custom):
26093         * gst/gstmessage.h:
26094         * tools/gst-launch.c: (event_loop):
26095         * tools/gst-md5sum.c: (event_loop):
26096           Revert unpopular change for GST_MESSAGE_SRC to GObject.
26097
26098 2005-08-25  Wim Taymans  <wim@fluendo.com>
26099
26100         * check/generic/states.c: (GST_START_TEST):
26101         Cleanup can be done at the end.
26102
26103         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
26104         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26105         (gst_task_get_state), (gst_task_start), (gst_task_pause):
26106         Oh boy.. Thanks for finding this, Thomas. 
26107
26108 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26109
26110         * docs/gst/gstreamer.types:
26111           added missing types
26112
26113 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26114
26115         * docs/gst/gstreamer-docs.sgml:
26116         * docs/gst/gstreamer-sections.txt:
26117         * docs/gst/tmpl/.cvsignore:
26118         * gst/gstbin.c:
26119         * gst/gstiterator.c:
26120         * gst/gstutils.c:
26121         * gst/registries/gstxmlregistry.h:
26122           added missing classes and symbols (123 more to go)
26123           removed removed symbols from section file
26124           fixed many doc-comments
26125
26126 2005-08-24  Wim Taymans  <wim@fluendo.com>
26127
26128         * check/generic/states.c: (GST_START_TEST):
26129         Make sure all tasks are stopped.
26130
26131         * check/gst/gstbin.c: (GST_START_TEST):
26132         Unref after usage for proper valgrinding.
26133
26134         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
26135         Really wait for the task to stop before destroying the
26136         mutex.
26137
26138         * gst/gstqueue.c: (gst_queue_sink_activate_push),
26139         (gst_queue_src_activate_push):
26140         Small cleanups. Don't stop the task when we did not start
26141         it.
26142
26143         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
26144         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26145         (gst_task_get_state), (gst_task_start), (gst_task_pause),
26146         (gst_task_join):
26147         * gst/gsttask.h:
26148         Protect the stream lock with the object lock.
26149         Disallow setting the stream lock when running.
26150         Add cleanup_all to wait for the threadpool to finish.
26151         Remove code to autoallocate a mutex if none was provided.
26152         Add _join() to wait for a task to stop.
26153         Protect the thread pool with a global lock.
26154
26155 2005-08-24  Wim Taymans  <wim@fluendo.com>
26156
26157         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26158         (gst_base_sink_get_times), (gst_base_sink_do_sync),
26159         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
26160         * gst/base/gstbasesink.h:
26161         Handle newsegment events correctly.
26162         Drop buffers out of the segment range.
26163
26164 2005-08-22  Andy Wingo  <wingo@pobox.com>
26165
26166         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
26167         macro, implements an interface and gstimplementsinterface for a
26168         new type.
26169
26170 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26171
26172         * check/Makefile.am:
26173         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
26174           add a test that does a bunch of state changes on elements
26175           needs some fixing for valgrind
26176         * check/states/sinks.c: (gst_object_suite):
26177           whitespace
26178         * gst/gstcaps.h:
26179           add prototype for gst_caps_is_equal_fixed
26180         * gst/gstplugin.c:
26181         * gst/gstregistrypool.c:
26182           doc fixes
26183
26184 2005-08-24  Andy Wingo  <wingo@pobox.com>
26185
26186         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
26187         convert a negative value. Doesn't make much sense. Mostly this is
26188         here to force callers to ensure -1 maps to -1.
26189
26190 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26191
26192         * docs/pwg/advanced-types.xml:
26193           Well done to Michael for catching my deliberate introduction
26194           of this spelling mistake. 
26195         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
26196         * gst/gstelement.h:
26197           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
26198           unlink pads before removing the element from the bin.
26199
26200 2005-08-24  Andy Wingo  <wingo@pobox.com>
26201
26202         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
26203         the same thing as GST_DEBUG=*:4.
26204         (parse_debug_level, parse_debug_category): New helper parsers.
26205
26206 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26207
26208         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26209         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
26210         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
26211         (gst_base_transform_buffer_alloc),
26212         (gst_base_transform_handle_buffer):
26213           use gboolean return values and pointers to size so we can use the
26214           full GST_BUFFER_SIZE range (guint) for buffer sizes
26215           use GstPadDirection for transform_caps
26216         * gst/base/gstbasetransform.h:
26217           rename get_size to get_unit_size since that's what it is
26218         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
26219           use GstPadDirection for transform_caps
26220         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26221         * gst/gstutils.h:
26222           cleanup and debugging
26223
26224 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26225
26226         * gst/gstelement.c: (gst_element_class_init),
26227         (gst_element_set_state), (activate_pads),
26228         (gst_element_save_thyself):
26229         * tools/gst-compprep.c: (main):
26230         * tools/gst-inspect.c: (print_element_properties_info):
26231         * tools/gst-xmlinspect.c: (print_element_properties):
26232           Fixed long standing mem-leak
26233
26234 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26235
26236         * check/gst/gstbin.c: (GST_START_TEST):
26237         * gst/gstbin.c: (bin_bus_handler):
26238         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26239         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26240         (gst_message_new_warning), (gst_message_new_tag),
26241         (gst_message_new_state_changed), (gst_message_new_segment_start),
26242         (gst_message_new_segment_done), (gst_message_new_custom):
26243         * gst/gstmessage.h:
26244         * tools/gst-launch.c: (event_loop):
26245         * tools/gst-md5sum.c: (event_loop):
26246           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
26247           that applications can sensibly post custom messages with references
26248           to their own objects.
26249
26250 2005-08-24  Andy Wingo  <wingo@pobox.com>
26251
26252         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
26253         already.
26254
26255 2005-08-24  Wim Taymans  <wim@fluendo.com>
26256
26257         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26258         (gst_base_transform_transform_caps),
26259         (gst_base_transform_transform_size),
26260         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26261         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26262         (gst_base_transform_handle_buffer):
26263         * gst/base/gstbasetransform.h:
26264         Many fixes and new features added by Thomas. Can now also do
26265         transforms with variable sizes and a custom fixate_caps function.
26266
26267 2005-08-24  Wim Taymans  <wim@fluendo.com>
26268
26269         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26270         Some debugging.
26271
26272         * gst/gstclock.h:
26273         Cast to ClockTime before formatting to time.
26274
26275         * gst/gstutils.h:
26276         Cleanups.
26277
26278 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26279
26280         * check/gst-libs/controller.c: (GST_START_TEST),
26281         (gst_controller_suite):
26282         * docs/gst/tmpl/gstcaps.sgml:
26283         * docs/gst/tmpl/gstghostpad.sgml:
26284         * docs/gst/tmpl/gstquery.sgml:
26285         * docs/gst/tmpl/gstutils.sgml:
26286         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26287         (gst_object_sink_values), (gst_object_get_value_arrays),
26288         (gst_object_get_value_array):
26289           gracefully handle helper method calls to objects that are not beeing
26290           controlled, added test case for that          
26291
26292 2005-08-23  Wim Taymans  <wim@fluendo.com>
26293
26294         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
26295         (gst_event_new_newsegment), (gst_event_parse_newsegment),
26296         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
26297         (gst_event_parse_qos), (gst_event_new_seek),
26298         (gst_event_parse_seek):
26299         * gst/gstevent.h:
26300         Some more debugging output and doc cleanups.
26301
26302         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26303         Fix possible deadlock.
26304
26305 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26306
26307         * docs/gst/gstreamer-docs.sgml:
26308         * docs/gst/gstreamer-sections.txt:
26309         * docs/gst/gstreamer.types:
26310         * docs/gst/tmpl/.cvsignore:
26311         * gst/gstbin.h:
26312         * gst/gstbus.c:
26313         * gst/gstelement.c:
26314         * gst/gstevent.h:
26315           added 100 symbols from gstreamer-unused.txt to the right sections
26316           fixed more broken comments
26317           added GstBus to docs
26318
26319 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26320
26321         * docs/gst/gstreamer-sections.txt:
26322         * docs/gst/tmpl/.cvsignore:
26323         * docs/gst/tmpl/gstbin.sgml:
26324         * docs/gst/tmpl/gstbuffer.sgml:
26325         * gst/base/gstbasesrc.c:
26326         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
26327         * gst/gstbuffer.c:
26328         * gst/gstbuffer.h:
26329         * tools/gst-launch.1.in:
26330           inlined more doc comments, added missing comments and fixed comments
26331           fixed typos
26332
26333 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
26334
26335         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26336           some debugging
26337         * gst/gstcaps.h:
26338           whitespace fixes
26339         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
26340           more debugging
26341         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
26342         * gst/gststructure.h:
26343           add a fixate function for booleans; add a FIXME that these func
26344           names should probably be gst_structure_fixate_*
26345
26346 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26347
26348         * docs/gst/gstreamer-docs.sgml:
26349         * docs/gst/gstreamer-sections.txt:
26350         * gst/Makefile.am:
26351         * gst/gstbin.c: (gst_bin_get_type),
26352         (gst_bin_child_proxy_get_child_by_index),
26353         (gst_bin_child_proxy_get_children_count),
26354         (gst_bin_child_proxy_init):
26355         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
26356         (gst_child_proxy_get_child_by_index),
26357         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26358         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
26359         (gst_child_proxy_get), (gst_child_proxy_set_property),
26360         (gst_child_proxy_set_valist), (gst_child_proxy_set),
26361         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
26362         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
26363         * gst/gstchildproxy.h:
26364         * gst/parse/grammar.y:
26365         * tools/gst-inspect.c: (print_interfaces),
26366         (print_element_properties_info), (print_element_info):
26367           ported gstchildproxy over from 0.8
26368           ported gst-inspect fixes and enhancements over from 0.8
26369
26370 2005-08-22  Wim Taymans  <wim@fluendo.com>
26371
26372         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26373         (gst_base_transform_handle_buffer):
26374         Also call the transform function if we have ANY caps.
26375
26376         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
26377         Fix debug info.
26378
26379 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26380
26381         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
26382           Don't pretend to handle seek events if the source is not seekable
26383
26384 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26385
26386         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26387           Remove extra parameter to debug output
26388
26389         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26390         (gst_base_src_do_seek), (gst_base_src_activate_push):
26391           Fix seek event handling.
26392
26393         * gst/gstpipeline.c: (gst_pipeline_change_state):
26394         * gst/gstqueue.c: (gst_queue_handle_sink_event),
26395         (gst_queue_src_activate_push):
26396           Don't start the src pad task on FLUSH_STOP if the pad
26397           isn't linked.
26398           Debug changes.
26399
26400 2005-08-22  Wim Taymans  <wim@fluendo.com>
26401
26402         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
26403         Added check for gst_static_caps_get() refcounting.
26404
26405 2005-08-22  Wim Taymans  <wim@fluendo.com>
26406
26407         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
26408         Make _static_caps_get() refcounting sane.
26409         
26410         * gst/gstelement.c: (gst_element_set_state):
26411         Add g_return_val_if_fail() to protect against segfaults.
26412
26413 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
26414
26415         * docs/gst/tmpl/gstevent.sgml:
26416         * gst/gstevent.c:
26417         * gst/gstevent.h:
26418           inlined remaining docs, added missing doc comments
26419
26420 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
26421
26422         * check/gst/gstbin.c: (GST_START_TEST):
26423           since we don't know when preroll is done, use refcount range
26424           check for the sink
26425         * gst/check/gstcheck.h:
26426           add macro for checking refcount range
26427
26428 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26429
26430         * check/Makefile.am:
26431           clean up environment for when registry gets built versus
26432           when actual tests are run; valgrind seems to not report
26433           leaks if GST_PLUGIN_PATH is set to some specific values
26434         * check/gst/gstbin.c: (GST_START_TEST):
26435           add more refcounting checks; maybe this exposes a
26436           preroll lock bug ?
26437         * common/check.mak:
26438         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26439         * gst/check/gstcheck.h:
26440         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
26441         (gst_bin_change_state):
26442         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
26443           add/fix debugging/whitespace
26444
26445 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26446
26447         * check/gst/gstevent.c: (event_probe), (test_event),
26448         (GST_START_TEST):
26449          Er, don't call gst_bin_watch_for_state_change you idiot.
26450
26451 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26452
26453         * check/Makefile.am:
26454           Use CHECK_CFLAGS and CHECK_LIBS
26455         * check/gst/gstevent.c: (event_probe), (test_event),
26456         (GST_START_TEST):
26457           Don't leak events.
26458         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26459         (gst_base_src_start), (gst_base_src_stop),
26460         (gst_base_src_activate_push), (gst_base_src_activate_pull),
26461         (gst_base_src_change_state):
26462           Sprinkle gst_base_src_stop liberally around error paths to fix
26463           problems reusing a source after failed state changes.
26464         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26465         (helper_find_suggest), (gst_type_find_helper):
26466           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
26467         * gst/gstevent.h:
26468         * docs/gst/tmpl/gstevent.sgml:
26469           Migrate part of the docs from the SGML file. Wait for ensonic to
26470           tell me how I did it wrong ;)
26471         * tools/gst-typefind.c: (main):
26472           Extra robustness to state changes between files.
26473
26474 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26475
26476         * check/Makefile.am:
26477           don't valgrind the controller test - it's leaking - Stefan, HELP
26478         * gst/check/gstcheck.c: (gst_check_message_error),
26479         (gst_check_chain_func), (gst_check_setup_element),
26480         (gst_check_teardown_element), (gst_check_setup_src_pad),
26481         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
26482         (gst_check_teardown_sink_pad):
26483         * gst/check/gstcheck.h:
26484           add a bunch of methods to set up elements, and src and sink pads
26485         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
26486         * check/elements/identity.c: (setup_identity), (cleanup_identity),
26487         (GST_START_TEST):
26488           use them
26489         * gst/gstmessage.c:
26490         * gst/gsttag.h:
26491           whitespace/doc fixes
26492
26493 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26494
26495         * gst/gstelement.h:
26496           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
26497           be handled by the application and not always printed as well
26498
26499 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26500
26501         * check/Makefile.am:
26502           set GST_TOOLS_DIR
26503         * gst/check/gstcheck.c: (gst_check_message_error):
26504         * gst/check/gstcheck.h:
26505           add a fail_unless_equals_int
26506           add fail_unless for error messages
26507
26508 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26509
26510         * check/Makefile.am:
26511         * check/gst.supp:
26512         * common/Makefile.am:
26513         * common/check.mak:
26514         * common/gst.supp:
26515           factor out some of the common stuff so we can use it
26516
26517 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26518
26519         * check/Makefile.am:
26520         * check/gst/gstiterator.c: (GST_START_TEST):
26521         * check/gst/gstsystemclock.c: (GST_START_TEST),
26522         (gst_systemclock_suite):
26523         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26524         * gst/gstclock.c:
26525           valgrind more tests
26526
26527 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26528
26529         * check/elements/.cvsignore:
26530         * check/elements/gstfakesrc.c:
26531           rename to name of element
26532         * check/elements/identity.c: (chain_func), (event_func),
26533         (setup_identity), (cleanup_identity), (GST_START_TEST),
26534         (identity_suite), (main):
26535           add a test for identity
26536         * check/Makefile.am:
26537         * pkgconfig/Makefile.am:
26538         * pkgconfig/gstreamer-check.pc.in:
26539         * pkgconfig/gstreamer-check-uninstalled.pc.in:
26540         * gst/check:
26541         * gst/Makefile.am:
26542         * configure.ac:
26543           move the check stuff to a library that gets installed
26544         * check/gst-libs/controller.c: (GST_START_TEST):
26545         * check/gst-libs/gdp.c:
26546         * check/gst/gst.c: (GST_START_TEST):
26547         * check/gst/gstbin.c:
26548         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26549         * check/gst/gstbus.c:
26550         * check/gst/gstcaps.c: (GST_START_TEST):
26551         * check/gst/gstelement.c:
26552         * check/gst/gstghostpad.c:
26553         * check/gst/gstiterator.c:
26554         * check/gst/gstmessage.c:
26555         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
26556         * check/gst/gstobject.c:
26557         * check/gst/gstpad.c: (GST_START_TEST):
26558         * check/gst/gststructure.c: (GST_START_TEST):
26559         * check/gst/gstsystemclock.c: (GST_START_TEST),
26560         (gst_systemclock_suite):
26561         * check/gst/gsttag.c: (gst_tag_suite):
26562         * check/gst/gstvalue.c:
26563         * check/pipelines/cleanup.c:
26564         * check/pipelines/simple_launch_lines.c:
26565         * check/states/sinks.c:
26566           change include statement
26567
26568         * docs/gst/gstreamer-sections.txt:
26569         * docs/gst/tmpl/gstpad.sgml:
26570           document more pad stuff
26571         * gst/gstminiobject.c: (gst_mini_object_ref),
26572         (gst_mini_object_unref):
26573           debug refcounting
26574
26575 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
26576
26577         * docs/gst/tmpl/gst.sgml:
26578         * gst/gst.c:
26579           eliminate another tmpl file, fix spelling in the long-description
26580
26581 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26582
26583         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26584         (test_event), (timediff), (gstevents_suite):
26585           Should fix build on 64-bit arch's
26586
26587 2005-08-18  Andy Wingo  <wingo@pobox.com>
26588
26589         Make sure that when a pipeline goes to PLAYING, that data has
26590         actually hit the sink.
26591
26592         * check/states/sinks.c (test_sink): A sink that doesn't get any
26593         data shouldn't return SUCCESS for going to either PLAYING or
26594         PAUSED. Test also the return values on the way back down.
26595
26596         * gst/gstelement.c (gst_element_set_state): When changing the
26597         state of an element currently changing state asynchronously, go to
26598         lost-state after commiting the pending state. Makes future calls
26599         to get_state continue to return ASYNC.
26600
26601         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
26602         ASYNC when going to PLAYING if we still don't have preroll, as can
26603         happen with live sources.
26604
26605 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26606
26607         * docs/pwg/advanced-types.xml:
26608           Hack long paragraph into 2 chunks as a workaround for buggy
26609           jadetex version in sid and breezy that loops infinitely and
26610           eats all RAM.
26611
26612 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26613
26614         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26615         (test_event), (timediff), (gstevents_suite):
26616           Provide more error margin in clock measurements to allow for 
26617           g_get_current_time inaccuracies.
26618
26619 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26620
26621         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26622         (test_event), (timediff), (gstevents_suite):
26623            Fix error message output so I might be able to tell why the
26624            test works here but fails on the build farm.
26625
26626 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26627
26628         * check/Makefile.am:
26629         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26630         (test_event), (timediff), (gstevents_suite), (main):
26631           I wrote a test!
26632
26633         * docs/design/part-seeking.txt:
26634           Spelling correction
26635
26636         * docs/gst/tmpl/gstevent.sgml:
26637         * docs/gst/tmpl/gstfakesrc.sgml:
26638           Docs updates.
26639
26640         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26641           Treat a buffer-without-newsegment the same as a receiving 
26642           a newsegment not in time format, and disable syncing to the clock
26643           with a warning.
26644
26645         * gst/gstbus.c: (gst_bus_set_sync_handler):
26646           Assert if anyone tries to replace the existing sync_handler for bus, 
26647           as only the owner should be setting it.
26648
26649         * gst/gstevent.h:
26650           Have a fixed set of custom event enums with events identified by
26651           their structure name (as in 0.8), rather than a free-for-all
26652           allowing collisions between enum values from different plugins.
26653
26654         * gst/gstpad.c: (gst_pad_class_init):
26655           Docs change.
26656           
26657         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26658           Handle out-of-band downstream events from the sending thread.
26659
26660 2005-08-17  Andy Wingo  <wingo@pobox.com>
26661
26662         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
26663         play-timeout==0 to mean no timeout at all. In that case, don't
26664         bother with a get_state or a warning, just return directly, even
26665         if it's ASYNC.
26666
26667         * gst/base/gstbasetransform.c: Debug changes.
26668
26669         * gst/gstutils.h:
26670         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
26671         ensure bins post state change messages. A bit of a hack but I can't
26672         think of a way to avoid it.
26673
26674         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
26675
26676 2005-08-16  Andy Wingo  <wingo@pobox.com>
26677
26678         * gst/base/gstadapter.h:
26679         * gst/base/gstadapter.c (gst_adapter_take): New function, like
26680         peek() but you own the data. Not terribly efficient atm.
26681
26682 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26683
26684         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
26685         (gst_element_found_tags):
26686         * gst/gstutils.h:
26687           Add two utility functions for tag handling.
26688
26689 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26690
26691         * docs/manual/advanced-dataaccess.xml:
26692         * docs/manual/basics-helloworld.xml:
26693           Fix docs to use _bin_add() before _link(), which fixes the examples
26694           with recent core versions (reported by Madhan Raj M
26695           <raj_madan@rediffmail.com>, #313199).
26696
26697 2005-08-16  Wim Taymans  <wim@fluendo.com>
26698
26699         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26700         Added subtract checks.
26701
26702         * docs/design/part-events.txt:
26703         Some more docs about newsegment
26704
26705         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26706         Fix FIXME
26707
26708         * gst/gstcaps.c: (gst_caps_to_string):
26709         Add comments, cleanups.
26710         
26711         * gst/gstelement.c: (gst_element_save_thyself):
26712         cleanups
26713         
26714         * gst/gstvalue.c: (gst_value_collect_int_range),
26715         (gst_string_unwrap), (gst_value_union_int_int_range),
26716         (gst_value_union_int_range_int_range),
26717         (gst_value_intersect_int_int_range),
26718         (gst_value_intersect_int_range_int_range),
26719         (gst_value_intersect_double_double_range),
26720         (gst_value_intersect_double_range_double_range),
26721         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
26722         (gst_value_subtract_int_range_int),
26723         (gst_value_subtract_double_range_double),
26724         (gst_value_subtract_double_range_double_range),
26725         (gst_value_subtract_from_list), (gst_value_subtract_list),
26726         (gst_value_can_compare), (gst_value_compare_fraction):
26727         Cleanups, add comments, remove unneeded asserts.
26728
26729 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
26730
26731         * tools/gst-launch.c: (event_loop):
26732           don't convert NULL structures to strings
26733
26734 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
26735
26736         * docs/gst/gstreamer-sections.txt:
26737           made some defines private
26738         * docs/gst/tmpl/gstconfig.sgml:
26739         * docs/gst/tmpl/gstqueue.sgml:
26740         * docs/gst/tmpl/gsttaglist.sgml:
26741         * docs/gst/tmpl/gsttypes.sgml:
26742         * docs/gst/tmpl/gstutils.sgml:
26743         * docs/pwg/appendix-porting.xml:
26744         * gst/base/gstbasesink.h:
26745         * gst/base/gstbasesrc.c:
26746         * gst/base/gstbasesrc.h:
26747         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
26748         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
26749         * gst/gstelement.c: (gst_element_class_init):
26750         * gst/gstpad.c: (gst_pad_class_init):
26751         * gst/gstqueue.c: (gst_queue_class_init):
26752         * gst/gstxml.c: (gst_xml_class_init):
26753           documented all undocumented signal inline
26754         * libs/gst/controller/gst-controller.h:
26755           added padding
26756
26757 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26758
26759         * docs/pwg/appendix-porting.xml:
26760           Document _set_link_function -> _set_setcaps_function.
26761
26762 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
26763
26764         * check/Makefile.am:
26765           add a .check target for running the check
26766         * check/gst-libs/controller.c: (GST_START_TEST):
26767           cosmetic fixups
26768         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26769           complete checks for gstbuffer; would be nice if I could get the
26770           gcov stuff to work so I can see if I actually completed gstbuffer.c
26771         * check/gstcheck.h:
26772           add ASSERT_BUFFER_REFCOUNT
26773
26774 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
26775
26776         * docs/gst/gstreamer-sections.txt:
26777         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
26778         * gst/gsttag.h:
26779           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
26780           spew out a warning if a tag that is already registered
26781           is re-registered, unless it is re-registered with a 
26782           different type (#308438).
26783
26784 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
26785
26786         * docs/pwg/appendix-porting.xml:
26787         * docs/pwg/building-state.xml:
26788           Add some paragraphs about state changes in 0.9 to the PWG
26789           and the porting guide, in particular about the new meaning
26790           of GST_STATE_PAUSED and how to write state change functions
26791           with concurrent access by multiple threads in mind.
26792
26793 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
26794
26795         * docs/gst/gstreamer-docs.sgml:
26796         * docs/libs/gstreamer-libs-docs.sgml:
26797           added deprecation and since indexes
26798         * libs/gst/controller/gst-controller.c:
26799         * libs/gst/controller/gst-helper.c:
26800           added since tags
26801
26802
26803 2005-08-11  Wim Taymans  <wim@fluendo.com>
26804
26805         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
26806         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
26807         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
26808         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
26809         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
26810         (gst_ghost_pad_set_target):
26811         Actually implement (re)setting the target on a ghostpad
26812         as described in the docs.
26813
26814 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
26815
26816         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
26817           Check whether GST_DEBUG_NO_COLOR environment variable is
26818           set and disable coloured debug output if that is the case.
26819
26820 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
26821
26822         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26823         (gst_type_find_helper):
26824           The memory returned by gst_type_find_peek() needs to
26825           stay valid until the end of a typefind function, and
26826           typefind functions may keep results from different 
26827           offsets around, so we can't just unref the buffer from
26828           the previous _peek(), but have to save all buffers 
26829           returned by _peek() until typefinding is done and only
26830           free them then.
26831
26832 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
26833
26834         * docs/gst/gstreamer-sections.txt:
26835         * gst/gstutils.h:
26836           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
26837
26838 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26839
26840         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
26841           Fix a pretty good memleak.
26842
26843 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
26844
26845         * gst/gstiterator.h:
26846           Fix wrong include and 'make distcheck'.
26847
26848 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26849
26850         * gst/gstbin.c: (bin_bus_handler):
26851           Use gst_element_post_message() instead.
26852
26853 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
26854
26855         * gst/base/gstadapter.h:
26856         * gst/base/gstbasesink.h:
26857         * gst/base/gstbasesrc.h:
26858         * gst/base/gstbasetransform.h:
26859         * gst/base/gstcollectpads.h:
26860         * gst/base/gstpushsrc.h:
26861         * gst/gstiterator.h:
26862           Add padding to our base elements' class and instance structs and
26863           to GstIterator (you will need to rebuild all plugins and apps!)
26864
26865 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26866
26867         * gst/gstbin.c: (bin_bus_handler):
26868           Make default message forwarding from child->bus to bin->bus
26869           threadsafe and make it not emit warnings if the parent has no bus.
26870
26871 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26872
26873         * gst/gstelement.c: (activate_pads):
26874           On paused->ready, set pad->caps to NULL, as is the documented
26875           behaviour in this state change. Fixes playback of series of
26876           media files when visualization is enabled in Totem.
26877
26878 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26879
26880         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
26881           Allow NULL as filter-caps (which means "any").
26882
26883 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
26884
26885         * docs/libs/gstreamer-libs-sections.txt:
26886         * libs/gst/controller/gst-controller.c:
26887         * libs/gst/controller/gst-controller.h:
26888         * libs/gst/controller/gst-helper.c:
26889           adding more entries to the docs and fix small doc-bugs
26890
26891 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
26892
26893         * docs/gst/gstreamer-docs.sgml:
26894         * docs/gst/gstreamer-sections.txt:
26895         * docs/gst/gstreamer.types:
26896         * docs/gst/tmpl/gstbasesink.sgml:
26897         * docs/gst/tmpl/gstbasesrc.sgml:
26898         * docs/gst/tmpl/gstbasetransform.sgml:
26899         * docs/gst/tmpl/gstfakesrc.sgml:
26900         * gst/base/gstcollectpads.c:
26901         * gst/base/gstcollectpads.h:
26902         * libs/gst/controller/gst-controller.c:
26903         * libs/gst/controller/gst-controller.h:
26904         * libs/gst/controller/gst-helper.c:
26905         * libs/gst/controller/gst-interpolation.c:
26906         * libs/gst/controller/lib.c:
26907           added long/short desc for controller docs
26908           added collectpads base class docs
26909           added correct includes to base-class docs
26910
26911 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
26912
26913         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
26914         (gst_test_mono_source_set_property),
26915         (gst_test_mono_source_class_init), (GST_START_TEST),
26916         (gst_controller_suite):
26917         * docs/gst/gstreamer-docs.sgml:
26918         * docs/gst/gstreamer-sections.txt:
26919         * docs/gst/gstreamer.types:
26920         * docs/libs/gstreamer-libs-docs.sgml:
26921         * docs/libs/gstreamer-libs-sections.txt:
26922         * gst/base/gstadapter.c:
26923         * libs/gst/controller/gst-controller.c:
26924         (gst_controlled_property_new), (gst_controlled_property_free),
26925         (gst_controller_new_valist),
26926         (gst_controller_remove_properties_valist),
26927         (gst_controller_sink_values), (_gst_controller_finalize):
26928         * libs/gst/controller/gst-controller.h:
26929         * libs/gst/controller/gst-helper.c:
26930         (gst_object_control_properties), (gst_object_uncontrol_properties),
26931         (gst_object_get_controller), (gst_object_set_controller),
26932         (gst_object_sink_values), (gst_object_get_value_arrays),
26933         (gst_object_get_value_array):
26934           more tests (and fixes) for the controller
26935           more docs for the controller
26936           integrated companies docs for the adapter 
26937
26938 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
26939
26940         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
26941         (GST_START_TEST), (fakesrc_suite):
26942           add tests for sizetype
26943
26944 2005-08-04  Andy Wingo  <wingo@pobox.com>
26945
26946         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
26947         fixes buffer_alloc proxying among other things.
26948
26949         * gst/base/gstbasetransform.c:
26950         * gst/base/gstbasetransform.h:
26951         Revert patch to gstbasetransform from 7-28 removing
26952         delay_configure.
26953
26954         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
26955         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
26956         Semantics changed, should return not the size of the output buffer
26957         but the byte size of a buffer with a given caps.
26958
26959         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
26960         debug object.
26961         (gst_base_transform_configure_caps): Don't set out_size here: (in,
26962         out) are not the pad caps until setcaps finishes.
26963         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
26964         not-in-place case as well. Deal with changing from in-place to
26965         not-in-place within calling pad_alloc_buffer. Still a bit
26966         concerned about the overhead here...
26967
26968 2005-08-03  Andy Wingo  <wingo@pobox.com>
26969
26970         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
26971         fixating is an error.
26972
26973 2005-08-04  Edward Hervey  <edward@fluendo.com>
26974
26975         * gst/base/gstadapter.h: 
26976         Added gst_adapter_get_type() to the header
26977
26978 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
26979
26980         * check/Makefile.am:
26981         * check/gst-libs/controller.c:
26982         * libs/gst/controller/gst-controller.c:
26983         (gst_controller_new_valist):
26984           added check test suite for the controller
26985         * gst/base/gstpushsrc.c:
26986           fixed a doc typo
26987
26988 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
26989
26990         * docs/gst/Makefile.am:
26991         * docs/gst/gstreamer-docs.sgml:
26992         * docs/gst/gstreamer-sections.txt:
26993         * docs/gst/gstreamer.types:
26994         * docs/gst/tmpl/gstfakesrc.sgml:
26995         * gst/base/README:
26996         * gst/base/gstbasesink.c:
26997         * gst/base/gstbasesink.h:
26998         * gst/base/gstbasesrc.c:
26999         * gst/base/gstbasesrc.h:
27000         * gst/base/gstbasetransform.c:
27001         * gst/base/gstpushsrc.c:
27002         * gst/base/gstpushsrc.h:
27003           add short/long description docs to base classes
27004           add pushsrc to the docs
27005           remove consolidated doc fragments
27006
27007 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
27008
27009         * configure.ac:
27010         * docs/libs/Makefile.am:
27011         * docs/libs/gstreamer-libs-docs.sgml:
27012         * docs/libs/gstreamer-libs-sections.txt:
27013         * docs/libs/gstreamer-libs.types:
27014         * examples/Makefile.am:
27015         * examples/controller/.cvsignore:
27016         * examples/controller/Makefile.am:
27017         * examples/controller/audio-example.c: (main):
27018         * libs/gst/Makefile.am:
27019         * libs/gst/controller/.cvsignore:
27020         * libs/gst/controller/Makefile.am:
27021         * libs/gst/controller/gst-controller.c:
27022         (on_object_controlled_property_changed), (gst_timed_value_compare),
27023         (gst_timed_value_find),
27024         (gst_controlled_property_set_interpolation_mode),
27025         (gst_controlled_property_new), (gst_controlled_property_free),
27026         (gst_controller_find_controlled_property),
27027         (gst_controller_new_valist), (gst_controller_new),
27028         (gst_controller_remove_properties_valist),
27029         (gst_controller_remove_properties), (gst_controller_set),
27030         (gst_controller_set_from_list), (gst_controller_unset),
27031         (gst_controller_get), (gst_controller_get_all),
27032         (gst_controller_sink_values), (gst_controller_get_value_arrays),
27033         (gst_controller_get_value_array),
27034         (gst_controller_set_interpolation_mode),
27035         (_gst_controller_finalize), (_gst_controller_init),
27036         (_gst_controller_class_init), (gst_controller_get_type):
27037         * libs/gst/controller/gst-controller.h:
27038         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
27039         (g_object_uncontrol_properties), (g_object_get_controller),
27040         (g_object_set_controller), (g_object_sink_values),
27041         (g_object_get_value_arrays), (g_object_get_value_array):
27042         * libs/gst/controller/gst-interpolation.c:
27043         (gst_controlled_property_find_timed_value_node),
27044         (interpolate_none_get), (interpolate_trigger_get),
27045         (interpolate_trigger_get_value_array):
27046         * libs/gst/controller/lib.c: (gst_controller_init):
27047         * pkgconfig/Makefile.am:
27048         * pkgconfig/gstreamer-control-uninstalled.pc.in:
27049         * pkgconfig/gstreamer-control.pc.in:
27050         * testsuite/Makefile.am:
27051         * testsuite/controller/.cvsignore:
27052         * testsuite/controller/Makefile.am:
27053         * testsuite/controller/interpolator.c: (main):
27054           added controller code
27055           removed dparam pc files
27056
27057 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27058         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
27059         (gst_collectpads_stop):
27060           Broadcast the condition when shutting down, to make sure we wake all
27061           threads up. Shut down pads on finalize, for safety.
27062
27063 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
27064         * gst/base/gstbasetransform.c: (gst_base_transform_init),
27065         (gst_base_transform_handle_buffer),
27066         (gst_base_transform_change_state):
27067           Handle PAUSED->READY->PAUSED transition after negotiation
27068           occurred already.
27069         * gst/gstmessage.c: (gst_message_init):
27070           Extra piece of debug for new messages.
27071
27072 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
27073
27074         * configure.ac:
27075         * docs/gst/tmpl/gstbasesrc.sgml:
27076         * docs/gst/tmpl/gstelement.sgml:
27077         * docs/gst/tmpl/gstevent.sgml:
27078         * docs/gst/tmpl/gstfakesrc.sgml:
27079         * docs/gst/tmpl/gstformat.sgml:
27080         * docs/gst/tmpl/gstghostpad.sgml:
27081         * docs/gst/tmpl/gstpad.sgml:
27082         * docs/gst/tmpl/gstquery.sgml:
27083         * docs/gst/tmpl/gststructure.sgml:
27084         * docs/gst/tmpl/gsttaglist.sgml:
27085         * docs/gst/tmpl/gstvalue.sgml:
27086         * docs/libs/gstreamer-libs-docs.sgml:
27087         * docs/libs/gstreamer-libs-sections.txt:
27088         * docs/libs/gstreamer-libs.types:
27089         * libs/gst/Makefile.am:
27090         * libs/gst/control/.cvsignore:
27091         * libs/gst/control/Makefile.am:
27092         * libs/gst/control/control.c:
27093         * libs/gst/control/control.h:
27094         * libs/gst/control/dparam.c:
27095         * libs/gst/control/dparam.h:
27096         * libs/gst/control/dparam_smooth.c:
27097         * libs/gst/control/dparam_smooth.h:
27098         * libs/gst/control/dparamcommon.h:
27099         * libs/gst/control/dparammanager.c:
27100         * libs/gst/control/dparammanager.h:
27101         * libs/gst/control/dplinearinterp.c:
27102         * libs/gst/control/dplinearinterp.h:
27103         * libs/gst/control/unitconvert.c:
27104         * libs/gst/control/unitconvert.h:
27105         * testsuite/Makefile.am:
27106         * testsuite/dynparams/.cvsignore:
27107         * testsuite/dynparams/Makefile.am:
27108         * testsuite/dynparams/dparamstest.c:
27109         * tools/Makefile.am:
27110         * tools/gst-inspect.c: (print_element_info), (main):
27111         * tools/gst-xmlinspect.c: (print_element_info), (main):
27112           deactivate and remove dparams (libgstcontrol)
27113
27114 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27115
27116         * gst/elements/gsttypefindelement.c:
27117         (gst_type_find_element_have_type), (gst_type_find_element_init),
27118         (stop_typefinding), (gst_type_find_element_handle_event),
27119         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27120         * gst/elements/gsttypefindelement.h:
27121           Set caps on all outgoing buffers, not just the first one.
27122
27123 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27124
27125         * gst/elements/gsttypefindelement.c:
27126         (gst_type_find_element_have_type),
27127         (gst_type_find_element_check_set_buffer_caps),
27128         (gst_type_find_element_init), (stop_typefinding),
27129         (gst_type_find_element_handle_event),
27130         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27131         * gst/elements/gsttypefindelement.h:
27132           Set caps on first outgoing buffer when we've found the type.
27133
27134 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27135
27136         * docs/gst/gstreamer-docs.sgml:
27137         * docs/gst/gstreamer-sections.txt:
27138         * docs/gst/tmpl/gstscheduler.sgml:
27139         * docs/gst/tmpl/gstschedulerfactory.sgml:
27140           Remove some old cruft from docs.
27141
27142 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
27143
27144         * gst/gstpad.h:
27145           Fix inline docs for GstPadLinkReturn.
27146           
27147         * gst/gststructure.c: (gst_structure_has_name):
27148         * gst/gststructure.h:
27149         * docs/gst/gstreamer-sections.txt:
27150           New API: gst_structure_has_name().
27151
27152 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
27153
27154         * configure.ac:
27155           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
27156           and _LARGEFILE_SOURCE in config.h as required. Do not 
27157           export those flags in our .pc files any longer (#142209).
27158
27159           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
27160
27161         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
27162         (gst_file_sink_do_seek), (gst_file_sink_event),
27163         (gst_file_sink_get_current_offset), (gst_file_sink_render):
27164           Redo seek/tell calls with large file support in mind; add some
27165           debugging messages; add log message that tells us when large
27166           file support is unavailable or not enabled for some reason.
27167
27168         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
27169           Add log message that tells us when large file support 
27170           is unavailable or not enabled for some reason.
27171
27172 2005-07-29  Wim Taymans  <wim@fluendo.com>
27173
27174         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27175         Added test for removing an element with ghostpad from a bin.
27176         Fixed test as current implementation does the right thing.
27177
27178         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
27179         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
27180         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
27181         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
27182         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
27183         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
27184         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
27185         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27186         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
27187         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
27188         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
27189         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
27190         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
27191         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
27192         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
27193         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
27194         * gst/gstghostpad.h:
27195         Clean up ghostpads, remove properties for internal stuff.
27196         Make threadsafe.
27197         Fix refcounting.
27198         Prepare for switching targets, not all use cases work yet.
27199
27200 2005-07-29  Wim Taymans  <wim@fluendo.com>
27201
27202         * docs/design/part-gstghostpad.txt:
27203         Small update.
27204
27205         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27206         (gst_bin_remove_func):
27207         Unlinking pads while holding the bin LOCK is not a good
27208         idea.
27209
27210         * gst/gstpad.c: (gst_pad_class_init),
27211         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
27212         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
27213         No prob setting template after creating the pad.
27214
27215 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
27216
27217         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
27218         (gst_bus_peek), (gst_bus_source_dispatch),
27219         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
27220         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
27221           gst_bus_poll may be called from other threads. Handle
27222           this nicely by not making poll_data disappear off the
27223           stack once gst_bus_poll returns.
27224           gst_bus_peek now increments the refcount on the returned
27225           message.
27226
27227 2005-07-29  Wim Taymans  <wim@fluendo.com>
27228
27229         * docs/design/part-gstghostpad.txt:
27230         Overview of current GhostPad datastructures and use
27231         cases for changing the target.
27232
27233 2005-07-28  Wim Taymans  <wim@fluendo.com>
27234
27235         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27236         Added checks for hierarchy consistency whan adding linked
27237         elements to bins.
27238
27239         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27240         Added check to test element scheduling without bin/pipeline.
27241
27242         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27243         First add elements to bin, then link.
27244         
27245         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27246         (gst_bin_remove_func):
27247         Unlink pads from elements added/removed from bin to maintain
27248         hierarchy consistency.
27249
27250 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27251
27252         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
27253         (gst_base_transform_handle_buffer):
27254         * gst/base/gstbasetransform.h:
27255           Remove broken delay_configure (fixes renegotiation of software
27256           scaling pipelines); remove some leftover printf()s.
27257
27258 2005-07-28  Wim Taymans  <wim@fluendo.com>
27259
27260         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27261         Added some more tests for wrong hierarchy
27262
27263         * docs/design/part-overview.txt:
27264         Some updates.
27265
27266         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
27267         Cleanups.
27268
27269         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
27270         (gst_element_dispose):
27271         Some more cleanups.
27272
27273         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27274         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
27275         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27276         (gst_pad_set_caps), (gst_pad_send_event):
27277         Check for correct hierarchy when linking pads. Moving to
27278         strict requirement for ghostpads when linking elements in
27279         different bins.
27280
27281         * gst/gstpad.h:
27282         Clean ups. Added WRONG_HIERARCHY return value.
27283
27284 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27285
27286         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27287           Better debug if no transform is possible.
27288
27289 2005-07-27  Wim Taymans  <wim@fluendo.com>
27290
27291         * docs/random/wtay/network-transp:
27292         Some old doc I had.
27293
27294 2005-07-27  Wim Taymans  <wim@fluendo.com>
27295
27296         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27297         (gst_dp_event_from_packet):
27298         Fix serialization of seek events.
27299
27300 2005-07-27  Wim Taymans  <wim@fluendo.com>
27301
27302         * check/gst-libs/gdp.c: (GST_START_TEST):
27303         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27304         Fix compilation and fix event serialization.
27305
27306 2005-07-27  Wim Taymans  <wim@fluendo.com>
27307
27308         * CHANGES-0.9:
27309         * docs/design/part-TODO.txt:
27310         * docs/design/part-events.txt:
27311         Some docs updates
27312
27313         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27314         (gst_base_sink_event), (gst_base_sink_do_sync),
27315         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27316         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27317         (gst_base_src_do_seek), (gst_base_src_event_handler),
27318         (gst_base_src_loop):
27319         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27320         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27321         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27322         (gst_base_transform_event), (gst_base_transform_handle_buffer),
27323         (gst_base_transform_set_passthrough),
27324         (gst_base_transform_is_passthrough):
27325         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27326         * gst/elements/gstfilesink.c: (gst_file_sink_event):
27327         Event updates.
27328
27329         * gst/gstbuffer.h:
27330         Use faster casts.
27331
27332         * gst/gstelement.c: (gst_element_seek):
27333         * gst/gstelement.h:
27334         Update gst_element_seek.
27335
27336         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
27337         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
27338         (gst_event_new_flush_start), (gst_event_new_flush_stop),
27339         (gst_event_new_eos), (gst_event_new_newsegment),
27340         (gst_event_parse_newsegment), (gst_event_new_tag),
27341         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
27342         (gst_event_parse_qos), (gst_event_new_seek),
27343         (gst_event_parse_seek), (gst_event_new_navigation):
27344         * gst/gstevent.h:
27345         Make GstEvent use GstStructure. Add parsing code, make sure the
27346         API is sufficiently generic.
27347         Mark possible directions of events and serialization.
27348
27349         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
27350         (_gst_message_copy), (gst_message_new_segment_start),
27351         (gst_message_new_segment_done), (gst_message_new_custom),
27352         (gst_message_parse_segment_start),
27353         (gst_message_parse_segment_done):
27354         Small cleanups.
27355
27356         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27357         (gst_pad_set_caps), (gst_pad_send_event):
27358         Update for new events. 
27359         Catch events sent in wrong directions.
27360
27361         * gst/gstqueue.c: (gst_queue_link_src),
27362         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27363         (gst_queue_handle_src_query):
27364         Event updates.
27365
27366         * gst/gsttag.c:
27367         * gst/gsttag.h:
27368         Remove event code from this file.
27369
27370         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27371         (gst_dp_event_from_packet):
27372         Event updates.
27373
27374 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27375
27376         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
27377         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27378         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
27379           Make debugging actually useful.
27380
27381 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27382
27383         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
27384         (gst_pad_fixate_caps):
27385           Implement default fixation once again, so that gst_pad_fixate()
27386           actually does anything at all. This probably needs to be some
27387           sort of a last resort, and use profile-based fixation first, but
27388           since that doesn't exist yet, this is the best we have. Fixes
27389           visualization in Totem.
27390
27391 2005-07-22  Wim Taymans  <wim@fluendo.com>
27392
27393         * docs/design/part-events.txt:
27394         Small update.
27395
27396         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27397         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
27398         (gst_base_sink_activate_pull):
27399         Some more comments.
27400
27401         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
27402         (gst_fake_src_create):
27403         Fix handoff marshall.
27404
27405         * gst/elements/gstidentity.c: (gst_identity_class_init),
27406         (gst_identity_transform_ip):
27407         We're a real inplace element.
27408
27409         * gst/gstbus.c: (gst_bus_post):
27410         Added some comments.
27411
27412         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
27413         * tests/muxing/case1.c: (main):
27414         * tests/sched/dynamic-pipeline.c: (main):
27415         * tests/sched/interrupt1.c: (main):
27416         * tests/sched/interrupt2.c: (main):
27417         * tests/sched/interrupt3.c: (main):
27418         * tests/sched/runxml.c: (main):
27419         * tests/sched/sched-stress.c: (main):
27420         * tests/seeking/seeking1.c: (event_received), (main):
27421         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
27422         (main):
27423         * tests/threadstate/threadstate3.c: (main):
27424         * tests/threadstate/threadstate4.c: (main):
27425         * tests/threadstate/threadstate5.c: (main):
27426         Fix the tests.
27427
27428 2005-07-21  Wim Taymans  <wim@fluendo.com>
27429
27430         * docs/design/part-seeking.txt:
27431         Some small additions.
27432
27433         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27434         (gst_base_sink_get_times), (gst_base_sink_do_sync),
27435         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27436         * gst/base/gstbasesink.h:
27437         discont values are gint64, handle the math correctly.
27438
27439         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27440         Make the basesrc report error if the source pad is not linked.
27441
27442         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
27443         (gst_queue_loop), (gst_queue_handle_src_query),
27444         (gst_queue_src_activate_push):
27445         Make queue collect data even if the srcpad is not linked.
27446         Start pushing out data as soon as it is linked.
27447
27448         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
27449         * gst/gstutils.h:
27450         Added gst_flow_get_name() to ease error reporting.
27451
27452 2005-07-20  Wim Taymans  <wim@fluendo.com>
27453
27454         * gst/gstmessage.c: (gst_message_new_segment_start),
27455         (gst_message_new_segment_done), (gst_message_parse_segment_start),
27456         (gst_message_parse_segment_done):
27457         * gst/gstmessage.h:
27458         Added a bunch of messages for advanced seeking.
27459
27460         * gst/parse/grammar.y:
27461         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
27462         (gst_dpman_state_changed):
27463         Fix some new-pad -> pad-added signals
27464
27465 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27466
27467         * docs/manual/appendix-porting.xml:
27468         * docs/pwg/appendix-porting.xml:
27469           Document new-pad/state-change signal renames and the FixedList
27470           type rename.
27471
27472 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27473
27474         * docs/manual/advanced-autoplugging.xml:
27475         * docs/manual/basics-helloworld.xml:
27476         * docs/manual/basics-pads.xml:
27477         * docs/random/ds/0.9-suggested-changes:
27478         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
27479         * gst/gstelement.h:
27480         * gst/gstevent.h:
27481         * gst/gstformat.h:
27482         * gst/gstquery.h:
27483         * gst/gststructure.c: (gst_structure_value_get_generic_type),
27484         (gst_structure_parse_array), (gst_structure_parse_value):
27485         * gst/gstvalue.c: (gst_type_is_fixed),
27486         (gst_value_list_prepend_value), (gst_value_list_append_value),
27487         (gst_value_list_get_size), (gst_value_list_get_value),
27488         (gst_value_transform_array_string), (gst_value_serialize_array),
27489         (gst_value_deserialize_array), (gst_value_intersect_array),
27490         (gst_value_is_fixed), (_gst_value_initialize):
27491         * gst/gstvalue.h:
27492           GstElement::new-pad -> pad-added, GstElement::state-change ->
27493           state-changed, GstValueFixedList -> GstValueArray, add format and
27494           flags as their own arguments in gst_element_seek() (should improve
27495           "bindeability"), remove function generators since they don't work
27496           under a whole bunch of compilers (they were deprecated already
27497           anyway).
27498
27499 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27500
27501         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
27502         (_gst_debug_register_funcptr):
27503         * gst/gstinfo.h:
27504           Fix illegal cast on some platforms (#309253).
27505
27506 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27507
27508         * gst/gstmessage.c: (gst_message_new_custom):
27509         * gst/gstmessage.h:
27510           Add _new_custom, make _new_application a macro to _new_custom.
27511
27512 2005-07-20  Wim Taymans  <wim@fluendo.com>
27513
27514         * gst/base/gstbasesrc.c: (gst_base_src_init),
27515         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
27516         * gst/base/gstbasesrc.h:
27517         Add a gboolean to decide when to push out a discont.
27518
27519         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27520         (gst_queue_loop), (gst_queue_handle_src_query),
27521         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27522         (gst_queue_set_property), (gst_queue_get_property):
27523         Some cleanups.
27524
27525         * tests/threadstate/threadstate1.c: (main):
27526         Make a thread test compile and run... very silly..
27527
27528
27529 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27530
27531         * docs/manual/appendix-porting.xml:
27532           Mention removal of libgstgconf-0.9.la and existence of gconf
27533           elements.
27534
27535 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27536
27537         * docs/pwg/advanced-clock.xml:
27538         * docs/pwg/appendix-porting.xml:
27539         * docs/pwg/intro-preface.xml:
27540         * docs/pwg/other-base.xml:
27541         * docs/pwg/other-manager.xml:
27542         * docs/pwg/other-nton.xml:
27543         * docs/pwg/other-ntoone.xml:
27544         * docs/pwg/other-oneton.xml:
27545         * docs/pwg/pwg.xml:
27546           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
27547           demuxer), remove n-to-n (was never written), fix some code examples
27548           and links and update the porting section to include all this.
27549
27550 2005-07-19  Wim Taymans  <wim@fluendo.com>
27551
27552         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
27553         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
27554         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
27555         (gst_queue_src_activate_push), (gst_queue_change_state),
27556         (gst_queue_get_property):
27557         * gst/gstqueue.h:
27558         Propagate GstFlowReturn more intelligently upstream and output
27559         an ERROR/EOS when streaming stopped due to fatal error.
27560
27561 2005-07-19  Wim Taymans  <wim@fluendo.com>
27562
27563         * tools/gst-launch.c: (check_intr), (event_loop), (main):
27564         Don't block forever for the state change to complete, the
27565         pipeline already did with a sensible timeout.
27566
27567 2005-07-19  Wim Taymans  <wim@fluendo.com>
27568
27569         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
27570         Make sure we never call the create function is we
27571         got deactivated.
27572
27573 2005-07-19  Andy Wingo  <wingo@pobox.com>
27574
27575         * gst/parse/parse.l: Attempt to solve bug #172815.
27576
27577 2005-07-19  Wim Taymans  <wim@fluendo.com>
27578
27579         * docs/design/part-clocks.txt:
27580         * docs/design/part-events.txt:
27581         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
27582         Small docs updates.
27583         Only update the seeking values when we are not
27584         busy streaming.
27585
27586 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27587
27588         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27589           Oops, ignore the result of gst_pad_push_event here.
27590
27591 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27592
27593         * gst/base/gstbasesrc.c: (gst_base_src_loop),
27594         (gst_base_src_activate_push):
27595           Send discont event from the loop function, as pads
27596           aren't activated yet in the activate_push handler.
27597
27598         * gst/gstbin.c: (bin_bus_handler):
27599           Don't leak element name.
27600
27601 2005-07-18  Andy Wingo  <wingo@pobox.com>
27602
27603         * configure.ac: Use AS_LIBTOOL_TAGS.
27604
27605 2005-07-18  Wim Taymans  <wim@fluendo.com>
27606
27607         * docs/gst/gstreamer.types:
27608         Remove deleted types.
27609
27610 2005-07-18  Wim Taymans  <wim@fluendo.com>
27611
27612         * check/elements/gstfakesrc.c: (GST_START_TEST):
27613         * configure.ac:
27614         * gst/Makefile.am:
27615         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
27616         (init_popt_callback):
27617         * gst/gst.h:
27618         * gst/gst_private.h:
27619         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
27620         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
27621         * gst/gstbin.h:
27622         * gst/gstbus.h:
27623         * gst/gstconfig.h.in:
27624         * gst/gstelement.c: (gst_element_class_init),
27625         (gst_element_set_base_time), (gst_element_get_base_time),
27626         (iterator_fold_with_resync), (gst_element_change_state),
27627         (gst_element_dispose), (gst_element_get_bus):
27628         * gst/gstelement.h:
27629         * gst/gstelementfactory.h:
27630         * gst/gsterror.c: (_gst_core_errors_init):
27631         * gst/gsterror.h:
27632         * gst/gstevent.h:
27633         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27634         * gst/gstindex.c:
27635         * gst/gstinfo.c: (_gst_debug_init):
27636         * gst/gstmessage.c: (_gst_message_copy):
27637         * gst/gstmessage.h:
27638         * gst/gstminiobject.h:
27639         * gst/gstobject.c:
27640         * gst/gstobject.h:
27641         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27642         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
27643         * gst/gstpad.h:
27644         * gst/gstparse.h:
27645         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27646         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27647         (gst_pipeline_get_last_stream_time):
27648         * gst/gstpipeline.h:
27649         * gst/gstpluginfeature.h:
27650         * gst/gstquery.h:
27651         * gst/gstscheduler.c:
27652         * gst/gstscheduler.h:
27653         * gst/gststructure.h:
27654         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27655         (gst_task_finalize), (gst_task_func), (gst_task_create),
27656         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
27657         (gst_task_stop), (gst_task_pause):
27658         * gst/gsttask.h:
27659         * gst/gsttypefind.h:
27660         * gst/gsttypes.h:
27661         * gst/registries/gstlibxmlregistry.c: (load_feature),
27662         (gst_xml_registry_load), (gst_xml_registry_save_feature):
27663         * gst/registries/gstxmlregistry.c:
27664         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
27665         * gst/schedulers/threadscheduler.c:
27666         * libs/gst/control/dparammanager.h:
27667         * tools/gst-inspect.c: (print_element_list),
27668         (print_plugin_features), (print_element_features):
27669         * tools/gst-xmlinspect.c: (print_element_list),
27670         (print_plugin_info), (main):
27671         Removed plugable schedulers.
27672         Removed Scheduler/Manager from elements.
27673         Removed gsttypes.h, rearranged includes.
27674         Removed dependency pad<->element, element<>pipeline, and
27675         various others,  fix includes.
27676         implement gst_pad_get_parent() with gst_object_get_parent()
27677         Make GstTask sefcontained.
27678         Fix _get_state() on GstBin, it did not return ASYNC with a 0
27679         timeout.
27680         Fix endless loop in iterator_fold_with_resync.
27681
27682
27683 2005-07-18  Wim Taymans  <wim@fluendo.com>
27684
27685         * gst/Makefile.am:
27686         * gst/gstarch.h:
27687         Remove old file.
27688
27689 2005-07-18  Wim Taymans  <wim@fluendo.com>
27690
27691         * gst/Makefile.am:
27692         No more cothreads.h
27693
27694 2005-07-18  Wim Taymans  <wim@fluendo.com>
27695
27696         * gst/cothreads.c:
27697         * gst/cothreads.h:
27698         Let's remove these.
27699
27700 2005-07-18  Wim Taymans  <wim@fluendo.com>
27701
27702         * docs/design/part-dynamic.txt:
27703         * docs/design/part-events.txt:
27704         * docs/design/part-seeking.txt:
27705         Some more docs in the works.
27706
27707         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27708         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
27709         (gst_base_transform_setcaps), (gst_base_transform_get_size),
27710         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
27711         (gst_base_transform_handle_buffer),
27712         (gst_base_transform_sink_activate_push),
27713         (gst_base_transform_src_activate_pull),
27714         (gst_base_transform_set_passthrough),
27715         (gst_base_transform_is_passthrough):
27716         Refcounting fixes.
27717
27718         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
27719         Cleanups.
27720
27721         * gst/gstevent.c: (gst_event_finalize):
27722         Set SRC to NULL.
27723
27724         * gst/gstutils.c: (gst_element_unlink),
27725         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
27726         (gst_pad_proxy_setcaps):
27727         * gst/gstutils.h:
27728         Add _get_parent_element() to get a pads parent as an element.
27729
27730 2005-07-18  Wim Taymans  <wim@fluendo.com>
27731
27732         * check/gst/gstbin.c: (GST_START_TEST):
27733         Remove bogus test.
27734
27735 2005-07-18  Wim Taymans  <wim@fluendo.com>
27736
27737         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
27738         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
27739         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
27740         (gst_base_sink_event), (gst_base_sink_do_sync),
27741         (gst_base_sink_chain), (gst_base_sink_loop),
27742         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
27743         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
27744         Refcounting fixes.
27745         Fix logic for returning ASYNC when not prerolled.
27746
27747 2005-07-18  Wim Taymans  <wim@fluendo.com>
27748
27749         * gst/gstqueue.c: (gst_queue_handle_sink_event):
27750         Fix nasty refcount bug.
27751
27752 2005-07-16 Philippe Khalaf <burger@speedy.org>
27753
27754         * gst/elements/gstfdsrc.c:
27755         * gst/elements/gstfdsrc.h:
27756         * gst/elements/gstelements.c:
27757         * gst/elements/Makefile.am:
27758         Ported fdsrc to 0.9.
27759
27760 2005-07-16  Wim Taymans  <wim@fluendo.com>
27761
27762         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27763         (gst_base_sink_do_sync):
27764         Fix compile error.
27765
27766 2005-07-16  Wim Taymans  <wim@fluendo.com>
27767
27768         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27769         (gst_base_sink_event), (gst_base_sink_get_times),
27770         (gst_base_sink_do_sync), (gst_base_sink_change_state):
27771         * gst/base/gstbasesink.h:
27772         Store and use discont values when syncing buffers as described
27773         in design docs.
27774         
27775         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27776         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
27777         (gst_base_src_activate_push):
27778         Push discont event when starting.
27779
27780         * gst/elements/gstidentity.c: (gst_identity_transform):
27781         Small cleanups.
27782
27783         * gst/gstbin.c: (gst_bin_change_state):
27784         Small cleanups in base_time  distribution.
27785
27786         * gst/gstelement.c: (gst_element_set_base_time),
27787         (gst_element_get_base_time), (gst_element_change_state):
27788         * gst/gstelement.h:
27789         Added methods for the base_time of the element.
27790         Some MT fixes.
27791
27792         * gst/gstpipeline.c: (gst_pipeline_send_event),
27793         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27794         (gst_pipeline_get_last_stream_time):
27795         * gst/gstpipeline.h:
27796         MT fixes.
27797         Handle seeking as described in design doc, remove stream_time
27798         hack.
27799         Cleanups clock and stream_time selection code. Added accessors
27800         for the stream_time.
27801         
27802
27803 2005-07-16  Andy Wingo  <wingo@pobox.com>
27804
27805         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
27806         (#305291).
27807
27808 2005-07-16  Wim Taymans  <wim@fluendo.com>
27809
27810         * check/gst/gstbin.c: (GST_START_TEST):
27811         Make elements silent as the deep_notify refs the
27812         parent, which might make the test fail.
27813
27814         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27815         Don't hold the lock for too long.
27816
27817 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
27818
27819         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
27820           Don't unref the caps we passed to gst_caps_make_writable() after
27821           passing them. gst_caps_make_writable() will do that for us.
27822
27823 2005-07-15  Andy Wingo  <wingo@pobox.com>
27824
27825         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
27826         (#157311).
27827
27828         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
27829         own marshalling function for the handoff signal. Properly type the
27830         buffer as a buffer. Fixes some warnings. Should do a more general
27831         solution.
27832         (gst_identity_class_init): Plug into the right marshaller.
27833
27834 2005-07-15  Wim Taymans  <wim@fluendo.com>
27835
27836         * docs/design/part-TODO.txt:
27837         * docs/design/part-clocks.txt:
27838         * docs/design/part-element-sink.txt:
27839         * docs/design/part-events.txt:
27840         * docs/design/part-gstpipeline.txt:
27841         Updated docs, mostly DISCONT related.
27842
27843 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
27844
27845         * docs/pwg/building-pads.xml:
27846           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
27847
27848 2005-07-15  Andy Wingo  <wingo@pobox.com>
27849
27850         * tools/gst-typefind.c: Update, add copyright block.
27851
27852         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
27853         Normalize and truncate caps before fixation.
27854
27855         * gst/gstcaps.h:
27856         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
27857         discards all but the first structure from its argument.
27858
27859 2005-07-15  Wim Taymans  <wim@fluendo.com>
27860
27861         * gst/base/gstbasetransform.c: (gst_base_transform_init),
27862         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
27863         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27864         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27865         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
27866         (gst_base_transform_chain), (gst_base_transform_change_state),
27867         (gst_base_transform_set_passthrough),
27868         (gst_base_transform_is_passthrough):
27869         * gst/base/gstbasetransform.h:
27870         Make passthrough work using the bufferpools.
27871         Changed API a bit, subclasses have to write into a buffer
27872         provided by the base class.
27873         More debug info in nego functions.
27874         
27875         * gst/elements/gstidentity.c: (gst_identity_init),
27876         (gst_identity_transform):
27877         Port to new base class.
27878
27879 2005-07-15  Wim Taymans  <wim@fluendo.com>
27880
27881         * gst/gstmessage.c: (gst_message_new_state_changed):
27882         * tools/gst-launch.c: (event_loop), (main):
27883         Totally dump messages in -launch with the -m option.
27884         Fix message name for State messages,
27885
27886 2005-07-14  Wim Taymans  <wim@fluendo.com>
27887
27888         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27889         Post error messages on errors.
27890
27891 2005-07-14  Wim Taymans  <wim@fluendo.com>
27892
27893         * gst/gstcaps.c: (gst_caps_do_simplify):
27894         Remove debug info.
27895
27896         * gst/gsterror.h:
27897         Define error for stream stopped.
27898
27899         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
27900         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
27901         Do proper return values.
27902
27903         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27904         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
27905         (gst_pad_get_range):
27906         Better return values.
27907
27908         * gst/gstpad.h:
27909         Reorganise return values, add macro to check for fatal errors.
27910
27911         * gst/gstqueue.c: (gst_queue_chain):
27912         Return proper GstFlowReturn values,
27913
27914 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
27915
27916         * docs/gst/gstreamer-sections.txt:
27917         * docs/gst/gstreamer.types:
27918         * docs/gst/tmpl/gst.sgml:
27919         * docs/gst/tmpl/gstbasesink.sgml:
27920         * docs/gst/tmpl/gstbasesrc.sgml:
27921         * docs/gst/tmpl/gstbasetransform.sgml:
27922         * docs/gst/tmpl/gstbin.sgml:
27923         * docs/gst/tmpl/gstbuffer.sgml:
27924         * docs/gst/tmpl/gstcaps.sgml:
27925         * docs/gst/tmpl/gstclock.sgml:
27926         * docs/gst/tmpl/gstcompat.sgml:
27927         * docs/gst/tmpl/gstconfig.sgml:
27928         * docs/gst/tmpl/gstelement.sgml:
27929         * docs/gst/tmpl/gstelementdetails.sgml:
27930         * docs/gst/tmpl/gstelementfactory.sgml:
27931         * docs/gst/tmpl/gstenumtypes.sgml:
27932         * docs/gst/tmpl/gsterror.sgml:
27933         * docs/gst/tmpl/gstevent.sgml:
27934         * docs/gst/tmpl/gstfakesink.sgml:
27935         * docs/gst/tmpl/gstfakesrc.sgml:
27936         * docs/gst/tmpl/gstfilesink.sgml:
27937         * docs/gst/tmpl/gstfilesrc.sgml:
27938         * docs/gst/tmpl/gstfilter.sgml:
27939         * docs/gst/tmpl/gstformat.sgml:
27940         * docs/gst/tmpl/gstghostpad.sgml:
27941         * docs/gst/tmpl/gstimplementsinterface.sgml:
27942         * docs/gst/tmpl/gstindex.sgml:
27943         * docs/gst/tmpl/gstindexfactory.sgml:
27944         * docs/gst/tmpl/gstinfo.sgml:
27945         * docs/gst/tmpl/gstiterator.sgml:
27946         * docs/gst/tmpl/gstmacros.sgml:
27947         * docs/gst/tmpl/gstmemchunk.sgml:
27948         * docs/gst/tmpl/gstminiobject.sgml:
27949         * docs/gst/tmpl/gstobject.sgml:
27950         * docs/gst/tmpl/gstpad.sgml:
27951         * docs/gst/tmpl/gstpadtemplate.sgml:
27952         * docs/gst/tmpl/gstparse.sgml:
27953         * docs/gst/tmpl/gstpipeline.sgml:
27954         * docs/gst/tmpl/gstplugin.sgml:
27955         * docs/gst/tmpl/gstpluginfeature.sgml:
27956         * docs/gst/tmpl/gstquery.sgml:
27957         * docs/gst/tmpl/gstqueue.sgml:
27958         * docs/gst/tmpl/gstregistry.sgml:
27959         * docs/gst/tmpl/gstregistrypool.sgml:
27960         * docs/gst/tmpl/gstscheduler.sgml:
27961         * docs/gst/tmpl/gstschedulerfactory.sgml:
27962         * docs/gst/tmpl/gststructure.sgml:
27963         * docs/gst/tmpl/gstsystemclock.sgml:
27964         * docs/gst/tmpl/gsttaglist.sgml:
27965         * docs/gst/tmpl/gsttagsetter.sgml:
27966         * docs/gst/tmpl/gsttrace.sgml:
27967         * docs/gst/tmpl/gsttrashstack.sgml:
27968         * docs/gst/tmpl/gsttypefind.sgml:
27969         * docs/gst/tmpl/gsttypefindfactory.sgml:
27970         * docs/gst/tmpl/gsttypes.sgml:
27971         * docs/gst/tmpl/gsturihandler.sgml:
27972         * docs/gst/tmpl/gsturitype.sgml:
27973         * docs/gst/tmpl/gstutils.sgml:
27974         * docs/gst/tmpl/gstvalue.sgml:
27975         * docs/gst/tmpl/gstversion.sgml:
27976         * docs/gst/tmpl/gstxml.sgml:
27977         * docs/libs/tmpl/gstcontrol.sgml:
27978         * docs/libs/tmpl/gstdataprotocol.sgml:
27979         * docs/libs/tmpl/gstdparam.sgml:
27980         * docs/libs/tmpl/gstdplinint.sgml:
27981         * docs/libs/tmpl/gstdpman.sgml:
27982         * docs/libs/tmpl/gstdpsmooth.sgml:
27983         * docs/libs/tmpl/gstgetbits.sgml:
27984         * docs/libs/tmpl/gstunitconvert.sgml:
27985         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
27986         (gst_push_src_base_init), (gst_push_src_class_init),
27987         (gst_push_src_init), (gst_push_src_create):
27988         * gst/base/gstpushsrc.h:
27989         * gst/elements/gstelements.c:
27990         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
27991         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
27992         (gst_fake_sink_init), (gst_fake_sink_set_property),
27993         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
27994         (gst_fake_sink_event), (gst_fake_sink_preroll),
27995         (gst_fake_sink_render), (gst_fake_sink_change_state):
27996         * gst/elements/gstfakesink.h:
27997         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
27998         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
27999         (gst_fake_src_base_init), (gst_fake_src_class_init),
28000         (gst_fake_src_init), (gst_fake_src_event_handler),
28001         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
28002         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
28003         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
28004         (gst_fake_src_create_buffer), (gst_fake_src_create),
28005         (gst_fake_src_start), (gst_fake_src_stop):
28006         * gst/elements/gstfakesrc.h:
28007         * gst/elements/gstfilesink.c: (_do_init),
28008         (gst_file_sink_base_init), (gst_file_sink_class_init),
28009         (gst_file_sink_init), (gst_file_sink_dispose),
28010         (gst_file_sink_set_location), (gst_file_sink_set_property),
28011         (gst_file_sink_get_property), (gst_file_sink_open_file),
28012         (gst_file_sink_close_file), (gst_file_sink_query),
28013         (gst_file_sink_event), (gst_file_sink_render),
28014         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
28015         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
28016         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
28017         * gst/elements/gstfilesink.h:
28018         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
28019         (gst_file_src_class_init), (gst_file_src_init),
28020         (gst_file_src_finalize), (gst_file_src_set_location),
28021         (gst_file_src_set_property), (gst_file_src_get_property),
28022         (gst_file_src_map_region), (gst_file_src_map_small_region),
28023         (gst_file_src_create_mmap), (gst_file_src_create_read),
28024         (gst_file_src_create), (gst_file_src_is_seekable),
28025         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
28026         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
28027         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
28028         (gst_file_src_uri_handler_init):
28029         * gst/elements/gstfilesrc.h:
28030           more autistic cleanliness in functions/names/defines
28031
28032 2005-07-13  Andy Wingo  <wingo@pobox.com>
28033
28034         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
28035         source couldn't negotiate.
28036
28037         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
28038         connections again.
28039
28040         * gst/gstutils.h:
28041         * gst/gstutils.c (gst_element_link_pads_filtered): New old
28042         function. I am channeling Hades. Put your boots on suckers!!!
28043
28044 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
28045
28046         * testsuite/caps/Makefile.am:
28047         * testsuite/caps/value_compare.c:
28048         * testsuite/caps/value_intersect.c:
28049         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
28050           move two testsuite apps over to the check dir
28051
28052 2005-07-12  Wim Taymans  <wim@fluendo.com>
28053
28054         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
28055         Added more debug info in the negotiate process.
28056
28057         * gst/gstmessage.h:
28058         Prepare for segment playback.
28059
28060         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
28061         Better debugging.
28062
28063         * gst/gstutils.c:
28064         Some more docs.
28065
28066         * tools/gst-launch.c: (main):
28067         NULL pipeline on errors.
28068
28069 2005-07-12  Andy Wingo  <wingo@pobox.com>
28070
28071         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
28072         not it comes from a malloc region. Make sure our copy gets freed.
28073
28074 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28075
28076         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
28077         * check/gst/gstmessage.c: (GST_START_TEST):
28078         * check/gst/gststructure.c: (GST_START_TEST),
28079         (gst_structure_suite), (main):
28080           more testing
28081         * gst/gstelement.c: (gst_element_message_full):
28082           clean up GError and debug string now that they get copied
28083         * gst/gstmessage.c: (gst_message_new_error),
28084         (gst_message_new_warning), (gst_message_parse_error),
28085         (gst_message_parse_warning):
28086           use GST_TYPE_G_ERROR for structure_new, and take copies of
28087           arguments, so that we don't mess up refcounting
28088
28089 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28090
28091         * check/Makefile.am:
28092           add per-test valgrind targets
28093         * check/gst-libs/gdp.c: (GST_START_TEST),
28094         (gst_data_protocol_suite), (main):
28095           clean up
28096
28097 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28098
28099         * check/Makefile.am:
28100           instate more valgrindable tests
28101         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28102         (GST_START_TEST), (fakesrc_suite):
28103         * check/gst/gstpad.c: (GST_START_TEST):
28104         * check/gst/gststructure.c: (GST_START_TEST):
28105           fix test leaks
28106         * docs/gst/tmpl/gstminiobject.sgml:
28107         * gst/gstpad.c: (gst_pad_finalize):
28108           fix the static mutex leak
28109
28110 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28111
28112         * check/Makefile.am:
28113           add two more tests for valgrinding
28114         * check/gst/gstvalue.c: (GST_START_TEST):
28115           test refcount of deserialized buffer, found a leak
28116         * docs/gst/gstreamer-docs.sgml:
28117         * docs/gst/gstreamer-sections.txt:
28118         * docs/gst/gstreamer.types:
28119         * docs/gst/tmpl/gstminiobject.sgml:
28120           add miniobject to docs
28121         * gst/gstminiobject.c:
28122           add some docs
28123         * gst/gstvalue.c: (gst_value_deserialize_buffer),
28124         (gst_string_unwrap):
28125           fix a hard-to-find invalid write for one of the tests
28126           fix a leak for deserialized buffers
28127
28128 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28129
28130         * docs/pwg/advanced-events.xml:
28131         * docs/pwg/advanced-request.xml:
28132         * docs/pwg/advanced-scheduling.xml:
28133         * docs/pwg/appendix-porting.xml:
28134         * docs/pwg/building-boiler.xml:
28135         * docs/pwg/intro-preface.xml:
28136         * docs/pwg/other-ntoone.xml:
28137           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
28138           of example code and explanation for pad activation, loop() and
28139           getrange() functions and a bit more. Remove old comments pointing
28140           to loop-functions.
28141         * examples/pwg/Makefile.am:
28142           Add loop/getrange examples.
28143
28144 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28145
28146         * configure.ac:
28147           check for valgrind binary + some fixes
28148         * check/gst.supp:
28149           valgrind suppressions for the tests
28150         * check/Makefile.am:
28151           add a valgrind: target that valgrinds the unit tests
28152         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
28153         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
28154         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28155         * check/gst/gstghostpad.c:
28156           added some cleanup
28157         * check/gst/gstdata.c:
28158           removed
28159         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
28160         (thread_unref), (gst_mini_object_suite), (main):
28161           added
28162         * gst/gst.c: (gst_deinit):
28163         * gst/gst.h:
28164           add a method to clean up.
28165         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28166         (gst_system_clock_obtain):
28167           allow for disposing the system clock.
28168         * tools/gst-launch.c: (main):
28169           deinit
28170
28171 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28172
28173         * docs/gst/tmpl/gstbasesrc.sgml:
28174         * docs/gst/tmpl/gstfakesrc.sgml:
28175         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28176         (gst_base_src_init), (gst_base_src_set_property),
28177         (gst_base_src_get_property), (gst_base_src_get_range),
28178         (gst_base_src_start):
28179         * gst/base/gstbasesrc.h:
28180           add num-buffers property
28181         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28182         (gst_fakesrc_init), (gst_fakesrc_set_property),
28183         (gst_fakesrc_get_property), (gst_fakesrc_create),
28184         (gst_fakesrc_start):
28185           remove num-buffers property
28186
28187 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28188
28189         * docs/gst/gstreamer-sections.txt:
28190         * docs/gst/tmpl/gstbasesink.sgml:
28191         * docs/gst/tmpl/gstbasesrc.sgml:
28192         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28193         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28194         (gst_base_sink_finalize), (gst_base_sink_set_clock),
28195         (gst_base_sink_set_property), (gst_base_sink_get_property),
28196         (gst_base_sink_handle_object), (gst_base_sink_event),
28197         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
28198         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
28199         (gst_base_sink_loop), (gst_base_sink_deactivate),
28200         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
28201         (gst_base_sink_change_state):
28202         * gst/base/gstbasesink.h:
28203         * gst/base/gstbasesrc.h:
28204         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
28205         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28206         (gst_filesink_init):
28207           more macro splitting
28208
28209 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28210
28211         * gst/gstelement.c: (gst_element_get_bus):
28212           add debug
28213         * tools/gst-launch.c: (check_intr), (event_loop):
28214           fix bus leaks
28215
28216 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28217
28218         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
28219           fix a caps leak
28220
28221 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28222
28223         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28224         (gst_base_src_finalize):
28225           add finalize method and clean up properly
28226         * gst/gstpipeline.c: (gst_pipeline_dispose):
28227           add debug
28228
28229 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28230
28231         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
28232         (gst_bin_suite):
28233           add more things to check
28234         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
28235         * gst/gstelement.c:
28236           more debug
28237
28238 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28239
28240         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28241         (GST_START_TEST), (fakesrc_suite):
28242         * check/gst-libs/gdp.c: (GST_START_TEST):
28243         * check/gst/gst.c: (GST_START_TEST):
28244         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
28245         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28246         * check/gst/gstbus.c: (GST_START_TEST):
28247         * check/gst/gstcaps.c: (GST_START_TEST):
28248         * check/gst/gstdata.c: (GST_START_TEST):
28249         * check/gst/gstelement.c: (GST_START_TEST):
28250         * check/gst/gstghostpad.c: (GST_START_TEST):
28251         * check/gst/gstiterator.c: (GST_START_TEST):
28252         * check/gst/gstmessage.c: (GST_START_TEST):
28253         * check/gst/gstobject.c: (GST_START_TEST):
28254         * check/gst/gstpad.c: (GST_START_TEST):
28255         * check/gst/gststructure.c: (GST_START_TEST):
28256         * check/gst/gstsystemclock.c: (GST_START_TEST),
28257         (gst_systemclock_suite):
28258         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
28259         * check/gst/gstvalue.c: (GST_START_TEST):
28260         * check/pipelines/cleanup.c: (GST_START_TEST):
28261         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
28262         * check/states/sinks.c: (GST_START_TEST):
28263         * check/gstcheck.c: (gst_check_init):
28264         * check/gstcheck.h:
28265           add debugging category
28266           use GST_START_TEST now, so we add a debug line
28267
28268 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28269
28270         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
28271           add test for state change message on a bin
28272         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
28273           add another test
28274         * gst/gstbin.c: (gst_bin_init):
28275         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
28276         * gst/gstelement.c: (gst_element_post_message),
28277         (gst_element_set_state):
28278         * gst/gstelementfactory.c: (gst_element_factory_create):
28279         * gst/gstmessage.c: (gst_message_new):
28280         * gst/gstscheduler.c:
28281           various debugging additions and cleanups
28282
28283 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28284
28285         * check/Makefile.am:
28286         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
28287         (main):
28288           adding tests for elements
28289         * gst/gstelement.c: (gst_element_dispose):
28290
28291 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28292
28293         * gst/registries/gstlibxmlregistry.c: (load_feature):
28294           plug more leaks.  A simple gst_init() now is leakfree, yay.
28295
28296 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28297
28298         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
28299         (gst_xml_registry_load):
28300           plug another memleak
28301
28302 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28303
28304         * configure.ac:
28305           use GST_SET_ERROR_CFLAGS
28306         * docs/faq/cvs.xml:
28307           change to ERROR_CFLAGS
28308
28309 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28310
28311         * configure.ac:
28312           make GST_ERROR_CFLAGS overridable and re-enable Werror
28313         * docs/faq/cvs.xml:
28314           add a note about error CFLAGS
28315         * docs/gst/tmpl/gstfakesrc.sgml:
28316         * gst/elements/gstfakesrc.c:
28317           comment out some unused code
28318         * gst/gst.c: (split_and_iterate):
28319         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
28320         (load_feature):
28321           plug some memleaks
28322
28323 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28324
28325         * common/Makefile.am:
28326         * common/gtk-doc.mak:
28327         * docs/gst/Makefile.am:
28328           factor out gtk-doc.mak
28329
28330 2005-07-07  Wim Taymans  <wim@fluendo.com>
28331
28332         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
28333         (gst_thread_scheduler_dispose):
28334         Unlock the STREAM_LOCK completely.
28335
28336 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28337
28338         * check/Makefile.am:
28339         * check/elements/.cvsignore:
28340         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28341         (START_TEST), (fakesrc_suite), (main):
28342         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28343         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28344         (gst_fakesrc_create), (gst_fakesrc_start):
28345         * gst/elements/gstfakesrc.h:
28346           adding a first element test
28347
28348 2005-07-07  Andy Wingo  <wingo@pobox.com>
28349
28350         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
28351         debug message.
28352
28353 2005-07-07  Wim Taymans  <wim@fluendo.com>
28354
28355         * gst/gstquery.c:
28356         * gst/gstquery.h:
28357         Remove old types
28358
28359 2005-07-07  Wim Taymans  <wim@fluendo.com>
28360
28361         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
28362         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
28363         Allow subclasses to implement their own negotiation.
28364
28365 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28366
28367         * docs/design/part-gstbin.txt:
28368         * docs/design/part-gstpipeline.txt:
28369           Update design notes to reflect the movement of
28370           responsibility for bus handling from GstPipeline to
28371           GstBin
28372
28373 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28374
28375         * configure.ac:
28376           Remove unnecessary queue2/3/4 examples.
28377
28378 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28379
28380         * examples/Makefile.am:
28381         * examples/helloworld/helloworld.c: (event_loop), (main):
28382         * examples/queue/queue.c: (event_loop), (main):
28383         * examples/queue2/queue2.c: (main):
28384           Update a couple of the examples to work again.
28385
28386         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28387         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
28388          Spelling corrections and extra debug.
28389         
28390         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
28391         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
28392         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
28393         * gst/gstbin.h:
28394         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28395         (gst_pipeline_change_state):
28396         * gst/gstpipeline.h:
28397           Move the bus handler for children to the GstBin, and create a
28398           separate bus for receiving messages from children to the one the
28399           bus sends 'upwards' on.
28400
28401 2005-07-06  Wim Taymans  <wim@fluendo.com>
28402
28403         * gst/base/README:
28404         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28405         (gst_base_sink_handle_object), (gst_base_sink_loop),
28406         (gst_base_sink_change_state):
28407         * gst/base/gstbasesink.h:
28408         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28409         (gst_base_src_init), (gst_base_src_setcaps),
28410         (gst_base_src_getcaps), (gst_base_src_loop),
28411         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
28412         (gst_base_src_start), (gst_base_src_change_state):
28413         * gst/base/gstbasesrc.h:
28414         Make basesrc negotiate.
28415         Handle the case where preroll fails in basesink.
28416         Update README.
28417
28418 2005-07-06  Wim Taymans  <wim@fluendo.com>
28419
28420         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
28421         Implement the fixate function.
28422         Clean up acceptcaps.
28423
28424 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28425
28426         * docs/pwg/building-filterfactory.xml:
28427         * docs/pwg/pwg.xml:
28428           Remove never-written filter-factory chapter; I'll add the various
28429           base classes to part 4 ("other element types") later on.
28430
28431 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28432
28433         * docs/pwg/advanced-negotiation.xml:
28434         * docs/pwg/building-boiler.xml:
28435         * docs/pwg/building-pads.xml:
28436         * docs/pwg/pwg.xml:
28437         * examples/pwg/Makefile.am:
28438           Add a chapter on caps negotiation, simplify the original code
28439           samples a bit w.r.t. caps negotiation, add link to the advanced
28440           section. Add a bunch of examples showing different use cases of
28441           different types of caps negotiation. Upstream renegotiation isn't
28442           fully documented yet since nobody knows how that works.
28443
28444 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
28445
28446         * check/gst/gstpad.c:
28447         * check/gstcheck.c:
28448         * gst/gstpad.c: (gst_pad_get_internal_links_default):
28449           if pad has no parent, return NULL as list of internal links
28450
28451 2005-07-05  Andy Wingo  <wingo@pobox.com>
28452
28453         * gst/elements/gstfilesrc.c:
28454         * gst/elements/gstfakesrc.c: 
28455         * gst/base/gstpushsrc.c:
28456         * gst/base/gstbasesrc.h: 
28457         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
28458         
28459 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
28460
28461         * Makefile.am:
28462           better report generation target (lcov needs a patch)
28463
28464 2005-07-05  Andy Wingo  <wingo@pobox.com>
28465
28466         * gst/elements, testsuite: Null if we got it...
28467
28468 2005-07-05  Wim Taymans  <wim@fluendo.com>
28469
28470         * configure.ac:
28471         * libs/gst/dataprotocol/Makefile.am:
28472         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
28473         * libs/gst/dataprotocol/dataprotocol.h:
28474         * pkgconfig/Makefile.am:
28475         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
28476         * pkgconfig/gstreamer-dataprotocol.pc.in:
28477         Ported dataprotol to 0.9. 
28478         Added pkgconfig files.
28479
28480 2005-07-05  Andy Wingo  <wingo@pobox.com>
28481
28482         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
28483         Default to returning TRUE for the case when tranform_caps returns
28484         a fixed caps, like for identity or volume.
28485
28486         * check/gst/gstbus.c (pound_bus_with_messages): 
28487         * check/gst/gstmessage.c (START_TEST): 
28488         * check/pipelines/simple_launch_lines.c (got_handoff): Application
28489         message API change.
28490
28491         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
28492         logic weaks here: always run transform_caps, trying passthrough
28493         operation only if the original caps intersects with the transform.
28494
28495         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
28496         source and sink caps.
28497
28498         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
28499         Intersect the peer caps with the pad template before going into
28500         transform_caps.
28501         (gst_base_transform_transform_caps): More debugging.
28502
28503         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
28504         src argument.
28505
28506 2005-07-04  Edward Hervey  <edward@fluendo.com>
28507
28508         * gst/gstutils.c:
28509         * gst/gstutils.h:
28510         (gst_pad_add_*_probe): now returns the signal id for better wrapping
28511         in bindings.
28512
28513 2005-07-04  Andy Wingo  <wingo@pobox.com>
28514
28515         * check/gst/gstpad.c: Only set explicit caps on pads.
28516
28517 2005-07-01  Andy Wingo  <wingo@pobox.com>
28518
28519         * tests/network-clock.scm: Commentary update.
28520
28521         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28522         Didn't really make sense, not implementable with basetransform,
28523         etc.
28524         (gst_identity_transform): Unref inbuf via make_writable. Feeble
28525         attempt at implementing the sync property, needs an unlock method.
28526
28527         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28528         New func, by default returns the same caps (the identity
28529         transformation).
28530         (gst_base_transform_getcaps): Uses transform_caps to return
28531         something sensible.
28532         (gst_base_transform_setcaps): Complicated logic to get caps on
28533         both pads, even if they are different, and to call set_caps once
28534         for every time both pads get their caps set.
28535         (gst_base_transform_handle_buffer): Give the ref to the transform
28536         function. Allows in-place modification of the buffer.
28537
28538         * gst/base/gstbasetransform.h (transform_caps): New class method.
28539         Given caps on one side, what can I do on the other.
28540         (set_caps): Take two caps, one for each side of the element.
28541
28542         * gst/gstpad.h:
28543         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
28544         caps in place. This is safe because we can check the mutability of
28545         the caps, and a good idea because fixate functions are just called
28546         as a matter of last resort. (Not actually implemented.)
28547         (gst_pad_set_caps): If the caps we're setting is actually the same
28548         as the existing pad caps, just update the pointer without calling
28549         setcaps. Assert that caps is either NULL or fixed, as per the
28550         docs.
28551
28552         * gst/gstghostpad.c: Update for fixate changes.
28553
28554 2005-07-02  Andy Wingo  <wingo@pobox.com>
28555
28556         * gst/gstcaps.c:
28557         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
28558         two refcounts makes it immutable, which is enough. Doc more.
28559
28560 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
28561
28562         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
28563           Put the mini_object into GValue as a mini_object,
28564           not a gpointer, since that's how we declared
28565           the signal.
28566
28567 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28568
28569         * examples/pwg/Makefile.am:
28570           Fix buildbot again.
28571
28572 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28573
28574         * docs/pwg/building-testapp.xml:
28575           Add extra check.
28576         * examples/pwg/Makefile.am:
28577           Fix buildbot.
28578
28579 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28580
28581         * configure.ac:
28582         * examples/Makefile.am:
28583         * examples/pwg/Makefile.am:
28584         * examples/pwg/extract.pl:
28585           Enable building the PWG examples.
28586         * docs/pwg/advanced-interfaces.xml:
28587           Add URI interface stub.
28588         * docs/pwg/advanced-types.xml:
28589         * docs/pwg/other-autoplugger.xml:
28590         * docs/pwg/appendix-porting.xml:
28591         * docs/pwg/pwg.xml:
28592           Add porting guide (mostly stubs), remove autoplugging (see ADM).
28593         * docs/pwg/building-boiler.xml:
28594         * docs/pwg/building-chainfn.xml:
28595         * docs/pwg/building-pads.xml:
28596         * docs/pwg/building-props.xml:
28597         * docs/pwg/building-state.xml:
28598         * docs/pwg/building-testapp.xml:
28599           Update the building-*.xml parts for 0.9 changes. All examples
28600           code blocks compile in examples/pwg/*.
28601
28602 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28603
28604         * docs/manual/advanced-autoplugging.xml:
28605         * docs/manual/appendix-checklist.xml:
28606         * docs/manual/appendix-integration.xml:
28607         * docs/manual/highlevel-components.xml:
28608           Fix playbin/decodebin examples, update docs a bit, mention bus
28609           instead of signals in various places, mention kmplayer and
28610           kaffeine since they have a working GStreamer backend in the KDE
28611           section.
28612
28613 2005-06-30  Wim Taymans  <wim@fluendo.com>
28614
28615         * CHANGES-0.9:
28616         * docs/design/draft-ghostpads.txt:
28617         * docs/design/draft-push-pull.txt:
28618         * docs/design/draft-query.txt:
28619         * docs/design/part-TODO.txt:
28620         * docs/design/part-query.txt:
28621         Added CHANGES-0.9 doc, updated status of other docs.
28622         
28623         * gst/gstquery.h:
28624         Remove "hmm" macro
28625
28626 2005-06-30  Wim Taymans  <wim@fluendo.com>
28627
28628         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28629         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28630         (gst_base_sink_change_state):
28631         * gst/base/gstbasesink.h:
28632         Some tweaks, only EOS and a buffer complete a preroll.
28633
28634 2005-06-30  Andy Wingo  <wingo@pobox.com>
28635
28636         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
28637         activate_push down to the internal pad as well.
28638
28639 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
28640
28641         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28642
28643         * gst/gsttaginterface.c:
28644           Some documentation fixes (#307394 and #307397).
28645
28646 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
28647
28648         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28649
28650         * gst/gstvalue.c: (gst_value_intersect_list):
28651           Fix memleak (#309125).
28652
28653 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28654
28655         * docs/manual/advanced-dataaccess.xml:
28656           Fix fakesrc example to compile; doesn't work, bug somewhere...?
28657         * docs/manual/basics-pads.xml:
28658           Add reference for filtered caps to above chapter.
28659
28660 2005-06-30  Wim Taymans  <wim@fluendo.com>
28661
28662         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
28663         (gst_bin_change_state):
28664         Probes are gone.
28665         Lame attempt at making the state change function a bit
28666         more readable.
28667
28668 2005-06-30  Wim Taymans  <wim@fluendo.com>
28669
28670         * docs/design/part-clocks.txt:
28671         * docs/design/part-element-sink.txt:
28672         * docs/design/part-events.txt:
28673         * docs/design/part-preroll.txt:
28674         * docs/design/part-states.txt:
28675         Some more tweeks and additions to the docs.
28676
28677 2005-06-30  Wim Taymans  <wim@fluendo.com>
28678
28679         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28680         (default_have_data), (gst_pad_class_init), (gst_pad_init),
28681         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28682         (gst_pad_check_pull_range), (gst_pad_get_range),
28683         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
28684         * gst/gstpad.h:
28685         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
28686         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28687         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28688         (gst_pad_remove_buffer_probe):
28689         Removed atomic operations, use existing LOCK.
28690         Move exception handling out of main code path.
28691
28692 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28693
28694         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28695         (silly_return_true_function), (gst_pad_class_init),
28696         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28697         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
28698         (gst_pad_send_event):
28699           Fix accumulator, add default value by using _emitv() instead
28700           of _emit() for signal emission.
28701
28702 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28703
28704         * docs/manual/advanced-dataaccess.xml:
28705         * examples/manual/Makefile.am:
28706           Add probe example.
28707         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
28708           Make work (??).
28709
28710 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
28711
28712         * gst/elements/gstfilesink.c: (gst_filesink_render):
28713           Simplify code so that we don't have to handle short
28714           writes and return GST_FLOW_ERROR if an error occured.
28715
28716 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28717
28718         * docs/gst/gstreamer-docs.sgml:
28719           Remove probes more.
28720
28721 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28722
28723         * docs/gst/gstreamer-sections.txt:
28724         * docs/gst/tmpl/gstpad.sgml:
28725         * docs/gst/tmpl/gstprobe.sgml:
28726         * gst/Makefile.am:
28727         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28728         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
28729         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
28730         (gst_pad_push_event), (gst_pad_send_event):
28731         * gst/gstpad.h:
28732         * gst/gstutils.c: (gst_pad_add_data_probe),
28733         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28734         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28735         (gst_pad_remove_buffer_probe):
28736         * gst/gstutils.h:
28737           Remove old probes, add new g-signal-based probes and some utility
28738           functions.
28739
28740 2005-06-29  Edward Hervey  <edward@fluendo.com>
28741
28742         * gst/gstelementfactory.c:
28743         * gst/gstutils.h:
28744         * gst/gstutils.c:
28745         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
28746         the definition to the header file.
28747
28748 2005-06-29  Andy Wingo  <wingo@pobox.com>
28749
28750         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
28751         plugins from the source directory.
28752
28753 2005-06-29  Wim Taymans  <wim@fluendo.com>
28754
28755         * docs/gst/tmpl/gstbuffer.sgml:
28756         * docs/gst/tmpl/gstclock.sgml:
28757         Some fixings for blantently wrong text.
28758
28759 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
28760
28761         * check/Makefile.am:
28762         * gst/gst.c: (add_path_func), (init_pre):
28763         * gst/gstregistry.c: (gst_registry_add_path):
28764           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
28765           only scan the GST_PLUGIN_PATH locations, and not add
28766           system locations
28767
28768 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
28769
28770         * docs/gst/gstreamer-sections.txt:
28771         * docs/gst/tmpl/gstbasesrc.sgml:
28772         * gst/gstelement.c:
28773         * gst/gstelement.h:
28774         * gst/gstevent.c:
28775         * gst/gstutils.c:
28776           doc fixes
28777
28778 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28779
28780         * docs/manual/advanced-autoplugging.xml:
28781           Fix autoplugging example.
28782
28783 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28784
28785         * docs/manual/advanced-autoplugging.xml:
28786         * docs/manual/mime-world.fig:
28787           Try to get autoplugging working, fix type detection. Fix text
28788           in hello-world image.
28789
28790 2005-06-29  Wim Taymans  <wim@fluendo.com>
28791
28792         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28793         (gst_base_sink_change_state):
28794         Small debug line.
28795
28796         * gst/gstclock.h:
28797         map SIGNAL and BROADCAST to the right function.
28798
28799         * gst/gstobject.h:
28800         Remove redundant braces.
28801
28802         * gst/gstpad.c: (gst_pad_set_caps):
28803         Don't call setcaps function when reseting caps to NULL.
28804
28805         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28806         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
28807         (gst_system_clock_id_unschedule):
28808         Use BROADCAST as this is what we do.
28809
28810 2005-06-29  Wim Taymans  <wim@fluendo.com>
28811
28812         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
28813         We are actually prerolling before commiting the state
28814         change. 
28815
28816 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28817
28818         * docs/manual/advanced-clocks.xml:
28819         * docs/manual/advanced-interfaces.xml:
28820         * docs/manual/advanced-metadata.xml:
28821         * docs/manual/advanced-position.xml:
28822         * docs/manual/advanced-schedulers.xml:
28823         * docs/manual/advanced-threads.xml:
28824         * docs/manual/appendix-porting.xml:
28825         * docs/manual/basics-bins.xml:
28826         * docs/manual/basics-bus.xml:
28827         * docs/manual/basics-elements.xml:
28828         * docs/manual/basics-helloworld.xml:
28829         * docs/manual/basics-pads.xml:
28830         * docs/manual/highlevel-components.xml:
28831         * docs/manual/manual.xml:
28832         * docs/manual/thread.fig:
28833           Update (until threads/scheduling) Application Development Manual;
28834           remove GstThread, add GstBus, add simple porting checklist, add
28835           documentation for tag writing, clocks, make all examples until this
28836           part compile and run.
28837         * examples/manual/Makefile.am:
28838           Update from changes to Application Development Manual; add bus
28839           example, remove thread example.
28840
28841 2005-06-28  Wim Taymans  <wim@fluendo.com>
28842
28843         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
28844         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
28845         (gst_bus_source_dispatch):
28846         Add debugging messages.
28847         Make internal methods static.
28848         Handle the case where the bus is flushed in the handler.
28849         
28850         * gst/gstelement.c: (gst_element_get_bus):
28851         Fix refcount in _get_bus();
28852
28853         * gst/gstpipeline.c: (gst_pipeline_change_state),
28854         (gst_pipeline_get_clock_func):
28855         Clock refcounting fixes.
28856         Handle the case where preroll timed out more gracefully.
28857         
28858         * gst/gstsystemclock.c: (gst_system_clock_dispose):
28859         Clean up the internal thread in dispose. This is needed
28860         for subclasses that actually get disposed.
28861         
28862         * gst/schedulers/threadscheduler.c:
28863         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
28864         (gst_thread_scheduler_dispose):
28865         Free thread pool in dispose.
28866
28867 2005-06-28  Andy Wingo  <wingo@pobox.com>
28868
28869         * tests/network-clock-utils.scm (debug, print-event): New utils.
28870
28871         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
28872         (*packet-loss*): Unified loss probability.
28873         (network-time): Report out-of-band events.
28874
28875         * tests/plot-data: Add support for out-of-band events. Hack it
28876         into this script instead of passing it down the pipe; should fix
28877         this later.
28878
28879 2005-06-28  Wim Taymans  <wim@fluendo.com>
28880
28881         * docs/gst/gstreamer.types:
28882         * docs/gst/tmpl/gstbasesrc.sgml:
28883         * docs/gst/tmpl/gstpad.sgml:
28884         Docs fixes.
28885
28886 2005-06-28  Wim Taymans  <wim@fluendo.com>
28887
28888         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28889         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
28890         (gst_proxy_pad_do_fixatecaps):
28891         Correctly proxy the check_pull_range function.
28892
28893 2005-06-28  Andy Wingo  <wingo@pobox.com>
28894
28895         * tests/network-clock.scm: Removed need for slib.
28896         
28897 2005-06-28  Wim Taymans  <wim@fluendo.com>
28898
28899         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
28900         (gst_basesink_preroll_queue_flush):
28901         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
28902         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
28903         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28904         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
28905         (gst_proxy_pad_set_property):
28906         * gst/gstpad.c:
28907         * gst/gstpad.h:
28908         * gst/gstqueue.c: (gst_queue_init):
28909         The deprecated pad loop function is removed now.
28910
28911 2005-06-28  Andy Wingo  <wingo@pobox.com>
28912
28913         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
28914         New parameters, simulate network packet loss.
28915
28916         * tests/network-clock-utils.scm: Initialize the RNG.
28917
28918 2005-06-28  Wim Taymans  <wim@fluendo.com>
28919
28920         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
28921         (gst_basesink_event), (gst_basesink_deactivate):
28922         Flushing the preroll queue always needs to unlock the waiters.
28923
28924 2005-06-28  Edward Hervey  <edward@fluendo.com>
28925
28926         * gst/gstpipeline.c: (gst_pipeline_send_event): 
28927         Wheen a seek was successful on a pipeline, set the stream_time to the
28928         seek offset in order to have a synchronized stream_time.
28929
28930 2005-06-28  Wim Taymans  <wim@fluendo.com>
28931
28932         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28933         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
28934         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
28935         (gst_proxy_pad_do_fixatecaps):
28936         Call wrapper function instead of just calling the function
28937         pointers. This takes care of any locking and whatmore.
28938
28939 2005-06-28  Wim Taymans  <wim@fluendo.com>
28940
28941         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
28942         (gst_pad_pull_range):
28943         * gst/gstpad.h:
28944         CONNECTED -> LINKED.
28945
28946 2005-06-28  Andy Wingo  <wingo@pobox.com>
28947
28948         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
28949         source-munging commit!!!
28950
28951         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
28952         (gst_object_sink): Take gpointer arguments, not GstObject --
28953         avoids casts. Like GLib.
28954
28955         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
28956         activate.
28957
28958 2005-06-27  Andy Wingo  <wingo@pobox.com>
28959
28960         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
28961         remaining buffer.
28962
28963         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
28964         returns a sorted copy of the trace list.
28965         (gst_alloc_trace_print_live): New API, only prints traces with
28966         live objects. Sort the list.
28967         (gst_alloc_trace_print_all): Sort the list.
28968         (gst_alloc_trace_print): Align columns.
28969
28970         * gst/elements/gstttypefindelement.c:
28971         * gst/elements/gsttee.c:
28972         * gst/base/gstbasesrc.c:
28973         * gst/base/gstbasesink.c:
28974         * gst/base/gstbasetransform.c:
28975         * gst/gstqueue.c: Adapt for pad activation changes.
28976
28977         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
28978         sched.
28979         (gst_pipeline_dispose): Drop ref on sched.
28980
28981         * gst/gstpad.c (gst_pad_init): Set the default activate func.
28982         (gst_pad_activate_default): Push mode by default.
28983         (pre_activate_switch, post_activate_switch): New stubs, things to
28984         do before and after switching activation modes on pads.
28985         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
28986         the pad's activate function to choose which mode to activate.
28987         Shortcut on deactivation and call the right function directly.
28988         (gst_pad_activate_pull): New API, (de)activates a pad in pull
28989         mode.
28990         (gst_pad_activate_push): New API, same for push mode.
28991         (gst_pad_set_activate_function) 
28992         (gst_pad_set_activatepull_function) 
28993         (gst_pad_set_activatepush_function): Setters for new API.
28994
28995         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
28996         Trace all miniobjects.
28997         (gst_mini_object_make_writable): Unref the arg if we copy, like
28998         gst_caps_make_writable.
28999
29000         * gst/gstmessage.c (_gst_message_initialize): No trace init.
29001
29002         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
29003         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
29004         Adapt for new pad API.
29005
29006         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
29007
29008         * gst/gstelement.h:
29009         * gst/gstelement.c (gst_element_iterate_src_pads) 
29010         (gst_element_iterate_sink_pads): New API functions.
29011         
29012         * gst/gstelement.c (iterator_fold_with_resync): New utility,
29013         should fold into gstiterator.c in some form.
29014         (gst_element_pads_activate): Simplified via use of fold and
29015         delegation of decisions to gstpad->activate.
29016
29017         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
29018         help in debugging.
29019
29020         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
29021         class once in init, like gstmessage. Didn't run into this issue
29022         but it seems correct. Don't initialize a trace, gstminiobject does
29023         that.
29024
29025         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
29026         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
29027         to the bus.
29028         (assert_live_count): New util function, uses alloc traces to check
29029         cleanup.
29030
29031         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
29032         To be modified when unlink drops the internal pad.
29033
29034 2005-06-27  Wim Taymans  <wim@fluendo.com>
29035
29036         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
29037         (gst_bin_change_state):
29038         Cleanup the get_state() function a little, make sure it
29039         iterates the same set of elements.
29040         Added stub iterate_state_order().
29041
29042 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
29043
29044         * docs/gst/gstreamer-docs.sgml:
29045         * docs/gst/gstreamer-sections.txt:
29046         * docs/gst/gstreamer.types:
29047         * docs/gst/tmpl/gstbasesink.sgml:
29048         * docs/gst/tmpl/gstbasesrc.sgml:
29049         * docs/gst/tmpl/gstbasetransform.sgml:
29050         * docs/gst/tmpl/gstelement.sgml:
29051         * docs/gst/tmpl/gstiterator.sgml:
29052         * gst/base/gstbasesrc.c:
29053         * gst/base/gstbasesrc.h:
29054         * gst/base/gstbasetransform.h:
29055         * gst/gstelement.c:
29056         * gst/gstiterator.h:
29057           adding basetransform and iterator docs
29058
29059 2005-06-27  Andy Wingo  <wingo@pobox.com>
29060
29061         * docs/design/part-activation.txt: Notes on how activation should
29062         work -- not quite implemented yet.
29063
29064 2005-06-25  Wim Taymans  <wim@fluendo.com>
29065
29066         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
29067         At least get the chain function correct, needs more
29068         fixing.
29069
29070 2005-06-25  Wim Taymans  <wim@fluendo.com>
29071
29072         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29073         (gst_basesink_handle_object), (gst_basesink_event),
29074         (gst_basesink_do_sync), (gst_basesink_handle_event),
29075         (gst_basesink_change_state):
29076         * gst/gsttask.h:
29077         Right, two problems here: ghostpads don't take locks and
29078         glib _rec_mutex_lock_full() with depth==0 still locks.
29079         Catch illegal locking and g_warn them.
29080
29081 2005-06-25  Wim Taymans  <wim@fluendo.com>
29082
29083         * check/states/sinks.c: (START_TEST), (gst_object_suite):
29084         Have to check for completion now...
29085
29086 2005-06-25  Wim Taymans  <wim@fluendo.com>
29087
29088         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29089         (gst_basesink_handle_object), (gst_basesink_event),
29090         (gst_basesink_do_sync), (gst_basesink_handle_event),
29091         (gst_basesink_change_state):
29092         * gst/gstpad.h:
29093         Unlock STREAM_LOCK whatever the recursion was.
29094
29095 2005-06-25  Wim Taymans  <wim@fluendo.com>
29096
29097         * gst/base/gstbasesink.c: (gst_basesink_set_property),
29098         (gst_basesink_preroll_queue_empty),
29099         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
29100         (gst_basesink_event), (gst_basesink_do_sync),
29101         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
29102         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
29103         (gst_basesink_change_state):
29104         Reworked the base sink, handle event and buffer serialisation
29105         correctly and removed possible deadlock.
29106         Handle EOS correctly.
29107
29108 2005-06-25  Wim Taymans  <wim@fluendo.com>
29109
29110         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
29111         (gst_pipeline_change_state):
29112         * tools/gst-launch.c: (check_intr), (event_loop), (main):
29113         Allow elements to post EOS in the state change function.
29114         Fix up -launch, make it exit the poll loop when the
29115         pipeline actually changed state.
29116         Fix up warning parsing in -launch.
29117
29118 2005-06-25  Wim Taymans  <wim@fluendo.com>
29119
29120         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
29121         (gst_tee_sink_activate):
29122         Core takes STREAM_LOCK for us now.
29123
29124 2005-06-25  Wim Taymans  <wim@fluendo.com>
29125
29126         * gst/gstelement.c: (gst_element_get_state_func),
29127         (gst_element_set_state):
29128         * gst/gstelement.h:
29129         * gst/gstmessage.c: (gst_message_parse_error),
29130         (gst_message_parse_warning):
29131         Keep track of current target state while performing a state
29132         change so that subclasses can do something interesting.
29133         Fix parsing of warning/error messages when GError is NULL.
29134
29135 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
29136
29137         * docs/gst/Makefile.am:
29138         * docs/gst/gstreamer-docs.sgml:
29139         * docs/gst/gstreamer-sections.txt:
29140         * docs/gst/gstreamer.types:
29141         * docs/gst/tmpl/gstbasesink.sgml:
29142         * docs/gst/tmpl/gstbasesrc.sgml:
29143         * docs/gst/tmpl/gstbin.sgml:
29144         * docs/gst/tmpl/gstcompat.sgml:
29145         * docs/gst/tmpl/gstfakesink.sgml:
29146         * docs/gst/tmpl/gstfakesrc.sgml:
29147         * docs/gst/tmpl/gstfilesink.sgml:
29148         * docs/gst/tmpl/gstfilesrc.sgml:
29149         * docs/gst/tmpl/gstindex.sgml:
29150         * docs/manual/appendix-quotes.xml:
29151         * gst/base/gstbasesrc.h:
29152         * gst/elements/gstfakesrc.h:
29153         * gst/gstmessage.h:
29154           start pulling in base classes and elements in our docs
29155
29156 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
29157
29158         * docs/gst/Makefile.am:
29159         * docs/libs/Makefile.am:
29160           fixed make distcheck with gtk-doc 1.3
29161
29162 2005-06-23  Wim Taymans  <wim@fluendo.com>
29163
29164         * gst/gstelement.c: (gst_element_get_state_func),
29165         (gst_element_set_state), (gst_element_change_state):
29166         When the state did not change, also report NO_PREROLL
29167         when it matters.
29168
29169 2005-06-23  Wim Taymans  <wim@fluendo.com>
29170
29171         * gst/gstpad.c: (gst_pad_event_default):
29172         * gst/gstqueue.c: (gst_queue_loop):
29173         No unsafe task pausing please.
29174
29175 2005-06-23  Wim Taymans  <wim@fluendo.com>
29176
29177         * gst/schedulers/threadscheduler.c:
29178         (gst_thread_scheduler_task_start),
29179         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
29180         Ref the task before pushing it on the threadpool. This
29181         makes sure that we have a ref when the threadfunction is
29182         actually called.
29183
29184 2005-06-23  Andy Wingo  <wingo@pobox.com>
29185
29186         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
29187         offset is greater than the file's size.
29188
29189         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
29190         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
29191         * gst/gstobject.c (gst_object_class_init): Make the class lock
29192         recursive. Wim won't let me drop deep_notify. Decodebin works
29193         again, whoopdy doo.
29194
29195         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
29196         internal pad, and hacks accordingly. Doesn't do it on the target
29197         pad because we change its caps. Probably catches all cases of
29198         interest tho.
29199         (gst_ghost_pad_set_property): Connect to notify::caps as
29200         appropritate.
29201
29202         * tests/network-clock.scm (plot-simulation): Pipe data to the
29203         elite python skript.
29204
29205         * tests/network-clock-utils.scm (define-parameter): New macro,
29206         defines a parameter that can be set via the command line.
29207         (set-parameter!, parse-parameter-arguments): Command line args
29208         parser.
29209
29210         * tests/plot-data: Simple matplotlib-based plotter, takes input on
29211         stdin.
29212
29213 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
29214
29215         * gst/elements/gsttypefindelement.c:
29216         (gst_type_find_element_handle_event):
29217           Don't restart typefinding on a discont.
29218         * gst/gstelement.c: (gst_element_set_state):
29219           Debug spelling fix.
29220         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
29221           Allow changing mode of an active pad.
29222           Debug output fixes.
29223         * gst/registries/gstlibxmlregistry.c: (load_feature):
29224           Don't cast a static pad template to a normal pad template.
29225
29226 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
29227
29228         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29229         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29230           remove gst_strtoll completely, since it didn't actually do
29231           anything more than what g_ascii_strtoull already does.
29232           check for range errors when deserializing
29233           do a cast for the unsigned cases; but further fixing needs
29234           a decision on what the interpretation of "(int)" and
29235           deserialization should be for values that fall outside the
29236           type's boundaries (ie, refuse, or interpret as casting)
29237
29238 2005-06-23  Wim Taymans  <wim@fluendo.com>
29239
29240         * check/Makefile.am:
29241         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
29242         * docs/design/part-live-source.txt:
29243         * docs/design/part-states.txt:
29244         * gst/base/gstbasesrc.c: (gst_basesrc_init),
29245         (gst_basesrc_set_live), (gst_basesrc_is_live),
29246         (gst_basesrc_get_range), (gst_basesrc_activate),
29247         (gst_basesrc_change_state):
29248         * gst/base/gstbasesrc.h:
29249         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29250         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29251         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
29252         * gst/gstelement.c: (gst_element_get_state_func),
29253         (gst_element_set_state):
29254         * gst/gstelement.h:
29255         * gst/gsttypes.h:
29256         * tools/gst-launch.c: (event_loop), (main):
29257         Added support for live sources and other elements that
29258         cannot do preroll.
29259         Updated design docs, added live-source design doc.
29260         Implemented live source functionality in basesrc
29261         Fix error condition in _bin_get_state()
29262         Implement live source handling in -launch.
29263         Added check for live sources.
29264         Fixed case in GstBin where elements were changed state
29265         multiple times.
29266
29267
29268 2005-06-23  Andy Wingo  <wingo@pobox.com>
29269
29270         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
29271         borken refcounting.
29272
29273         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
29274         gst_caps_replace takes care of this for us.
29275
29276         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
29277         gst_pad_set_caps on the target, not just its setcaps() function.
29278
29279         * tests/network-clock.scm: 
29280         * tests/network-clock-utils.scm: A network clock simulator.
29281         Something of an algorithmic testbed before doing something in C.
29282
29283 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29284
29285         * check/Makefile.am:
29286         * check/gst/capslist.h:
29287           copy over from 0.8, and add two with bitmasks specified with
29288           (int) 0xFF...
29289         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29290           add test to parse everything from capslist.h
29291         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
29292         (main):
29293           add test for structure deserialization
29294         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29295           add tests for deserialization of strings to int types
29296         * gst/gststructure.c: (gst_structure_nth_field_name):
29297         * gst/gststructure.h:
29298           add a way to get the name of a field referenced by index
29299         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29300           instead of checking if the resulting long long lies between
29301           min and max, we check if the long long would fit into
29302           a number of bytes for the final type.
29303           This fixes cases where a string represents 2^32 - 1, which
29304           when cast to int would be the (valid) -1, but is bigger than
29305           G_MAXINT
29306
29307 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29308
29309         * gst/parse/grammar.y:
29310           add a log line for type deserialization
29311
29312 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29313
29314         * check/gst/gstvalue.c: (START_TEST):
29315         * gst/gstvalue.c: (gst_value_deserialize):
29316           return long long, not int, so gint64 deserialization actually
29317           works.  Is there any flag that makes the compiler check this ?
29318           Fixes #308559
29319
29320 2005-06-22  Wim Taymans  <wim@fluendo.com>
29321
29322         * gst/gstbuffer.h:
29323         Added convenience macros for setting buffers in GValue.
29324
29325 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29326
29327         * check/gst/.cvsignore:
29328         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29329           add a test deserializing int64, and comment part out because
29330           it fails, yay !
29331
29332 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29333
29334         * check/Makefile.am:
29335         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
29336         * testsuite/Makefile.am:
29337         * testsuite/caps/Makefile.am:
29338         * testsuite/caps/value_serialize.c:
29339         * testsuite/test_gst_init.c:
29340           move a value_serialize test over
29341
29342 2005-06-20  Wim Taymans  <wim@fluendo.com>
29343
29344         * gst/gstpad.c:
29345         Small doc updates.
29346         
29347         * gst/gstvalue.c: (gst_value_compare_buffer),
29348         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
29349         (gst_value_compare_flags), (gst_value_serialize_flags),
29350         (gst_value_deserialize_flags), (_gst_value_initialize):
29351         Fix serialisation of buffers, they are not boxed types anymore
29352
29353 2005-06-20  Wim Taymans  <wim@fluendo.com>
29354
29355         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29356         Testcase to show error in buffer-on-caps serialisation.
29357
29358 2005-06-20  Andy Wingo  <wingo@pobox.com>
29359
29360         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
29361         will be adding to later.
29362
29363         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
29364         if its socks fill with rocks.
29365         (gst_system_clock_obtain): Set the name on object construction.
29366         Avoid double-checked locking.
29367
29368 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
29369
29370         * gst/gsturi.c: (gst_element_make_from_uri):
29371           Fix potential endless loop.
29372
29373 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29374
29375         * check/Makefile.am:
29376           add gsttag
29377         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
29378         (main):
29379           move over from testsuite dir and clean up
29380         * configure.ac:
29381         * gst/gsttag.c:
29382         * testsuite/Makefile.am:
29383         * testsuite/tags/.cvsignore:
29384         * testsuite/tags/Makefile.am:
29385         * testsuite/tags/merge.c:
29386           remove testsuite/tags
29387
29388 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29389
29390         * docs/gst/gstreamer-sections.txt:
29391         * docs/gst/tmpl/gstenumtypes.sgml:
29392         * win32/gstenumtypes.c:
29393           clean up documentation build a little
29394
29395 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29396
29397         * check/gstcheck.h:
29398           add macros for checking refcounts on objects and caps
29399         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
29400           add some more unit tests
29401         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
29402         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
29403           fix leaked refcounts (I hope :)) so unittest works
29404         * gst/gstpad.h:
29405           whitespace removal
29406
29407 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29408
29409         * configure.ac: back to HEAD
29410
29411 === release 0.9.1 ===
29412
29413 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
29414
29415         * NEWS:
29416         * RELEASE:
29417           updated
29418
29419 2005-06-17  Andy Wingo  <wingo@pobox.com>
29420
29421         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
29422         assert; it's always possible that the pad gets deactivated in
29423         between the checks in gstpad.c and the implementation. Rely on
29424         finish_preroll() to return a FLUSHING or similar instead of on the
29425         assert.
29426         
29427         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
29428         clock and post an EOS message if we come out of finish_preroll in
29429         the playing state.
29430
29431 2005-06-16  David Schleef  <ds@schleef.org>
29432
29433         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
29434         (gst_capsfilter_set_property): Allow NULL as possible value
29435         for filter_caps property, indicating GST_CAPS_ANY.
29436
29437 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29438
29439         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
29440           fix debug output
29441         * gst/schedulers/Makefile.am:
29442           use libgst prefix
29443         * gstreamer.spec.in:
29444           fix spec for it
29445
29446 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29447
29448         * gstreamer.spec.in:
29449           clean up
29450
29451 2005-06-08  Andy Wingo  <wingo@pobox.com>
29452
29453         * gst/gstutils.c: RPAD fixes all around.
29454         (gst_element_link_pads): Refcounting fixes.
29455
29456         * tools/gst-inspect.c:
29457         * tools/gst-xmlinspect.c:
29458         * parse/grammar.y:
29459         * gst/base/gsttypefindhelper.c:
29460         * gst/base/gstbasesink.c:
29461         * gst/gstqueue.c: RPAD fixes.
29462
29463         * gst/gstghostpad.h:
29464         * gst/gstghostpad.c: New ghost pad implementation as full proxy
29465         pads. The tricky thing is they provide both source and sink
29466         interfaces, since they proxy the internal pad for the external
29467         pad, and vice versa. Implement with lower-level ProxyPad objects,
29468         with the interior proxy pad as a child of the exterior ghost pad.
29469         Should write a doc on this.
29470         
29471         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
29472         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
29473         gst_object API.
29474         
29475         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
29476         pads are real pads. No ghost pads in this file. Not documenting
29477         the myriad s/RPAD/PAD/ and REALIZE fixes.
29478         (gst_pad_class_init): Add properties for "direction" and
29479         "template". Both are construct-only, so they can't change during
29480         the life of the pad. Fixes properly deriving from GstPad.
29481         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
29482         derived objects, just set properties when creating the objects via
29483         g_object_new.
29484         (gst_pad_get_parent): Implement as a function, return NULL if the
29485         parent is not an element.
29486         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
29487         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
29488         
29489         * gst/gstobject.c (gst_object_class_init): Make name a construct
29490         property. Don't set it in the object init.
29491
29492         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
29493         with UNKNOWN direction.
29494         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
29495         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
29496         (gst_element_remove_pad): Remove ghost-pad special cases.
29497         (gst_element_pads_activate): Remove rpad cruft.
29498
29499         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
29500         catch the pad's-parent-not-an-element case.
29501
29502         * gst/gst.h: Include gstghostpad.h.
29503
29504         * gst/gst.c (init_post): No more real, ghost pads.
29505
29506         * gst/Makefile.am: Add gstghostpad.[ch].
29507
29508         * check/Makefile.am:
29509         * check/gst/gstbin.c:
29510         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
29511         into a bin creates ghost pads, and that the refcounts are right.
29512         Partly moved from gstbin.c.
29513
29514 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29515
29516         * check/gst-libs/.cvsignore:
29517         * check/gst/.cvsignore:
29518         * check/pipelines/.cvsignore:
29519           ignore more
29520         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29521         (START_TEST), (cleanup_suite), (main):
29522           add some tests related to cleanup after running pipelines
29523
29524 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29525
29526         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29527           add a testsuite for GstBuffer
29528
29529 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29530
29531         * gst/gstminiobject.h:
29532           add defines for accessing the refcount
29533
29534 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
29535
29536         * Makefile.am: added support for html unit test coverage reports
29537
29538 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
29539
29540         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
29541           Free existing caps if the capsfilter changes. Add a FIXME about
29542           setting those caps on the pads.
29543
29544         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
29545           Before adding a ghost pad to a parent bin, check that there isn't
29546           already one for the element on the bin. Prevents infinite recursion
29547           when using decodebin in parse pipelines. Andy says he'll rewrite the
29548           way this works anyway, so ignore the hack.
29549
29550 2005-06-02  Andy Wingo  <wingo@pobox.com>
29551
29552         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
29553         file size, pass it on to the type find helper.
29554
29555         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
29556         segment_start and segment_end properly according to the seek
29557         method. Segment_end is still a bit flaky because offset can be
29558         negative for CUR and END cases, but it takes -1 as an "unset"
29559         value.
29560
29561 2005-06-02  Wim Taymans  <wim@fluendo.com>
29562
29563         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
29564         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
29565         (gst_basesink_activate):
29566         * gst/base/gstbasesink.h:
29567         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29568         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29569         (gst_pad_query), (gst_pad_start_task):
29570         * gst/gstpad.h:
29571         * gst/gstqueue.c: (gst_queue_bufferalloc),
29572         (gst_queue_handle_sink_event), (gst_queue_chain):
29573         Bufferalloc: return GstFlowReturn to more accuratly report
29574         why allocation failed.
29575
29576 2005-06-02  Wim Taymans  <wim@fluendo.com>
29577
29578         * gst/gstpipeline.c: (gst_pipeline_send_event):
29579         Take snapshot of state without blocking.
29580
29581 2005-06-02  Wim Taymans  <wim@fluendo.com>
29582
29583         * docs/design/part-TODO.txt:
29584         * docs/design/part-caps.txt:
29585         * docs/design/part-clocks.txt:
29586         * docs/design/part-negotiation.txt:
29587         * docs/design/part-preroll.txt:
29588         Small doc updates 
29589
29590 2005-05-30  Wim Taymans  <wim@fluendo.com>
29591
29592         * gst/elements/gstidentity.c: (gst_identity_event),
29593         (gst_identity_transform), (gst_identity_get_property):
29594         Protect last_message property as it is accessed from
29595         multiple threads.
29596
29597 2005-05-30  Wim Taymans  <wim@fluendo.com>
29598
29599         * gst/gstelement.c: (gst_element_init),
29600         (gst_element_pads_activate), (gst_element_change_state):
29601         Slicker pad activation code.
29602
29603 2005-05-30  Wim Taymans  <wim@fluendo.com>
29604
29605         * gst/Makefile.am:
29606         * gst/gstelement.h:
29607         * gst/gstelementfactory.h:
29608         * gst/gsttypes.h:
29609         Move elementfactory methods to separate .h file.
29610
29611 2005-05-30  Wim Taymans  <wim@fluendo.com>
29612
29613         * docs/design/part-overview.txt:
29614         * gst/gstsystemclock.h:
29615         Small typo fixes, doc updates.
29616
29617 2005-05-30  Wim Taymans  <wim@fluendo.com>
29618
29619         * gst/gst.c: (gst_init_get_popt_table), (init_post),
29620         (init_popt_callback):
29621         Remove cpu-opt flag.
29622
29623 2005-05-30  Wim Taymans  <wim@fluendo.com>
29624
29625         * gst/gstbuffer.c: (gst_subbuffer_finalize),
29626         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
29627         * gst/gstbuffer.h:
29628         Avoid typechecking in places where not needed.
29629         Added accessor for malloc_data.
29630
29631 2005-05-30  Wim Taymans  <wim@fluendo.com>
29632
29633         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
29634         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
29635         (gst_pad_configure_sink), (gst_pad_configure_src),
29636         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
29637         (gst_pad_start_task):
29638         Propagate errors from _set_caps() in configure_src/sink
29639         functions instead of returning TRUE.
29640         FLUSH events can travel up and downstream
29641
29642
29643 2005-05-30  Wim Taymans  <wim@fluendo.com>
29644
29645         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29646         (gst_basesink_activate):
29647         Handle EOS in preroll.
29648
29649 2005-05-30  Wim Taymans  <wim@fluendo.com>
29650
29651         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29652         (gst_queue_loop), (gst_queue_handle_src_event):
29653         Remove old pieces of code
29654         Flushing the queue in an upstream event is a very bad idea.
29655
29656 2005-05-26  Andy Wingo  <wingo@pobox.com>
29657
29658         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
29659         gst_value_set_mini_object so as to add a ref on the object (which
29660         will be removed when the value is unset).
29661
29662         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
29663         arg type in ::handoff.
29664
29665         * gst/gstelement.c (gst_element_change_state): Also deactivate
29666         pads in READY->NULL, just in case the element didn't make it to
29667         PAUSED. Wingo tested, Wim approved.
29668
29669 2005-05-26  Wim Taymans  <wim@fluendo.com>
29670
29671         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29672         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29673         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
29674         A flushing pad cannot be used to alloc_buffer from.
29675
29676 2005-05-26  Wim Taymans  <wim@fluendo.com>
29677
29678         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
29679         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
29680         (gst_bus_source_dispatch), (gst_bus_source_finalize),
29681         (gst_bus_create_watch), (gst_bus_add_watch_full):
29682         * gst/gstbus.h:
29683         Implement a real GSource and use g_main_context_wakeup() to
29684         signal new messages instead of the socketpair.
29685
29686 2005-05-25  Wim Taymans  <wim@fluendo.com>
29687
29688         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
29689         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
29690         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29691         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29692         (gst_pad_send_event), (gst_pad_start_task):
29693         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
29694         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
29695         (gst_queue_sink_activate), (gst_queue_src_activate),
29696         (gst_queue_change_state):
29697         * gst/gstqueue.h:
29698         Fix state changes for non sinks. We now change sinks, then elements
29699         with unconnected srcpads, then the rest.
29700         More efficient queue unlocking in flush and state changes.
29701         Set the pad activate mode even if it does not have an activate
29702         function.
29703
29704 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29705
29706         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
29707           Don't go in pull mode for non-seekable sources.
29708         * gst/elements/gsttypefindelement.h:
29709         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29710         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
29711         (free_entry), (stop_typefinding),
29712         (gst_type_find_element_handle_event), (find_peek),
29713         (gst_type_find_element_chain), (do_pull_typefind),
29714         (gst_type_find_element_change_state):
29715           Allow typefinding (w/o seeking) in push-mode, simplified version
29716           of what was in 0.8.
29717         * gst/gstutils.c: (gst_buffer_join):
29718         * gst/gstutils.h:
29719           gst_buffer_join() from 0.8.
29720
29721 2005-05-25  Wim Taymans  <wim@fluendo.com>
29722
29723         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29724         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29725         (gst_pad_send_event), (gst_pad_start_task):
29726         Disable attempt at mode switching until it is figured out.
29727
29728 2005-05-25  Wim Taymans  <wim@fluendo.com>
29729
29730         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
29731         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29732         (gst_basesink_finish_preroll), (gst_basesink_chain),
29733         (gst_basesink_loop), (gst_basesink_activate),
29734         (gst_basesink_change_state):
29735         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
29736         (gst_basesrc_get_range), (gst_basesrc_loop),
29737         (gst_basesrc_activate):
29738         * gst/elements/gsttee.c: (gst_tee_sink_activate):
29739         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
29740         (gst_real_pad_init), (gst_real_pad_set_property),
29741         (gst_real_pad_get_property), (gst_pad_set_active),
29742         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
29743         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
29744         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
29745         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
29746         (gst_pad_event_default_dispatch), (gst_pad_event_default),
29747         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
29748         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
29749         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
29750         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
29751         (gst_pad_stop_task):
29752         * gst/gstpad.h:
29753         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29754         (gst_queue_loop), (gst_queue_src_activate):
29755         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
29756         (gst_task_get_state):
29757         * gst/gsttask.h:
29758         * gst/schedulers/threadscheduler.c:
29759         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
29760         Implement gst_pad_pause/start/stop_task(), take STREAM lock
29761         in task function.
29762         Remove ACTIVE pad flag, use FLUSHING everywhere
29763         Added _pad_chain(), _pad_get_range() to call chain/getrange 
29764         functions.
29765         Add locks around IS_FLUSHING when reading.
29766         Take STREAM lock in chain(), get_range() functions so plugins
29767         don't need to take it anymore.
29768         
29769
29770
29771 2005-05-25  Wim Taymans  <wim@fluendo.com>
29772
29773         * tools/gst-launch.c: (event_loop):
29774         Unref message after using its contents instead of
29775         before.
29776
29777 2005-05-24  Wim Taymans  <wim@fluendo.com>
29778
29779         * docs/design/draft-ghostpads.txt:
29780         * docs/design/draft-push-pull.txt:
29781         * docs/design/draft-query.txt:
29782         * docs/design/part-overview.txt:
29783         Docs updates, added general overview doc.
29784
29785 2005-05-21  David Schleef  <ds@schleef.org>
29786
29787         * docs/gst/tmpl/old/GstBin.sgml:
29788         * docs/gst/tmpl/old/GstBuffer.sgml:
29789         * docs/gst/tmpl/old/GstCaps.sgml:
29790         * docs/gst/tmpl/old/GstClock.sgml:
29791         * docs/gst/tmpl/old/GstCompat.sgml:
29792         * docs/gst/tmpl/old/GstData.sgml:
29793         * docs/gst/tmpl/old/GstElement.sgml:
29794         * docs/gst/tmpl/old/GstEvent.sgml:
29795         * docs/gst/tmpl/old/GstIndex.sgml:
29796         * docs/gst/tmpl/old/GstStructure.sgml:
29797         * docs/gst/tmpl/old/GstTag.sgml:
29798         * docs/gst/tmpl/old/cothreads.sgml:
29799         * docs/gst/tmpl/old/cothreads_compat.sgml:
29800         * docs/gst/tmpl/old/gettext.sgml:
29801         * docs/gst/tmpl/old/gobject2gtk.sgml:
29802         * docs/gst/tmpl/old/grammar.tab.sgml:
29803         * docs/gst/tmpl/old/gst-i18n-app.sgml:
29804         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
29805         * docs/gst/tmpl/old/gst_private.sgml:
29806         * docs/gst/tmpl/old/gstaggregator.sgml:
29807         * docs/gst/tmpl/old/gstarch.sgml:
29808         * docs/gst/tmpl/old/gstatomic_impl.sgml:
29809         * docs/gst/tmpl/old/gstbufferstore.sgml:
29810         * docs/gst/tmpl/old/gstdata_private.sgml:
29811         * docs/gst/tmpl/old/gstdisksink.sgml:
29812         * docs/gst/tmpl/old/gstdisksrc.sgml:
29813         * docs/gst/tmpl/old/gstelementfactory.sgml:
29814         * docs/gst/tmpl/old/gstextratypes.sgml:
29815         * docs/gst/tmpl/old/gstfakesink.sgml:
29816         * docs/gst/tmpl/old/gstfakesrc.sgml:
29817         * docs/gst/tmpl/old/gstfdsink.sgml:
29818         * docs/gst/tmpl/old/gstfdsrc.sgml:
29819         * docs/gst/tmpl/old/gstfilesink.sgml:
29820         * docs/gst/tmpl/old/gstfilesrc.sgml:
29821         * docs/gst/tmpl/old/gsthttpsrc.sgml:
29822         * docs/gst/tmpl/old/gstidentity.sgml:
29823         * docs/gst/tmpl/old/gstindexfactory.sgml:
29824         * docs/gst/tmpl/old/gstmarshal.sgml:
29825         * docs/gst/tmpl/old/gstmd5sink.sgml:
29826         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
29827         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
29828         * docs/gst/tmpl/old/gstpadtemplate.sgml:
29829         * docs/gst/tmpl/old/gstpipefilter.sgml:
29830         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
29831         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
29832         * docs/gst/tmpl/old/gstshaper.sgml:
29833         * docs/gst/tmpl/old/gstspider.sgml:
29834         * docs/gst/tmpl/old/gstspideridentity.sgml:
29835         * docs/gst/tmpl/old/gststatistics.sgml:
29836         * docs/gst/tmpl/old/gsttee.sgml:
29837         * docs/gst/tmpl/old/gsttimecache.sgml:
29838         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
29839         * docs/gst/tmpl/old/gstxmlregistry.sgml:
29840         * docs/gst/tmpl/old/gthread-cothreads.sgml:
29841         * docs/gst/tmpl/old/types.sgml:
29842           I didn't intend to add these or check them in.
29843
29844 2005-05-19  David Schleef  <ds@schleef.org>
29845
29846         * configure.ac: Use -no-common everywhere.  In a sane world, it
29847           would be the default in libtool, because without it, you can't
29848           build DLLs on Windows.
29849         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
29850         * docs/gst/gstreamer-sections.txt:
29851         * docs/gst/tmpl/gstcpu.sgml:
29852         * docs/gst/tmpl/gstdata.sgml:
29853         * docs/gst/tmpl/gstthread.sgml:
29854
29855 2005-05-19  David Schleef  <ds@schleef.org>
29856
29857         * gst/gstminiobject.c: (gst_value_set_mini_object),
29858         (gst_value_take_mini_object), (gst_value_get_mini_object):
29859         * gst/gstminiobject.h: Add GValue set/get functions.
29860
29861 2005-05-19  Wim Taymans  <wim@fluendo.com>
29862
29863         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
29864         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
29865         (gst_subbuffer_init), (gst_buffer_is_span_fast):
29866         * gst/gstbuffer.h:
29867         * gst/gstbus.c: (gst_bus_post):
29868         * gst/gstelement.c: (gst_element_get_random_pad):
29869         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
29870         Make subbufer unref the parent in finalize.
29871         some more debugging info.
29872
29873
29874 2005-05-19  Wim Taymans  <wim@fluendo.com>
29875
29876         * gst/base/gstbasesink.c: (gst_basesink_class_init),
29877         (gst_basesink_init), (gst_basesink_finalize),
29878         (gst_basesink_activate), (gst_basesink_change_state):
29879         Don't free preroll queue too early.
29880
29881 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29882
29883         * gst/Makefile.am:
29884         * gst/ROADMAP:
29885           Hi, I'm outdated. Please shoot me.
29886
29887 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29888
29889         * gst/gstpipeline.c: (gst_pipeline_send_event):
29890           Do not access variables after they have been deleted.
29891
29892 2005-05-19  Wim Taymans  <wim@fluendo.com>
29893
29894         * tools/gst-inspect.c: (print_plugin_features):
29895         A plugin feature does unfortunatly not use the
29896         object name yet...
29897
29898 2005-05-18  Wim Taymans  <wim@fluendo.com>
29899
29900         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
29901         Port _span() functions to new subbuffers.
29902
29903 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29904
29905         * gst/gstbin.c: (gst_bin_add_func):
29906           Fix clock settery in bins when adding kids after the clock has
29907           been selected.
29908
29909 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29910
29911         * gst/elements/gstidentity.c: (gst_identity_class_init):
29912           Workaround until signals support GstMiniObject.
29913
29914 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
29915
29916         * gst/gstbuffer.c:
29917         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
29918
29919 2005-05-18  Wim Taymans  <wim@fluendo.com>
29920
29921         * gst/base/Makefile.am:
29922         * gst/base/gstadapter.c: (gst_adapter_base_init),
29923         (gst_adapter_class_init), (gst_adapter_init),
29924         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
29925         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
29926         (gst_adapter_flush), (gst_adapter_available),
29927         (gst_adapter_available_fast):
29928         * gst/base/gstadapter.h:
29929         Ported and added adapter to the base classes.
29930
29931 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
29932
29933         * gst/gst.c:
29934         * gst/gstmessage.c:
29935           Make sure the class is reffed/unreffed once before threads can be
29936           used.  Fixes #304551.
29937
29938 2005-05-17  Wim Taymans  <wim@fluendo.com>
29939
29940         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
29941         (gst_basesink_chain_unlocked), (gst_basesink_activate):
29942         * gst/gstminiobject.c: (gst_mini_object_get_type),
29943         (gst_mini_object_free):
29944         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
29945         (gst_pad_push), (gst_pad_push_event):
29946         * gst/gstqueue.c: (gst_queue_change_state):
29947         Don't queue buffers in basesink when we are flushing.
29948         Unref buffer when flushing in basesink.
29949         Flush queue when going to READY
29950         Unref buffer when _push() returns an error.
29951         Don't free MiniObject instance when refcount is incremented
29952         in _finalize() so that we can recover objects.
29953
29954 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
29955
29956         * docs/manual/advanced-schedulers.xml:
29957         * docs/manual/appendix-checklist.xml:
29958         * docs/pwg/advanced-clock.xml:
29959         * docs/pwg/advanced-interfaces.xml:
29960         * docs/pwg/advanced-request.xml:
29961         * docs/pwg/advanced-types.xml:
29962         * docs/pwg/intro-preface.xml:
29963         * examples/plugins/example.c: (gst_example_get_type),
29964         (gst_example_class_init), (gst_example_chain),
29965         (gst_example_set_property), (gst_example_get_property),
29966         (gst_example_change_state), (plugin_init):
29967         * examples/plugins/example.h:
29968           small doc fixes
29969
29970 2005-05-17  Wim Taymans  <wim@fluendo.com>
29971
29972         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
29973         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
29974         * gst/gstqueue.c: (gst_queue_change_state):
29975         Clear queue when going to READY.
29976         Remove IN_SETCAPS flag too.
29977
29978 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
29979
29980         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
29981           Remove implicit cast from gboolean to GstElementStateReturn;
29982           make sure we still return failure in paused => ready case if
29983           the parent class fails to change state and our own stop 
29984           vfunc succeeds.
29985
29986 2005-05-17  Wim Taymans  <wim@fluendo.com>
29987
29988         * tools/gst-launch.c: (event_loop):
29989         Message was unreffed too soon.
29990
29991 2005-05-16  Andy Wingo  <wingo@pobox.com>
29992
29993         * gst/gstbin.c (sink_iterator_filter): Err... um...
29994
29995         * check/gst/gstbin.c (test_ghost_pads): New test for the
29996         ghosting-if-elements-not-in-same-bin behavior.
29997
29998 2005-05-16  David Schleef  <ds@schleef.org>
29999
30000         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
30001         accessing refcount directly.
30002
30003 2005-05-15  David Schleef  <ds@schleef.org>
30004
30005         * check/Makefile.am: remove GstData checks
30006         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
30007         * gst/Makefile.am: add miniobject, remove data
30008         * gst/gst.h: add miniobject, remove data
30009         * gst/gstdata.c: remove
30010         * gst/gstdata.h: remove
30011         * gst/gstdata_private.h: remove
30012         * gst/gsttypes.h: remove GstEvent and GstMessage
30013         * gst/gstelement.c: (gst_element_post_message): fix for API changes
30014         * gst/gstmarshal.list: change BOXED -> OBJECT
30015
30016         Implement GstMiniObject.
30017         * gst/gstminiobject.c:
30018         * gst/gstminiobject.h:
30019
30020         Modify to be subclasses of GstMiniObject.
30021         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
30022         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
30023         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
30024         (gst_subbuffer_get_type), (gst_subbuffer_init),
30025         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
30026         (gst_buffer_span):
30027         * gst/gstbuffer.h:
30028         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
30029         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
30030         (_gst_event_copy), (gst_event_new):
30031         * gst/gstevent.h:
30032         * gst/gstmessage.c: (_gst_message_initialize),
30033         (gst_message_get_type), (gst_message_class_init),
30034         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
30035         (gst_message_new), (gst_message_new_error),
30036         (gst_message_new_warning), (gst_message_new_tag),
30037         (gst_message_new_state_changed), (gst_message_new_application):
30038         * gst/gstmessage.h:
30039         * gst/gstprobe.c: (gst_probe_perform),
30040         (gst_probe_dispatcher_dispatch):
30041         * gst/gstprobe.h:
30042         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
30043         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
30044         (_gst_query_copy), (gst_query_new):
30045
30046         Update elements for GstData -> GstMiniObject changes
30047         * gst/gstquery.h:
30048         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
30049         (gst_queue_chain), (gst_queue_loop):
30050         * gst/elements/gstbufferstore.c:
30051         (gst_buffer_store_add_buffer_func),
30052         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
30053         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30054         (gst_fakesink_render):
30055         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
30056         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
30057         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
30058         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
30059         (gst_filesrc_create_read):
30060         * gst/elements/gstidentity.c: (gst_identity_class_init):
30061         * gst/elements/gsttypefindelement.c:
30062         (gst_type_find_element_src_event), (free_entry_buffers),
30063         (gst_type_find_element_handle_event):
30064         * libs/gst/dataprotocol/dataprotocol.c:
30065         (gst_dp_header_from_buffer):
30066         * libs/gst/dataprotocol/dataprotocol.h:
30067         * libs/gst/dataprotocol/dp-private.h:
30068
30069 2005-05-15  David Schleef  <ds@schleef.org>
30070
30071         * gst/elements/gstelements.c: Don't include headers that were
30072         just removed.
30073
30074 2005-05-15  David Schleef  <ds@schleef.org>
30075
30076         * gst/elements/Makefile.am: Remove some elements that don't
30077         need to be in the core (or even exist at all).
30078         * gst/elements/gstaggregator.c:
30079         * gst/elements/gstaggregator.h:
30080         * gst/elements/gstmd5sink.c:
30081         * gst/elements/gstmd5sink.h:
30082         * gst/elements/gstmultifilesrc.c:
30083         * gst/elements/gstmultifilesrc.h:
30084         * gst/elements/gstpipefilter.c:
30085         * gst/elements/gstpipefilter.h:
30086         * gst/elements/gstshaper.c:
30087         * gst/elements/gstshaper.h:
30088         * gst/elements/gststatistics.c:
30089         * gst/elements/gststatistics.h:
30090         * po/POTFILES.in: Remove above files.
30091
30092 2005-05-14  Andy Wingo  <wingo@pobox.com>
30093
30094         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
30095         so as to get the refs right.
30096         (sink_iterator_filter): New function, wraps bin_element_is_sink,
30097         unreffing objects that don't pass the filter.
30098
30099         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
30100         gst_element_set_bus.
30101         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
30102         normal cases, this will destroy the bus.
30103
30104         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
30105         object.
30106
30107         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
30108         has no sinks.
30109
30110 2005-05-13  Andy Wingo  <wingo@pobox.com>
30111
30112         * gst/gstutils.c (gst_element_link_pads): Instead of calling
30113         gst_pad_link, call pad_link_maybe_ghosting,
30114         (pad_link_maybe_ghosting): Links pads, making sure that the
30115         elements being linked are in the same bin.
30116         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
30117         Helpers for pad_link_maybe_ghosting.
30118
30119 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30120
30121         * configure.ac:
30122           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
30123
30124 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30125
30126         * docs/design/part-element-source.txt:
30127           Mention GstPushSrc
30128
30129 2005-05-12  Wim Taymans  <wim@fluendo.com>
30130
30131         * gst/base/gstbasesink.c: (gst_basesink_init),
30132         (gst_basesink_activate):
30133         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
30134         (gst_basesrc_is_seekable):
30135         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
30136         (bin_element_is_sink), (gst_bin_change_state):
30137         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30138         * gst/gstelement.h:
30139         Identify sinks by their flag to avoid overly complicated
30140         checks (fow now).
30141         Do state changes even for elements not reachable from the
30142         sinks.
30143         BaseSink is a sink now :)
30144         Some more debugging info in the basesrc.
30145
30146
30147 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30148
30149         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
30150           Implement _query on a bin, similar to _send_event.
30151
30152 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
30153
30154         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
30155           Discont event offset format should be GST_FORMAT_BYTES,
30156           not GST_FORMAT_TIME.
30157
30158 2005-05-12  Wim Taymans  <wim@fluendo.com>
30159
30160         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
30161         Same fix as Ronald's but without the signal. 
30162
30163 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30164
30165         * gst/gstutils.c: (gst_element_query_position):
30166           No, an element is not a pad.
30167
30168 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30169
30170         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
30171         (gst_bin_get_state):
30172           If a child is removed from a bin while we remove the child from
30173           the bin and while we're retrieving its state, signal this to the
30174           get_state function so we abort the wait (instead of waiting for
30175           a timeout) and can immediately re-iterate over all other elements.
30176
30177 2005-05-12  Wim Taymans  <wim@fluendo.com>
30178
30179         * gst/base/Makefile.am:
30180         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
30181         (gst_basesrc_start):
30182         * gst/base/gstbasesrc.h:
30183         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
30184         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
30185         (gst_pushsrc_init), (gst_pushsrc_create):
30186         * gst/base/gstpushsrc.h:
30187         Added is_seekable to BaseSrc
30188         Added simple PushSrc.
30189
30190 2005-05-11  Wim Taymans  <wim@fluendo.com>
30191
30192         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30193         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30194         (gst_element_link_pads), (gst_element_query_position),
30195         (gst_element_query_convert), (intersect_caps_func),
30196         (gst_pad_query_position), (gst_pad_query_convert):
30197         Fix refcounting in utils function.
30198         No point in trying to activate a pad when it's added, it could
30199         be added from the state change function and then we deadlock, the
30200         element has to decide what to do.
30201
30202 2005-05-10  Andy Wingo  <wingo@pobox.com>
30203
30204         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
30205         *all* the arguments.
30206
30207         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
30208         stream lock if it's a FLUSH_DONE; normal flushes don't get the
30209         lock (according to the docs -- if this is wrong change the docs).
30210
30211         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
30212         flush messages in the NULL state.
30213
30214         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
30215         message immediately and return.
30216         (gst_bus_set_flushing): New function. If a bus is flushing, it
30217         flushes out any queued messages and immediately unrefs new
30218         messages. This is so when an element goes to NULL, all of the
30219         unhandled messages coming from it can be freed, and their
30220         references to the element dropped. In other words: message source
30221         ref considered harmful :P
30222
30223         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
30224         we're finished with it.
30225
30226         * gst/gstmessage.c (gst_message_new_state_changed): 
30227
30228 2005-05-10  Wim Taymans  <wim@fluendo.com>
30229
30230         * gst/gstvalue.c: (gst_value_compare_flags),
30231         (gst_value_serialize_flags), (gst_value_deserialize_flags),
30232         (_gst_value_initialize):
30233         Added flags serialize/deserialize/compare code.
30234
30235 2005-05-09  Andy Wingo  <wingo@pobox.com>
30236
30237         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
30238         Intersect the peer's caps with our caps.
30239
30240 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30241
30242         * gst/base/gsttypefindhelper.c: (helper_find_peek):
30243         * gst/elements/gsttypefindelement.c: (find_peek):
30244           Handle negative offsets better. Fixes decodebin.
30245
30246 2005-05-09  Wim Taymans  <wim@fluendo.com>
30247
30248         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
30249         (gst_base_transform_event):
30250         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
30251         Implement accept_caps.
30252         Fix silly lock/unlock mismatch in base class.
30253
30254 2005-05-09  Wim Taymans  <wim@fluendo.com>
30255
30256         * docs/design/draft-push-pull.txt:
30257         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
30258         * gst/elements/gstfilesink.c: (gst_filesink_init),
30259         (gst_filesink_query):
30260         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30261         (gst_type_find_handle_src_query), (find_element_get_length):
30262         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
30263         * gst/gstelement.h:
30264         * gst/gstmessage.c:
30265         * gst/gstmessage.h:
30266         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
30267         (gst_real_pad_get_caps_unlocked),
30268         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
30269         (gst_pad_event_default_dispatch), (gst_pad_event_default),
30270         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
30271         (gst_real_pad_dispose), (gst_real_pad_finalize),
30272         (gst_pad_load_and_link), (gst_pad_save_thyself),
30273         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
30274         (gst_pad_check_pull_range), (gst_pad_pull_range),
30275         (gst_pad_template_get_type), (gst_pad_template_class_init),
30276         (gst_pad_template_init), (gst_pad_template_dispose),
30277         (name_is_valid), (gst_static_pad_template_get),
30278         (gst_pad_template_new), (gst_static_pad_template_get_caps),
30279         (gst_pad_template_get_caps), (gst_pad_set_element_private),
30280         (gst_pad_get_element_private), (gst_pad_start_task),
30281         (gst_pad_pause_task), (gst_pad_stop_task),
30282         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
30283         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
30284         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
30285         (gst_ghost_pad_new):
30286         * gst/gstpad.h:
30287         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
30288         (gst_query_new_position), (gst_query_set_position),
30289         (gst_query_parse_position), (gst_query_new_convert),
30290         (gst_query_set_convert), (gst_query_parse_convert):
30291         * gst/gstquery.h:
30292         * gst/gstqueryutils.c:
30293         * gst/gstqueryutils.h:
30294         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30295         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30296         (gst_queue_handle_src_query):
30297         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30298         (gst_element_query_position), (gst_element_query_convert),
30299         (intersect_caps_func), (gst_pad_query_position),
30300         (gst_pad_query_convert):
30301         * gst/gstutils.h:
30302         * tools/gst-inspect.c: (print_pad_info):
30303         * tools/gst-xmlinspect.c: (print_element_info):
30304         Remove old query functions. Ported old code.
30305         Added position/convert helper functions to gstutils.
30306         Reordered gstpad.c code, grouping relevant things.
30307         Remove gst_message_new(), always need to speficy a specific
30308         message.
30309
30310
30311 2005-05-09  Andy Wingo  <wingo@pobox.com>
30312
30313         * gst/gstiterator.h: Add some includes.
30314
30315         * gst/gstqueryutils.h: Include more headers.
30316
30317         * gst/gstpad.h:
30318         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
30319         some uses of gst_pad_query.
30320
30321         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
30322         NULL out parameters.
30323         (gst_query_new_position): New proc, allocates a new position
30324         query.
30325
30326         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
30327         gstqueryutils.c to the build.
30328
30329         * gst/gststructure.c (gst_structure_set_valist): Implement with
30330         the generic G_VALUE_COLLECT.
30331         
30332 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
30333
30334         * gst/Makefile.am: (gst_headers):
30335         Added gstqueryutils.h to the list of headers to install, that was
30336         a 'nachty' move wingo :)
30337
30338 2005-05-06  Andy Wingo  <wingo@pobox.com>
30339
30340         * gst/gstquery.h
30341         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
30342         GstData, init a memchunk.
30343         (standard_definitions): Add a few query types, deprecate a few.
30344         (gst_query_get_type): New proc.
30345         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
30346         implementation.
30347         (gst_query_new_application, gst_query_get_structure): New public
30348         procs.
30349
30350         * docs/design/draft-query.txt: Removed LINKS from the query types,
30351         because all the rest can be dispatched to other pads -- seemed
30352         ugly to have a query that couldn't be dispatched. internal_links
30353         is fine as a pad method.
30354
30355         * gst/gstpad.h: Add query2 as a pad method, add the new functions
30356         in gstpad.c, but maintain binary compatibility for the moment.
30357         Will fix before 0.9 is out.
30358
30359         * gst/gstqueryutils.c: 
30360         * gst/gstqueryutils.h: New files, implement 3 methods for each
30361         query type: parse_query, parse_response, and set. Probably need an
30362         allocator as well.
30363
30364         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
30365
30366         * gst/elements/gstfilesink.c (gst_filesink_query2):
30367         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
30368         query_types, and formats methods.
30369
30370         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
30371         (gst_pad_set_query2_function): New functions.
30372         (gst_real_pad_init): Set query2_default as the default query2
30373         function. Basically just dispatches to internally linked pads.
30374
30375         Needs review!
30376         
30377         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
30378         without using the atomic operations. Only one thread can possibly
30379         be accessing the data at this point. Changed so as to avoid
30380         gst_atomic operations.
30381
30382 2005-05-06  Wim Taymans  <wim@fluendo.com>
30383
30384         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
30385         Also set caps if we use the fallback buffer alloc.
30386
30387 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
30388
30389         * docs/gst/Makefile.am:
30390         * docs/gst/gstreamer-docs.sgml:
30391         * docs/gst/gstreamer-sections.txt:
30392         * docs/gst/tmpl/gstatomic.sgml:
30393         * docs/gst/tmpl/gstmemchunk.sgml:
30394         * testsuite/elements/struct_i386.h:
30395         * win32/GStreamer.vcproj:
30396         * win32/Makefile:
30397           Purge GstAtomic stuff from docs and win32 makefiles as well
30398
30399 2005-05-06  Wim Taymans  <wim@fluendo.com>
30400
30401         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
30402         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
30403         * gst/gstpad.c: (gst_pad_peer_get_caps):
30404         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30405         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30406         (gst_queue_src_activate), (gst_queue_change_state):
30407         * gst/gstqueue.h:
30408         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30409         (intersect_caps_func):
30410         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
30411         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
30412         Some fixes for the peer_get_caps() change.
30413
30414 2005-05-06  Wim Taymans  <wim@fluendo.com>
30415
30416         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
30417         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
30418         (gst_basesink_activate):
30419         Actually do something with error codes returned from the push
30420         functions.
30421
30422 2005-05-06  Wim Taymans  <wim@fluendo.com>
30423
30424         * docs/design/part-element-sink.txt:
30425         * docs/design/part-element-source.txt:
30426         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30427         (gst_basesink_event), (gst_basesink_activate):
30428         * gst/base/gstbasesink.h:
30429         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
30430         (gst_basesrc_activate):
30431         * gst/base/gstbasesrc.h:
30432         * gst/gstelement.c: (gst_element_pads_activate):
30433         Some more documentation.
30434         Fixed scheduling decision in _pads_activate().
30435
30436 2005-05-05  Andy Wingo  <wingo@pobox.com>
30437
30438         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
30439         the test suite.
30440
30441 2005-05-05  Wim Taymans  <wim@fluendo.com>
30442
30443         * gst/base/Makefile.am:
30444         * gst/base/gstbasesink.h:
30445         * gst/base/gstbasesrc.c: (gst_basesrc_init),
30446         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
30447         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
30448         (gst_collectpads_class_init), (gst_collectpads_init),
30449         (gst_collectpads_finalize), (gst_collectpads_new),
30450         (gst_collectpads_set_function), (gst_collectpads_add_pad),
30451         (find_pad), (gst_collectpads_remove_pad),
30452         (gst_collectpads_is_active), (gst_collectpads_collect),
30453         (gst_collectpads_collect_range), (gst_collectpads_start),
30454         (gst_collectpads_stop), (gst_collectpads_peek),
30455         (gst_collectpads_pop), (gst_collectpads_available),
30456         (gst_collectpads_read), (gst_collectpads_flush),
30457         (gst_collectpads_chain):
30458         * gst/base/gstcollectpads.h:
30459         * gst/elements/Makefile.am:
30460         * gst/elements/gstelements.c:
30461         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30462         (gst_fakesink_get_times), (gst_fakesink_event),
30463         (gst_fakesink_preroll), (gst_fakesink_render):
30464         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
30465         (gst_filesink_init), (gst_filesink_set_location),
30466         (gst_filesink_open_file), (gst_filesink_close_file),
30467         (gst_filesink_pad_query), (gst_filesink_event),
30468         (gst_filesink_render), (gst_filesink_change_state):
30469         * gst/elements/gstfilesink.h:
30470         Added object to help in making collect pad based elements.
30471         Ported filesink.
30472         Make event function in sink baseclass return gboolean.
30473
30474 2005-05-05  Wim Taymans  <wim@fluendo.com>
30475
30476         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
30477         (gst_bin_get_by_name):
30478         * gst/gstbuffer.h:
30479         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
30480         (gst_clock_finalize):
30481         * gst/gstdata.c: (gst_data_replace):
30482         * gst/gstdata.h:
30483         * gst/gstelement.c: (gst_element_request_pad),
30484         (gst_element_pads_activate):
30485         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
30486         (gst_object_unref):
30487         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30488         (gst_pad_set_checkgetrange_function),
30489         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
30490         (gst_pad_check_pull_range), (gst_pad_pull_range),
30491         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30492         (gst_pad_pause_task), (gst_pad_stop_task):
30493         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30494         (gst_element_request_pad), (gst_pad_proxy_getcaps):
30495         Fix name lookup in GstBin.
30496         Added _data_replace() function and _buffer_replace()
30497         Use finalize method to clean up clock.
30498         Fix refcounting on request pads.
30499         Fix pad schedule mode error.
30500         Some more object refcounting debug info,
30501
30502
30503 2005-05-04  Andy Wingo <wingo@pobox.com>
30504
30505         * check/Makefile.am:
30506         * docs/gst/tmpl/gstatomic.sgml:
30507         * docs/gst/tmpl/gstplugin.sgml:
30508         * gst/base/gstbasesink.c: (gst_basesink_activate):
30509         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
30510         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
30511         (gst_basesrc_query), (gst_basesrc_set_property),
30512         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
30513         (gst_basesrc_activate):
30514         * gst/base/gstbasesrc.h:
30515         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
30516         (gst_base_transform_src_activate):
30517         * gst/elements/gstelements.c:
30518         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30519         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30520         * gst/elements/gsttee.c: (gst_tee_sink_activate):
30521         * gst/elements/gsttypefindelement.c: (find_element_get_length),
30522         (gst_type_find_element_checkgetrange),
30523         (gst_type_find_element_activate):
30524         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30525         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30526         (gst_caps_load_thyself):
30527         * gst/gstelement.c: (gst_element_pads_activate),
30528         (gst_element_save_thyself), (gst_element_restore_thyself):
30529         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30530         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30531         * gst/gstpad.h:
30532         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
30533         (gst_xml_parse_file), (gst_xml_parse_memory),
30534         (gst_xml_get_element), (gst_xml_make_element):
30535         * gst/indexers/gstfileindex.c: (gst_file_index_load),
30536         (_file_index_id_save_xml), (gst_file_index_commit):
30537         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
30538         (read_enum), (load_pad_template), (load_feature), (load_plugin),
30539         (load_paths):
30540         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
30541         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
30542         * tools/gst-complete.c: (main):
30543         * tools/gst-compprep.c: (main):
30544         * tools/gst-inspect.c: (print_element_properties_info):
30545         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
30546         * tools/gst-xmlinspect.c: (print_element_properties):
30547         GCC 4 fixen.
30548         
30549 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
30550
30551         * gst/gstplugin.c: (gst_plugin_check_module),
30552         (gst_plugin_check_file), (gst_plugin_load_file):
30553             apply patch from #172526 to make register work on MacOSX
30554
30555 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30556
30557         * docs/gst/tmpl/gstconfig.sgml:
30558         * gst/gstconfig.h.in:
30559           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
30560         * testsuite/debug/printf_extension.c: (main):
30561           Do not use GST_PTR_FORMAT on pointers to types with
30562           sizeof < sizeof(gpointer).  Fixes test on 64-bit
30563         * testsuite/elements/property.h:
30564           use correct printf format
30565
30566 2005-05-02  Wim Taymans  <wim@fluendo.com>
30567
30568         * docs/design/draft-push-pull.txt:
30569         * docs/design/draft-query.txt:
30570         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
30571         (gst_basesrc_start):
30572         Added draft for new query API.
30573         Added draft for better selecting scheduling methods.
30574         Make basesrc ignore length if the subclass does not support
30575         it.
30576
30577 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30578
30579         * gst/Makefile.am:
30580           possible fixes for automake-1.5 - _LIBADD is reserved
30581
30582 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30583
30584         * docs/faq/Makefile.am:
30585         * docs/manual/Makefile.am:
30586         * docs/manuals.mak:
30587         * docs/pwg/Makefile.am:
30588         * gst/Makefile.am:
30589           possible fixes for automake-1.5
30590
30591 2005-04-28  Wim Taymans  <wim@fluendo.com>
30592
30593         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30594         (gst_basesink_pad_getcaps), (gst_basesink_init),
30595         (gst_basesink_do_sync):
30596         * gst/gstclock.c: (gst_clock_entry_new):
30597         * gst/gstevent.c: (gst_event_discont_get_value):
30598         * gst/gstpipeline.c: (pipeline_bus_handler),
30599         (gst_pipeline_change_state):
30600         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
30601         Better debugging of clocking info.
30602         Allow NULL values when getting discont values.
30603
30604 2005-04-27  Wim Taymans  <wim@fluendo.com>
30605
30606         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30607         * check/gst/gstpad.c: (gst_pad_suite):
30608         Increase timeout for checks.
30609
30610 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30611
30612         * check/Makefile.am:
30613           fix the broken rule for cleanup.  Apparently this rule is
30614           only needed on FC2, so maybe this warrants further autotool
30615           inspection.
30616
30617 2005-04-26  Wim Taymans  <wim@fluendo.com>
30618
30619         * gst/gsttrashstack.h:
30620         Ooohh. a nasty one! After having a failed pop() from the stack,
30621         it's possible that the stack is empty. In that case, don't
30622         follow the NULL pointer.
30623
30624 2005-04-25  Wim Taymans  <wim@fluendo.com>
30625
30626         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30627         (gst_pad_set_checkgetrange_function),
30628         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
30629         (gst_pad_check_pull_range), (gst_pad_pull_range),
30630         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30631         (gst_pad_pause_task), (gst_pad_stop_task):
30632         * gst/gstplugin.c: (gst_plugin_load):
30633         * gst/gstplugin.h:
30634         Remove gst_library_load as it does more harm than good with
30635         the new g_module flags.
30636         Revert bogus caps template check in pad linking, pad caps
30637         are important when linking not the template, which is more
30638         general than the current caps.
30639
30640 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30641
30642         * gst/autoplug/.cvsignore:
30643         * gst/autoplug/Makefile.am:
30644         * gst/autoplug/gstsearchfuncs.c:
30645         * gst/autoplug/gstsearchfuncs.h:
30646         * gst/autoplug/gstspider.c:
30647         * gst/autoplug/gstspider.h:
30648         * gst/autoplug/gstspideridentity.c:
30649         * gst/autoplug/gstspideridentity.h:
30650         * gst/autoplug/spidertest.c:
30651           Die, spider, die.
30652
30653 2005-04-25  Wim Taymans  <wim@fluendo.com>
30654
30655         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30656         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30657         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
30658         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
30659         * gst/gstpad.h:
30660         Added stubs for unimplemented functions. 
30661
30662 2005-04-24  David Schleef  <ds@schleef.org>
30663
30664         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
30665         please fix.
30666
30667 2005-04-24  David Schleef  <ds@schleef.org>
30668
30669         Convert everything from GstAtomicInt to g_atomic_int_*, and
30670         remove gstatomic.
30671         * gst/Makefile.am:
30672         * gst/gstatomic.c:
30673         * gst/gstatomic.h:
30674         * gst/gstatomic_impl.h:
30675         * gst/gstbuffer.c:
30676         * gst/gstcaps.c:
30677         * gst/gstcaps.h:
30678         * gst/gstclock.c:
30679         * gst/gstclock.h:
30680         * gst/gstdata.c:
30681         * gst/gstdata.h:
30682         * gst/gstdata_private.h:
30683         * gst/gstevent.c:
30684         * gst/gstinfo.c:
30685         * gst/gstinfo.h:
30686         * gst/gstmessage.c:
30687         * gst/gstobject.c:
30688         * gst/gstobject.h:
30689         * gst/gststructure.c:
30690         * gst/gststructure.h:
30691         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
30692         * gst/gstutils.h:
30693
30694 2005-04-24  David Schleef  <ds@schleef.org>
30695
30696         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
30697         make the regressions tests work.  Remove some code that is no
30698         longer true.
30699         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
30700         Disable warning for pads without templates.
30701
30702 2005-04-24  David Schleef  <ds@schleef.org>
30703
30704         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
30705         functions that handle filtered links.
30706         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
30707         removed functions.
30708         * gst/gstutils.c: Fix/remove utility functions that handle
30709         filtered caps.
30710         * gst/gstutils.h:
30711         * gst/gstvalue.c: Add serialization/deserialization of caps
30712         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
30713         requires fixing so that the filter caps notation creates
30714         a capsfilter element and sets the filter_caps property.  I
30715         think everyone probably wants to keep the shorthand notation.
30716         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
30717         * docs/gst/tmpl/gstpad.sgml:
30718
30719         * gst/elements/gstelements.c: Register capsfilter element.
30720         * gst/Makefile.am: fix spacing
30721         * docs/random/ds/0.9-suggested-changes: random
30722
30723 2005-04-23  David Schleef  <ds@schleef.org>
30724
30725         * gst/elements/Makefile.am:
30726         * gst/elements/gstcapsfilter.c: New element that acts like an
30727         identity, but filters caps.  Will eventually replace filtered
30728         caps in pad linking.
30729         * gst/gstutils.c: (gst_element_create_all_pads): New function
30730         to create all the ALWAYS pads that are registered with an
30731         element class.  This functionality should eventually be
30732         merged in with GstElement initialization.
30733         * gst/gstutils.h:
30734         * testsuite/trigger/README: part of trigger test code that should
30735         have been checked in a long time ago.
30736
30737 2005-04-23  David Schleef  <ds@schleef.org>
30738
30739         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
30740         needed with new versions of libtool (nobody will confirm this),
30741         and hard to carry around.
30742         * gst/autoplug/Makefile.am:
30743         * gst/base/Makefile.am:
30744         * gst/elements/Makefile.am:
30745         * gst/indexers/Makefile.am:
30746         * gst/schedulers/Makefile.am:
30747         * libs/gst/bytestream/Makefile.am:
30748         * libs/gst/control/Makefile.am:
30749         * libs/gst/dataprotocol/Makefile.am:
30750         * libs/gst/getbits/Makefile.am:
30751
30752 2005-04-21  Wim Taymans  <wim@fluendo.com>
30753
30754         * docs/design/draft-push-pull.txt:
30755         * docs/design/part-MT-refcounting.txt:
30756         * docs/design/part-TODO.txt:
30757         * docs/design/part-caps.txt:
30758         * docs/design/part-events.txt:
30759         * docs/design/part-gstbus.txt:
30760         * docs/design/part-gstpipeline.txt:
30761         * docs/design/part-messages.txt:
30762         * docs/design/part-push-pull.txt:
30763         * docs/design/part-query.txt:
30764         Some more docs.
30765
30766 2005-04-21  Wim Taymans  <wim@fluendo.com>
30767
30768         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
30769         (gst_message_new), (gst_message_new_error),
30770         (gst_message_new_warning), (gst_message_new_tag),
30771         (gst_message_new_state_changed), (gst_message_new_application),
30772         (gst_message_get_structure):
30773         * gst/gstmessage.h:
30774         * gst/gststructure.c: (gst_structure_set_parent_refcount),
30775         (gst_structure_copy_conditional):
30776         Use parent refcount in GstMessage to ensure GstStructure
30777         consistency.
30778         Cleaned up headers a bit.
30779         
30780
30781 2005-04-20  Wim Taymans  <wim@fluendo.com>
30782
30783         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30784         (gst_basesink_pad_getcaps), (gst_basesink_init),
30785         (gst_basesink_chain_unlocked):
30786         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
30787         (gst_type_find_helper):
30788         * gst/elements/gsttypefindelement.c:
30789         (gst_type_find_element_have_type), (gst_type_find_element_init),
30790         (stop_typefinding), (gst_type_find_element_handle_event),
30791         (find_suggest), (gst_type_find_element_chain),
30792         (gst_type_find_element_checkgetrange),
30793         (gst_type_find_element_getrange), (do_typefind),
30794         (gst_type_find_element_activate):
30795         * gst/gstbuffer.c: (_gst_buffer_sub_free),
30796         (gst_buffer_default_free), (gst_buffer_default_copy),
30797         (gst_buffer_set_caps):
30798         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
30799         (gst_caps_replace):
30800         * gst/gstmessage.c: (gst_message_new),
30801         (gst_message_new_state_changed):
30802         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30803         (gst_pad_set_checkgetrange_function),
30804         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
30805         (gst_pad_set_caps), (gst_pad_check_pull_range),
30806         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
30807         * gst/gstpad.h:
30808         * gst/gsttypefind.c: (gst_type_find_register):
30809         Make gst_caps_replace() work like other _replace() functions.
30810         Use _caps_replace() where possible.
30811         Make sure _message_new() initialises its field.
30812         Add gst_static_pad_template_get_caps()
30813
30814
30815 2005-04-18  Andy Wingo  <wingo@pobox.com>
30816
30817         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
30818         on the peer, not the pad. I think that was a typo. Pass an extra
30819         arg to see if random access is possible. Activate the pads as
30820         PULL_RANGE if possible.
30821
30822         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
30823
30824         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
30825         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
30826         to PROP_....
30827
30828 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30829
30830         * docs/faq/using.xml:
30831           Add note on gstreamer-properties (#154996).
30832
30833 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30834
30835         * docs/random/bbb/optional-properties:
30836           Some analysis on optional properties.
30837
30838 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30839
30840         * docs/gst/tmpl/gstelementfactory.sgml:
30841         * gst/gstelement.h:
30842         * gst/gstelementfactory.c: (gst_element_factory_init),
30843         (gst_element_factory_cleanup), (gst_element_register),
30844         (__gst_element_factory_add_static_pad_template),
30845         (gst_element_factory_get_static_pad_templates),
30846         (gst_element_factory_can_src_caps),
30847         (gst_element_factory_can_sink_caps):
30848         * gst/registries/Makefile.am:
30849         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
30850         (gst_xml_registry_class_init), (gst_xml_registry_init),
30851         (gst_xml_registry_new), (gst_xml_registry_set_property),
30852         (gst_xml_registry_get_property), (get_time), (make_dir),
30853         (gst_xml_registry_get_perms_func),
30854         (plugin_times_older_than_recurse), (plugin_times_older_than),
30855         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
30856         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
30857         (add_to_char_array), (read_string), (read_uint), (read_enum),
30858         (load_pad_template), (load_feature), (load_plugin), (load_paths),
30859         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
30860         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
30861         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
30862         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
30863         (gst_xml_registry_rebuild):
30864         * gst/registries/gstlibxmlregistry.h:
30865         * tools/gst-compprep.c: (main):
30866         * tools/gst-inspect.c: (print_pad_templates_info):
30867         * tools/gst-xmlinspect.c: (print_element_info):
30868           Use libxml2 for registry parsing, use staticpadtemplates in
30869           elementfactories. Makes gst_init() +/- 10x faster.
30870
30871 2005-04-12  Wim Taymans  <wim@fluendo.com>
30872
30873         * gst/base/Makefile.am:
30874         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30875         (gst_basesink_pad_getcaps), (gst_basesink_init),
30876         (gst_basesink_event), (gst_basesink_change_state):
30877         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30878         (gst_basesrc_init), (gst_basesrc_query),
30879         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
30880         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
30881         (gst_basesrc_check_get_range), (gst_basesrc_loop),
30882         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
30883         (gst_basesrc_stop), (gst_basesrc_activate),
30884         (gst_basesrc_change_state):
30885         * gst/base/gsttypefindhelper.c: (helper_find_peek),
30886         (helper_find_suggest), (gst_type_find_helper):
30887         * gst/base/gsttypefindhelper.h:
30888         * gst/elements/Makefile.am:
30889         * gst/elements/gstelements.c:
30890         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30891         (gst_fakesink_get_times), (gst_fakesink_event),
30892         (gst_fakesink_preroll), (gst_fakesink_render):
30893         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30894         (gst_fakesrc_init), (gst_fakesrc_event_handler),
30895         (gst_fakesrc_get_property), (gst_fakesrc_create),
30896         (gst_fakesrc_start), (gst_fakesrc_stop):
30897         * gst/elements/gstfakesrc.h:
30898         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
30899         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
30900         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
30901         (gst_filesrc_create_read), (gst_filesrc_create),
30902         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
30903         (gst_filesrc_start):
30904         * gst/elements/gsttypefindelement.c:
30905         (gst_type_find_element_have_type), (gst_type_find_element_init),
30906         (start_typefinding), (stop_typefinding), (push_buffer_store),
30907         (gst_type_find_element_handle_event),
30908         (gst_type_find_element_chain),
30909         (gst_type_find_element_checkgetrange),
30910         (gst_type_find_element_getrange), (do_typefind),
30911         (gst_type_find_element_activate),
30912         (gst_type_find_element_change_state):
30913         * gst/elements/gsttypefindelement.h:
30914         * gst/gstpipeline.c: (pipeline_bus_handler):
30915         Added typefind helper.
30916         Small preroll fix in the base sink.
30917         Disable typefind code in basesrc.
30918         Crude port of typefindelement.
30919         Fakesrc cleanups.
30920
30921
30922 2005-04-11  Wim Taymans  <wim@fluendo.com>
30923
30924         * check/gst/gstbus.c: (gstbus_suite):
30925         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
30926         * check/gstcheck.h:
30927           Fix up the timeout so that the test does not fail.
30928
30929 2005-04-06  Wim Taymans  <wim@fluendo.com>
30930
30931         * gst/base/README:
30932         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30933         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
30934         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
30935         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
30936         (gst_basesrc_check_get_range), (gst_basesrc_loop),
30937         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
30938         (gst_basesrc_stop), (gst_basesrc_activate),
30939         (gst_basesrc_change_state), (basesrc_find_peek),
30940         (basesrc_find_suggest), (gst_basesrc_type_find):
30941         * gst/base/gstbasesrc.h:
30942         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
30943         (gst_filesrc_class_init), (gst_filesrc_init),
30944         (gst_filesrc_finalize), (gst_filesrc_set_location),
30945         (gst_filesrc_set_property), (gst_filesrc_get_property),
30946         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
30947         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
30948         (gst_filesrc_create_read), (gst_filesrc_create),
30949         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
30950         * gst/elements/gstfilesrc.h:
30951         * gst/gstelement.c: (gst_element_get_state_func),
30952         (gst_element_lost_state), (gst_element_pads_activate):
30953         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30954         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30955         (gst_pad_pull_range):
30956         * gst/gstpad.h:
30957         More work on the generic source base class, implement seeking,
30958         query.
30959         Make filesrc extend the base source class.
30960         Added gst_pad_set_checkgetrange_function to GstPad.
30961
30962 2005-04-06  Andy Wingo  <wingo@pobox.com>
30963
30964         * pkgconfig/gstreamer-base.pc.in:
30965         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
30966
30967         * pkgconfig/Makefile.am:
30968         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
30969
30970 2005-04-04  Wim Taymans  <wim@fluendo.com>
30971
30972         * gst/base/Makefile.am:
30973         * gst/base/README:
30974         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30975         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
30976         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
30977         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
30978         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30979         (gst_basesrc_base_init), (gst_basesrc_class_init),
30980         (gst_basesrc_init), (gst_basesrc_get_formats),
30981         (gst_basesrc_get_query_types), (gst_basesrc_query),
30982         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
30983         (gst_basesrc_set_property), (gst_basesrc_get_property),
30984         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
30985         (gst_basesrc_loop), (gst_basesrc_activate),
30986         (gst_basesrc_change_state):
30987         * gst/base/gstbasesrc.h:
30988         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
30989         (gst_fakesrc_class_init), (gst_fakesrc_init),
30990         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
30991         (gst_fakesrc_get_property), (gst_fakesrc_create):
30992         * gst/elements/gstfakesrc.h:
30993         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
30994         (gst_filesrc_open_file), (gst_filesrc_loop),
30995         (gst_filesrc_activate), (filesrc_find_peek),
30996         (gst_filesrc_type_find):
30997         Made base source class, make fakesrc extend it.
30998         Add comments to basesink class.
30999         Some filesrc cleanup.
31000
31001 2005-03-31  David Schleef  <ds@schleef.org>
31002
31003         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
31004         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
31005         expected to link against libgstreamer.
31006         * gst/base/Makefile.am: link against libgstreamer
31007         * gst/elements/Makefile.am: same
31008
31009 2005-03-31  Andy Wingo  <wingo@pobox.com>
31010
31011         * tests/instantiate/Makefile.am:
31012         * tests/instantiate/caps.c: Add test to test speed of caps copy
31013         and free.
31014
31015         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
31016         GMemChunk to be fair.
31017
31018         * gst/gsttrashstack.h: Remove warning about using the fallback
31019         trash stack implementation, it's still faster than malloc.
31020
31021 2005-03-30  Andy Wingo  <wingo@pobox.com>
31022
31023         * tests/complexity.c: Add a copyright.
31024
31025 2005-03-31  Wim Taymans  <wim@fluendo.com>
31026
31027         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
31028         (gst_base_transform_class_init), (gst_base_transform_init),
31029         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
31030         (gst_base_transform_get_property),
31031         (gst_base_transform_sink_activate),
31032         (gst_base_transform_src_activate),
31033         (gst_base_transform_change_state):
31034         * gst/base/gstbasetransform.h:
31035         * gst/elements/gstidentity.c: (gst_identity_class_init),
31036         (gst_identity_event), (gst_identity_check_perfect),
31037         (gst_identity_transform), (gst_identity_start),
31038         (gst_identity_stop):
31039         Added start/stop methods to transform base class so subclasses 
31040         don't need to deal with state changes even.
31041
31042 2005-03-31  Wim Taymans  <wim@fluendo.com>
31043
31044         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
31045         (gst_event_new_discontinuous), (gst_event_discont_get_value):
31046         * gst/gstevent.h:
31047         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31048         (gst_pad_pull_range):
31049         Added rate to the discont event to prepare for variable speed
31050         and reverse playback.
31051
31052 2005-03-29  David Schleef  <ds@schleef.org>
31053
31054         * configure.ac:
31055         * testsuite/trigger/Makefile.am:
31056         * testsuite/trigger/trigger.c: A little example program to show
31057         how trigger-based elements can work.
31058
31059 2005-03-29  Wim Taymans  <wim@fluendo.com>
31060
31061         * gst/base/Makefile.am:
31062         * gst/base/README:
31063         * gst/base/gstbasesink.c: (gst_basesink_get_type),
31064         (gst_basesink_base_init), (gst_basesink_class_init),
31065         (gst_basesink_pad_getcaps), (gst_basesink_init),
31066         (gst_basesink_activate), (gst_basesink_change_state):
31067         * gst/base/gstbasesink.h:
31068         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
31069         (gst_base_transform_base_init), (gst_base_transform_finalize),
31070         (gst_base_transform_class_init), (gst_base_transform_init),
31071         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
31072         (gst_base_transform_event), (gst_base_transform_getrange),
31073         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
31074         (gst_base_transform_set_property),
31075         (gst_base_transform_get_property),
31076         (gst_base_transform_sink_activate),
31077         (gst_base_transform_src_activate),
31078         (gst_base_transform_change_state):
31079         * gst/base/gstbasetransform.h:
31080         * gst/elements/gstidentity.c: (gst_identity_finalize),
31081         (gst_identity_class_init), (gst_identity_init),
31082         (gst_identity_event), (gst_identity_check_perfect),
31083         (gst_identity_transform), (gst_identity_set_property),
31084         (gst_identity_get_property), (gst_identity_change_state):
31085         * gst/elements/gstidentity.h:
31086         * gst/gstelement.c: (gst_element_get_state_func),
31087         (gst_element_lost_state), (gst_element_pads_activate):
31088         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31089         (gst_pad_check_pull_range), (gst_pad_pull_range):
31090         * gst/gstpad.h:
31091         Simplify pad activation.
31092         Added function to check if pull_range can be performed.
31093         Error out when pulling inactive or flushing pads.
31094         Removed const from refcounted types as it does not make sense.
31095         Simplify pad templates in basesink
31096         Added base class for simple 1-to-1 transforms.
31097         Make identity subclass the base transform.
31098
31099 2005-03-29  Andy Wingo  <wingo@pobox.com>
31100
31101         * docs/libs/gstreamer-libs-overrides.txt: 
31102         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
31103         really don't understand what's going on, but like whatever. I want
31104         green buildbot!
31105
31106         * docs/gst/Makefile.am:
31107         * docs/libs/Makefile.am: Dist the overrides files.
31108
31109         * check/Makefile.am (clean-local): Remove .libs directories.
31110
31111         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
31112         elements to EXTRA_DIST, so po/ files are happy.
31113
31114         * po/POTFILES.in: Er, remove it here.
31115
31116         * po/POTFILES: Remove gstspider.c.
31117
31118         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
31119
31120         * docs/libs/gstreamer-libs-docs.sgml: 
31121         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
31122         bytestream.
31123
31124         * tests/complexity.c (main): Set the length of the preroll queue
31125         on the sinks to prevent a lockup.
31126
31127         * libs/gst/dataprotocol/Makefile.am: 
31128         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
31129         the same as the one in check/gst-libs/gdp.c.
31130
31131         * po/, docs/gst/: Commit automatic changes to docs and po files.
31132
31133         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
31134         the versioned libgstbase.
31135
31136         * check/Makefile.am: Depend on an unversioned gst-register, seems
31137         to make autoconf happier.
31138
31139         * gst/base/Makefile.am: Make libgstbase a versioned lib.
31140
31141 2005-03-28  Wim Taymans  <wim@fluendo.com>
31142
31143         * configure.ac:
31144         * docs/design/part-gstelement.txt:
31145         * docs/design/part-negotiation.txt:
31146         * docs/design/part-preroll.txt:
31147         * docs/design/part-scheduling.txt:
31148         * docs/design/part-states.txt:
31149         * gst/Makefile.am:
31150         * gst/base/Makefile.am:
31151         * gst/base/README:
31152         * gst/base/gstbasesink.c: (gst_basesink_get_template),
31153         (gst_basesink_base_init), (gst_basesink_class_init),
31154         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31155         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31156         (gst_basesink_set_pad_functions),
31157         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
31158         (gst_basesink_set_property), (gst_basesink_get_property),
31159         (gst_base_sink_get_template), (gst_base_sink_get_caps),
31160         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
31161         (gst_basesink_preroll_queue_push),
31162         (gst_basesink_preroll_queue_empty),
31163         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
31164         (gst_basesink_event), (gst_basesink_get_times),
31165         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
31166         (gst_basesink_chain_unlocked), (gst_basesink_chain),
31167         (gst_basesink_loop), (gst_basesink_activate),
31168         (gst_basesink_change_state):
31169         * gst/base/gstbasesink.h:
31170         * gst/elements/Makefile.am:
31171         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
31172         (gst_fakesink_class_init), (gst_fakesink_init),
31173         (gst_fakesink_set_property), (gst_fakesink_get_property),
31174         (gst_fakesink_get_times), (gst_fakesink_event),
31175         (gst_fakesink_preroll), (gst_fakesink_render),
31176         (gst_fakesink_change_state):
31177         * gst/elements/gstfakesink.h:
31178         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31179         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
31180         * gst/gstelement.c: (gst_element_add_pad),
31181         (gst_element_get_state_func), (gst_element_abort_state),
31182         (gst_element_commit_state), (gst_element_lost_state),
31183         (gst_element_set_state), (gst_element_pads_activate):
31184         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
31185         * gst/gstpipeline.c: (gst_pipeline_send_event),
31186         (gst_pipeline_change_state):
31187         Added state change code.
31188         Added/updated docs.
31189         Added sink base class, make fakesink extend the base class.
31190         Small cleanups in GstPipeline.
31191
31192 2005-03-26  David Schleef  <ds@schleef.org>
31193
31194         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
31195         is broken and should be implemented in a different library.
31196         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
31197         * gst/gst.h: remove gstcpu.h
31198         * gst/gstcpu.c: remove
31199         * gst/gstcpu.h: remove
31200         * gst/Makefile.am.future: Remove this file.  It's ancient.
31201
31202 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31203
31204         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31205         (gst_bin_send_event):
31206           Add default event/set_manager handlers. The set_manager handler
31207           takes care that the manager is distributed over kids that were
31208           already in the bin before the manager was set. The event handler
31209           is a utility virtual function that sends the event over all sinks,
31210           so that gst_element_send_event (bin, event); has the expected
31211           behaviour.
31212         * gst/gstpad.c: (gst_pad_event_default):
31213           Re-install default event handling for discontinuities, so that
31214           seeking works without requiring hacks in applications or extra
31215           code in sinks.
31216         * gst/gstpipeline.c: (gst_pipeline_class_init),
31217         (gst_pipeline_send_event):
31218           Half hack, half utility: set a pipeline to PAUSED for seek events,
31219           since that is the only way we can guarantee a/v sync. Means that
31220           you can do gst_element_seek (pipeline, method, pos); on a pipeline
31221           and it "just works".
31222
31223 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31224
31225         * gst/gstpipeline.c: (gst_pipeline_use_clock):
31226           Lock/unlock mismatch.
31227
31228 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
31229
31230         * docs/faq/gst-uninstalled:
31231           add gst-plugins-base
31232         * docs/gst/Makefile.am:
31233           don't error out until docs are fixed
31234         * docs/gst/gstreamer.types:
31235           remove thread
31236
31237 2005-03-22  Wim Taymans  <wim@fluendo.com>
31238
31239         * check/Makefile.am:
31240         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
31241         * gst/gststructure.c: (gst_structure_set_valist),
31242         (gst_structure_copy_conditional):
31243         Activated more tests.
31244         Added message test.
31245         Added G_TYPE_POINTER to GstStructure.
31246         
31247
31248 2005-03-22  Wim Taymans  <wim@fluendo.com>
31249
31250         * docs/design/part-TODO.txt:
31251         * docs/design/part-events.txt:
31252         * docs/design/part-gstbin.txt:
31253         * docs/design/part-gstbus.txt:
31254         * docs/design/part-gstpipeline.txt:
31255         * docs/design/part-messages.txt:
31256         * gst/gstbus.c:
31257         * gst/gstmessage.c:
31258         Docs updates
31259
31260 2005-03-21  Wim Taymans  <wim@fluendo.com>
31261
31262         * gst/gstbus.c: (gst_bus_post):
31263         Fix copy-and-paste error.
31264
31265 2005-03-21  Wim Taymans  <wim@fluendo.com>
31266
31267         * check/Makefile.am:
31268         * gst/Makefile.am:
31269         * gst/elements/Makefile.am:
31270         * gst/elements/gstelements.c:
31271         * gst/elements/gstfakesink.c: (gst_fakesink_init),
31272         (gst_fakesink_event), (gst_fakesink_chain):
31273         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31274         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
31275         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
31276         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
31277         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
31278         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
31279         (gst_fakesrc_loop), (gst_fakesrc_activate),
31280         (gst_fakesrc_change_state):
31281         * gst/elements/gstfakesrc.h:
31282         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
31283         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
31284         (gst_filesrc_open_file), (gst_filesrc_loop),
31285         (gst_filesrc_activate), (gst_filesrc_change_state),
31286         (filesrc_find_peek), (filesrc_find_suggest),
31287         (gst_filesrc_type_find):
31288         * gst/elements/gstidentity.c: (gst_identity_finalize),
31289         (gst_identity_class_init), (gst_identity_init),
31290         (gst_identity_proxy_getcaps), (identity_queue_push),
31291         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
31292         (gst_identity_getrange), (gst_identity_chain),
31293         (gst_identity_sink_loop), (gst_identity_src_loop),
31294         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
31295         (gst_identity_set_property), (gst_identity_get_property),
31296         (gst_identity_change_state):
31297         * gst/elements/gstidentity.h:
31298         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
31299         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
31300         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
31301         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
31302         (gst_tee_sink_activate):
31303         * gst/elements/gsttee.h:
31304         * gst/gst.c: (gst_register_core_elements), (init_post):
31305         * gst/gst.h:
31306         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
31307         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
31308         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
31309         (gst_bin_change_state):
31310         * gst/gstbin.h:
31311         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
31312         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
31313         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
31314         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
31315         (gst_bus_set_sync_handler), (gst_bus_create_watch),
31316         (bus_watch_callback), (bus_watch_destroy),
31317         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
31318         (poll_timeout), (gst_bus_poll):
31319         * gst/gstbus.h:
31320         * gst/gstcaps.h:
31321         * gst/gstdata.h:
31322         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31323         (gst_element_post_message), (gst_element_message_full),
31324         (gst_element_get_state_func), (gst_element_get_state),
31325         (gst_element_abort_state), (gst_element_commit_state),
31326         (gst_element_lost_state), (gst_element_set_state),
31327         (gst_element_pads_activate), (gst_element_change_state),
31328         (gst_element_dispose), (gst_element_set_manager_func),
31329         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
31330         (gst_element_set_manager), (gst_element_get_manager),
31331         (gst_element_set_bus), (gst_element_get_bus),
31332         (gst_element_set_scheduler), (gst_element_get_scheduler):
31333         * gst/gstelement.h:
31334         * gst/gstevent.c: (gst_event_new_segment_seek),
31335         (gst_event_new_flush):
31336         * gst/gstevent.h:
31337         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
31338         (_gst_message_free), (gst_message_get_type), (gst_message_new),
31339         (gst_message_new_eos), (gst_message_new_error),
31340         (gst_message_new_warning), (gst_message_new_tag),
31341         (gst_message_new_state_changed), (gst_message_new_application),
31342         (gst_message_get_structure), (gst_message_parse_tag),
31343         (gst_message_parse_state_changed), (gst_message_parse_error),
31344         (gst_message_parse_warning):
31345         * gst/gstmessage.h:
31346         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
31347         (gst_real_pad_set_property), (gst_pad_set_active),
31348         (gst_pad_is_active), (gst_pad_set_blocked_async),
31349         (gst_pad_set_blocked), (gst_pad_is_blocked),
31350         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
31351         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
31352         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
31353         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
31354         (gst_pad_link_filtered), (gst_pad_relink_filtered),
31355         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
31356         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
31357         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
31358         (gst_pad_set_caps), (gst_pad_configure_sink),
31359         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
31360         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
31361         (gst_real_pad_dispose), (gst_real_pad_finalize),
31362         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
31363         (gst_pad_event_default_dispatch), (gst_pad_event_default),
31364         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
31365         * gst/gstpad.h:
31366         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
31367         (pipeline_bus_handler), (gst_pipeline_change_state),
31368         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
31369         * gst/gstpipeline.h:
31370         * gst/gstprobe.h:
31371         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
31372         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
31373         (gst_queue_link_src), (gst_queue_bufferalloc),
31374         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
31375         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
31376         (gst_queue_loop), (gst_queue_handle_src_event),
31377         (gst_queue_handle_src_query), (gst_queue_src_activate),
31378         (gst_queue_change_state):
31379         * gst/gstqueue.h:
31380         * gst/gstscheduler.c: (gst_scheduler_init),
31381         (gst_scheduler_dispose), (gst_scheduler_create_task),
31382         (gst_scheduler_factory_create):
31383         * gst/gstscheduler.h:
31384         * gst/gststructure.c: (gst_structure_get_type),
31385         (gst_structure_copy_conditional):
31386         * gst/gststructure.h:
31387         * gst/gsttaginterface.h:
31388         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
31389         (gst_task_init), (gst_task_dispose), (gst_task_create),
31390         (gst_task_get_state), (gst_task_start), (gst_task_stop),
31391         (gst_task_pause):
31392         * gst/gsttask.h:
31393         * gst/gstthread.c:
31394         * gst/gstthread.h:
31395         * gst/gsttypes.h:
31396         * gst/schedulers/Makefile.am:
31397         * gst/schedulers/cothreads_compat.h:
31398         * gst/schedulers/entryscheduler.c:
31399         * gst/schedulers/faircothreads.c:
31400         * gst/schedulers/faircothreads.h:
31401         * gst/schedulers/fairscheduler.c:
31402         * gst/schedulers/gstbasicscheduler.c:
31403         * gst/schedulers/gstoptimalscheduler.c:
31404         * gst/schedulers/gthread-cothreads.h:
31405         * gst/schedulers/threadscheduler.c:
31406         (gst_thread_scheduler_task_get_type),
31407         (gst_thread_scheduler_task_class_init),
31408         (gst_thread_scheduler_task_init),
31409         (gst_thread_scheduler_task_start),
31410         (gst_thread_scheduler_task_stop),
31411         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
31412         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
31413         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
31414         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
31415         (plugin_init):
31416         * libs/gst/Makefile.am:
31417         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
31418         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
31419         (gst_file_pad_parent_set):
31420         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
31421         (gst_dp_event_from_packet):
31422         * tests/complexity.c: (main):
31423         * tests/mass_elements.c: (main):
31424         * testsuite/states/locked.c: (message_received), (main):
31425         * testsuite/states/parent.c: (main):
31426         * tools/gst-inspect.c: (print_element_flag_info),
31427         (print_implementation_info), (print_pad_info):
31428         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
31429         (main):
31430         * tools/gst-md5sum.c: (event_loop), (main):
31431         * tools/gst-typefind.c: (main):
31432         * tools/gst-xmlinspect.c: (print_element_info):
31433         Next big merge.
31434         Added GstBus for mainloop integration.
31435         Added GstMessage for sending notifications on the bus.
31436         Added GstTask as an abstraction for pipeline entry points.
31437         Removed GstThread.
31438         Removed Schedulers.
31439         Simplified GstQueue for multithreaded core.
31440         Made _link threadsafe, removed old capsnego.
31441         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
31442         Added pad blocking functions.
31443         Reworked scheduling functions in GstPad to prepare for
31444         scheduling updates soon.
31445         Moved events out of data stream.
31446         Simplified GstEvent types.
31447         Added return values to push/pull.
31448         Removed clocking from GstElement.
31449         Added prototypes for state change function for next merge.
31450         Removed iterate from bins and state change management.
31451         Fixed some elements, disabled others for now.
31452         Fixed -inspect and -launch.
31453         Added check for GstBus.
31454
31455 2005-03-10  Wim Taymans  <wim@fluendo.com>
31456
31457         * docs/design/part-MT-refcounting.txt:
31458         * docs/design/part-clocks.txt:
31459         * docs/design/part-gstelement.txt:
31460         * docs/design/part-gstobject.txt:
31461         * docs/design/part-standards.txt:
31462         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31463         (gst_bin_remove_func), (gst_bin_remove):
31464         * gst/gstbin.h:
31465         * gst/gstbuffer.c:
31466         * gst/gstcaps.h:
31467         * testsuite/clock/clock1.c: (main):
31468         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
31469         (main):
31470         * testsuite/dlopen/loadgst.c: (do_test):
31471         * testsuite/refcounting/bin.c: (add_remove_test1),
31472         (add_remove_test2), (main):
31473         * testsuite/refcounting/element.c: (main):
31474         * testsuite/refcounting/element_pad.c: (main):
31475         * testsuite/refcounting/pad.c: (main):
31476         * tools/gst-launch.c: (sigint_handler_sighandler):
31477         * tools/gst-typefind.c: (main):
31478         Doc updates.
31479         Added doc about clock.
31480         removed gst_bin_iterate_recurse_up(), marked methods
31481         for removal.
31482         Fix more testsuites.
31483
31484 2005-03-09  Wim Taymans  <wim@fluendo.com>
31485
31486         * gst/gstpad.c: (gst_pad_get_direction),
31487         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
31488         (gst_pad_collect_valist):
31489         * testsuite/bins/interface.c: (main):
31490         * testsuite/caps/audioscale.c: (test_caps):
31491         * testsuite/caps/caps.c: (test1), (test2), (test3):
31492         * testsuite/caps/deserialize.c: (main):
31493         * testsuite/caps/enumcaps.c: (main):
31494         * testsuite/caps/filtercaps.c: (main):
31495         * testsuite/caps/intersect2.c: (main):
31496         * testsuite/caps/random.c: (main):
31497         * testsuite/caps/renegotiate.c: (my_fixate), (main):
31498         * testsuite/caps/sets.c: (check_caps):
31499         * testsuite/caps/simplify.c: (check_caps), (main):
31500         * testsuite/caps/subtract.c: (check_caps):
31501         Fix _pad_get_direction wrt ghostpads.
31502         Fix caps testsuite.
31503
31504 2005-03-09  Wim Taymans  <wim@fluendo.com>
31505
31506         * check/Makefile.am:
31507         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
31508         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
31509         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
31510         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
31511         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
31512         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
31513         (gst_bin_remove), (gst_bin_iterate_recurse_up),
31514         (bin_element_is_sink), (gst_bin_iterate_sinks),
31515         (gst_bin_iterate_all_by_interface):
31516         * gst/gstbin.h:
31517         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31518         (gst_element_change_state), (gst_element_dispose),
31519         (gst_element_finalize), (gst_element_set_loop_function):
31520         * gst/gstelement.h:
31521         * gst/gstiterator.c: (find_custom_fold_func):
31522         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31523         (gst_pad_collectv), (gst_pad_collect_valist),
31524         (gst_pad_template_new):
31525         * gst/gstpipeline.c: (gst_pipeline_class_init),
31526         (gst_pipeline_dispose), (gst_pipeline_set_property),
31527         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31528         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31529         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31530         * gst/gstutils.h:
31531         * gst/schedulers/entryscheduler.c:
31532         * gst/schedulers/gstbasicscheduler.c:
31533         (gst_basic_scheduler_cothreaded_chain),
31534         (gst_basic_scheduler_chain_add_element):
31535         * testsuite/bins/interface.c: (main):
31536         Added GstBin test.
31537         Added GstSystemClock test.
31538         Implemented clock distribution code in GstBin.
31539         Implemented iterate sinks method for future use.
31540         Rearranged gstelement.h
31541         Fix GstIterator comparison bug.
31542         Moved some code to GstPipeline, mostly clocking related.
31543
31544 2005-03-09  Wim Taymans  <wim@fluendo.com>
31545
31546         * configure.ac:
31547         * gst/gst_private.h:
31548         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31549         (gst_bin_remove_func), (gst_bin_remove),
31550         (gst_bin_get_by_name_recurse_up):
31551         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
31552         (gst_clock_id_compare_func), (gst_clock_id_wait),
31553         (gst_clock_id_wait_async), (gst_clock_init),
31554         (gst_clock_adjust_unlocked), (gst_clock_get_time):
31555         * gst/gstelement.h:
31556         * gst/gstinfo.c: (_gst_debug_init):
31557         * gst/gstobject.h:
31558         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31559         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
31560         * gst/gstpad.h:
31561         Bump version number, we're now 0.9.0
31562         Add future debugging category.
31563         Fix NULL _unref() in _get_by_name_recurse_up
31564         Rearrange gstpad.h.
31565         Update some docs.
31566
31567 2005-03-08  Wim Taymans  <wim@fluendo.com>
31568
31569         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
31570         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
31571         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
31572         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
31573         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
31574         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
31575         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
31576         * gst/elements/gstidentity.c: (gst_identity_class_init):
31577         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
31578         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
31579         * gst/elements/gstshaper.c: (gst_shaper_class_init):
31580         * gst/elements/gststatistics.c: (gst_statistics_class_init):
31581         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
31582         (gst_tee_link):
31583         * gst/gstelement.c: (gst_element_class_init),
31584         (gst_element_base_class_init), (gst_element_init),
31585         (gst_element_get_random_pad), (gst_element_wait_state_change),
31586         (gst_element_change_state), (gst_element_dispose),
31587         (gst_element_finalize), (gst_element_set_loop_function):
31588         * gst/gstelement.h:
31589         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
31590         * gst/gstthread.c: (gst_thread_class_init),
31591         (gst_thread_release_children_locks), (gst_thread_change_state):
31592         * gst/schedulers/gstbasicscheduler.c:
31593         (gst_basic_scheduler_loopfunc_wrapper),
31594         (gst_basic_scheduler_chain_wrapper),
31595         (gst_basic_scheduler_src_wrapper),
31596         (gst_basic_scheduler_remove_element):
31597         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
31598         Remove threadsafe properties. Fix elements because GObject
31599         complains when installing a property before declaring a
31600         set/get_property handler.
31601         Rearrange gstelement.h file, use STATE macros for state locks.
31602         Free mutexes in the finalize method instead of dispose.
31603
31604 2005-03-08  Wim Taymans  <wim@fluendo.com>
31605
31606         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31607         * gst/gstthread.c: (gst_thread_release_children_locks):
31608         Added parentage check.
31609         Fix build og GstThread again.
31610
31611 2005-03-08  Wim Taymans  <wim@fluendo.com>
31612
31613         * docs/design/part-MT-refcounting.txt:
31614         * docs/design/part-conventions.txt:
31615         * docs/design/part-gstobject.txt:
31616         * docs/design/part-relations.txt:
31617         * docs/design/part-standards.txt:
31618         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31619         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
31620         (gst_bin_get_by_name), (gst_bin_get_by_interface),
31621         (gst_bin_iterate_all_by_interface):
31622         * gst/gstbuffer.h:
31623         * gst/gstclock.h:
31624         * gst/gstelement.c: (gst_element_class_init),
31625         (gst_element_change_state), (gst_element_set_loop_function):
31626         * gst/gstelement.h:
31627         * gst/gstiterator.c:
31628         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
31629         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
31630         (gst_object_dispatch_properties_changed), (gst_object_set_name),
31631         (gst_object_set_parent), (gst_object_unparent),
31632         (gst_object_check_uniqueness):
31633         * gst/gstobject.h:
31634         Docs updates, clean up some headers.
31635
31636 2005-03-07  Wim Taymans  <wim@fluendo.com>
31637
31638         * check/.cvsignore:
31639         * check/Makefile.am:
31640         * check/gst-libs/.cvsignore:
31641         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
31642         * check/gst/.cvsignore:
31643         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
31644         (START_TEST), (gstbus_suite), (main):
31645         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
31646         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
31647         (gst_data_suite), (main):
31648         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
31649         (add_fold_func), (gstiterator_suite), (main):
31650         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
31651         (thread_name_object), (thread_name_object_default),
31652         (gst_object_name_compare), (gst_object_suite), (main):
31653         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
31654         (gst_pad_suite), (main):
31655         * check/gstcheck.c: (gst_check_log_message_func),
31656         (gst_check_log_critical_func), (gst_check_init):
31657         * check/gstcheck.h:
31658         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
31659         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
31660         Added checks.
31661
31662 2005-03-07  Wim Taymans  <wim@fluendo.com>
31663
31664         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
31665         (gst_list_iterator_next), (gst_list_iterator_resync),
31666         (gst_list_iterator_free), (gst_iterator_new_list),
31667         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
31668         (gst_iterator_free), (gst_iterator_push), (filter_next),
31669         (filter_resync), (filter_uninit), (filter_free),
31670         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
31671         (gst_iterator_foreach), (find_custom_fold_func),
31672         (gst_iterator_find_custom):
31673         * gst/gstiterator.h:
31674         Added missing files.
31675
31676 2005-03-07  Wim Taymans  <wim@fluendo.com>
31677
31678         * Makefile.am:
31679         * configure.ac:
31680         * docs/design/part-MT-refcounting.txt:
31681         * docs/design/part-conventions.txt:
31682         * docs/design/part-gstobject.txt:
31683         * docs/design/part-relations.txt:
31684         * examples/mixer/mixer.c: (main):
31685         * examples/thread/thread.c: (eos), (main):
31686         * gst/Makefile.am:
31687         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
31688         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
31689         (gst_spider_plug_from_srcpad):
31690         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
31691         (gst_spider_identity_change_state),
31692         (gst_spider_identity_sink_loop_type_finding):
31693         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
31694         * gst/elements/gstidentity.c: (gst_identity_init):
31695         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
31696         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
31697         * gst/elements/gsttypefindelement.c: (free_entry):
31698         * gst/gst.c:
31699         * gst/gst.h:
31700         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
31701         (gst_bin_set_clock_func), (gst_bin_auto_clock),
31702         (gst_bin_set_index), (gst_bin_set_element_sched),
31703         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
31704         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
31705         (gst_bin_iterate_elements), (iterate_child_recurse),
31706         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
31707         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
31708         (compare_interface), (gst_bin_get_by_interface),
31709         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
31710         * gst/gstbin.h:
31711         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
31712         (gst_buffer_default_free), (gst_buffer_default_copy),
31713         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
31714         (gst_buffer_create_sub):
31715         * gst/gstbuffer.h:
31716         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
31717         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
31718         (gst_caps_unref), (gst_static_caps_get),
31719         (gst_caps_remove_and_get_structure), (gst_caps_append),
31720         (gst_caps_append_structure), (gst_caps_remove_structure),
31721         (gst_caps_copy_nth), (gst_caps_set_simple),
31722         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
31723         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
31724         (gst_caps_structure_intersect_field), (gst_caps_intersect),
31725         (gst_caps_structure_subtract_field), (gst_caps_subtract),
31726         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
31727         (gst_caps_structure_figure_out_union),
31728         (gst_caps_switch_structures), (gst_caps_do_simplify),
31729         (gst_caps_replace), (gst_caps_from_string),
31730         (gst_caps_copy_conditional):
31731         * gst/gstcaps.h:
31732         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
31733         (_gst_clock_id_free), (gst_clock_id_unref),
31734         (gst_clock_id_compare_func), (gst_clock_id_wait),
31735         (gst_clock_id_wait_async), (gst_clock_class_init),
31736         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
31737         (gst_clock_get_time), (gst_clock_set_time_adjust),
31738         (gst_clock_set_property), (gst_clock_get_property):
31739         * gst/gstclock.h:
31740         * gst/gstcompat.h:
31741         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
31742         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
31743         * gst/gstdata.h:
31744         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31745         (gst_element_requires_clock), (gst_element_provides_clock),
31746         (gst_element_set_clock), (gst_element_clock_wait),
31747         (gst_element_wait), (gst_element_set_time_delay),
31748         (gst_element_is_indexable), (gst_element_add_pad),
31749         (gst_element_add_ghost_pad), (gst_element_remove_pad),
31750         (pad_compare_name), (gst_element_get_static_pad),
31751         (gst_element_request_pad), (gst_element_get_request_pad),
31752         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
31753         (gst_element_class_get_pad_template_list),
31754         (gst_element_class_get_pad_template), (gst_element_error_func),
31755         (gst_element_get_random_pad), (gst_element_get_event_masks),
31756         (gst_element_send_event), (gst_element_seek),
31757         (gst_element_get_query_types), (gst_element_query),
31758         (gst_element_get_formats), (gst_element_convert),
31759         (gst_element_is_locked_state), (gst_element_set_locked_state),
31760         (gst_element_sync_state_with_parent), (gst_element_change_state),
31761         (gst_element_finalize), (gst_element_yield),
31762         (gst_element_interrupt), (gst_element_set_scheduler),
31763         (gst_element_get_scheduler), (gst_element_set_loop_function):
31764         * gst/gstelement.h:
31765         * gst/gstevent.h:
31766         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
31767         (gst_format_get_by_nick), (gst_format_get_details),
31768         (gst_format_iterate_definitions):
31769         * gst/gstformat.h:
31770         * gst/gstindex.c: (gst_index_gtype_resolver):
31771         * gst/gstinfo.c:
31772         * gst/gstinfo.h:
31773         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
31774         (gst_mem_chunk_free):
31775         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
31776         (gst_object_ref), (gst_object_unref), (gst_object_sink),
31777         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
31778         (gst_object_dispatch_properties_changed),
31779         (gst_object_set_name_default), (gst_object_set_name),
31780         (gst_object_get_name), (gst_object_set_name_prefix),
31781         (gst_object_get_name_prefix), (gst_object_set_parent),
31782         (gst_object_get_parent), (gst_object_unparent),
31783         (gst_object_check_uniqueness), (gst_object_save_thyself),
31784         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
31785         (gst_object_set_property), (gst_object_get_property),
31786         (gst_object_get_path_string):
31787         * gst/gstobject.h:
31788         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
31789         (gst_real_pad_init), (gst_real_pad_get_property),
31790         (gst_pad_custom_new), (gst_pad_get_direction),
31791         (gst_pad_set_active), (gst_pad_is_active),
31792         (gst_pad_set_event_function), (gst_pad_is_linked),
31793         (gst_pad_link_free), (gst_pad_link_intersect),
31794         (gst_pad_link_fixate), (gst_pad_set_caps),
31795         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
31796         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
31797         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
31798         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
31799         (gst_pad_get_caps), (gst_pad_peer_get_caps),
31800         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
31801         (gst_pad_realize), (gst_pad_get_allowed_caps),
31802         (gst_real_pad_dispose), (gst_real_pad_finalize),
31803         (gst_pad_collectv), (gst_pad_collect_valist),
31804         (gst_pad_template_dispose), (gst_pad_template_new),
31805         (gst_pad_get_internal_links):
31806         * gst/gstpad.h:
31807         * gst/gstpipeline.c: (gst_pipeline_dispose),
31808         (gst_pipeline_change_state):
31809         * gst/gstpipeline.h:
31810         * gst/gstplugin.c:
31811         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
31812         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
31813         * gst/gstpluginfeature.h:
31814         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
31815         * gst/gstquery.c: (_gst_query_type_initialize),
31816         (gst_query_type_register), (gst_query_type_get_by_nick),
31817         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
31818         * gst/gstquery.h:
31819         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
31820         * gst/gstscheduler.c: (gst_scheduler_add_element),
31821         (gst_scheduler_factory_create):
31822         * gst/gststructure.c: (gst_structure_set_parent_refcount),
31823         (gst_structure_free), (gst_structure_set_name),
31824         (gst_structure_id_set_value), (gst_structure_set_value),
31825         (gst_structure_set_valist), (gst_structure_remove_field),
31826         (gst_structure_remove_fields),
31827         (gst_structure_remove_fields_valist),
31828         (gst_structure_remove_all_fields), (gst_structure_foreach),
31829         (gst_structure_map_in_place),
31830         (gst_caps_structure_fixate_field_nearest_int),
31831         (gst_caps_structure_fixate_field_nearest_double):
31832         * gst/gststructure.h:
31833         * gst/gstsystemclock.c: (gst_system_clock_class_init),
31834         (gst_system_clock_init), (gst_system_clock_dispose),
31835         (gst_system_clock_async_thread),
31836         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
31837         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
31838         * gst/gstsystemclock.h:
31839         * gst/gsttag.c: (gst_tag_list_add_value_internal),
31840         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
31841         * gst/gsttaginterface.c:
31842         * gst/gstthread.c: (gst_thread_dispose),
31843         (gst_thread_release_children_locks), (gst_thread_change_state),
31844         (gst_thread_main_loop):
31845         * gst/gsttrashstack.h:
31846         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
31847         * gst/gsttypes.h:
31848         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
31849         (gst_element_request_pad), (gst_element_get_pad_from_template),
31850         (gst_element_request_compatible_pad),
31851         (gst_element_get_compatible_pad_filtered),
31852         (gst_element_get_compatible_pad), (gst_element_state_get_name),
31853         (gst_element_link_pads_filtered), (gst_element_link_filtered),
31854         (gst_element_link_many), (gst_element_link),
31855         (gst_element_link_pads), (gst_element_unlink_pads),
31856         (gst_element_unlink_many), (gst_element_unlink),
31857         (gst_pad_can_link_filtered), (gst_pad_can_link),
31858         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
31859         (gst_object_default_error), (gst_bin_add_many),
31860         (gst_bin_remove_many), (gst_element_populate_std_props),
31861         (gst_element_class_install_std_props), (gst_buffer_merge),
31862         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
31863         (link_fold_func), (gst_pad_proxy_setcaps):
31864         * gst/gstutils.h:
31865         * gst/gstvalue.c: (gst_value_deserialize_string):
31866         * gst/parse/grammar.y:
31867         * gst/schedulers/gstbasicscheduler.c:
31868         (gst_basic_scheduler_cothreaded_chain),
31869         (gst_basic_scheduler_chain_recursive_add),
31870         (gst_basic_scheduler_pad_link):
31871         * gst/schedulers/gstoptimalscheduler.c:
31872         (get_group_schedule_function),
31873         (gst_opt_scheduler_state_transition),
31874         (gst_opt_scheduler_add_element), (element_get_reachables_func):
31875         * libs/gst/bytestream/bytestream.c:
31876         * libs/gst/dataprotocol/dataprotocol.c:
31877         (gst_dp_header_from_buffer):
31878         * po/nb.po:
31879         * po/ru.po:
31880         * tests/threadstate/threadstate2.c: (eos):
31881         * tools/gst-compprep.c: (main):
31882         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
31883         (print_pad_info), (print_children_info):
31884         * tools/gst-launch.c: (idle_func), (main):
31885         * tools/gst-md5sum.c: (idle_func), (main):
31886         * tools/gst-xmlinspect.c: (print_element_info):
31887         First THREADED backport attempt, focusing on adding locks and
31888         making sure the API is threadsafe. Needs more work. More docs
31889         follow this week.
31890
31891 2005-02-24  Andy Wingo  <wingo@pobox.com>
31892
31893         * tests/bench-complexity.scm:
31894         * tests/complexity.gnuplot: New files, good for running complexity
31895         benchmarks.
31896
31897         * tests/Makefile.am:
31898         * tests/complexity.c: New test, sets up N elements, at each level
31899         teeing into M streams per element. Eeeenteresting.
31900
31901         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
31902         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
31903         running bench-mass_elements.scm.
31904
31905         * tests/bench-mass_elements.scm: New script, runs mass_elements
31906         for various numbers of identities, outputting the results to a
31907         file. Requires guile 1.6. Just for testing.
31908
31909 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
31910
31911         * gst/schedulers/fairscheduler.c:
31912           compile with debug disabled
31913
31914 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
31915
31916         * configure.ac:
31917           hunting season on 0.9 is now OPEN