tools/gst-inspect.c: Add --plugin option. Fixes #560301.
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
2
3         * tools/gst-inspect.c: (main):
4         Add --plugin option. Fixes #560301.
5
6 2008-11-12  Wim Taymans  <wim.taymans@collabora.co.uk>
7
8         * docs/random/wtay/poll-timeout:
9         Quick braindump for a possible (not totally verified) atomic case.
10
11 2008-11-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
12
13         * gst/gstregistrybinary.c: (gst_registry_binary_write_chunk),
14         (gst_registry_binary_initialize_magic),
15         (gst_registry_binary_write_cache),
16         (gst_registry_binary_check_magic):
17         * gst/gstregistrybinary.h:
18         Don't write and check a CRC for the binary registry file. It's
19         guaranteed that the registry is completely written (it's first written
20         to a temporary file and then moved) and if the registry was corrupted
21         by some hardware failure we would have bigger problems.
22
23         Bump binary registry version to 0.10.21.1 for this as it's an
24         incompatible change and to ensure that the registry gets rebuild
25         after the update.
26
27         This saves some milliseconds for reading/writing the registry.
28         Fixes bug #560399.
29
30 2008-11-11  Wim Taymans  <wim.taymans@collabora.co.uk>
31
32         * docs/random/wtay/poll-timeout:
33         Some pseudo code for how we could implement clock timeouts with GstPoll.
34
35 2008-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
36
37         * plugins/elements/gstfilesink.c:
38           Update Author string to match others.
39
40 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
41
42         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
43         Reorganize some more, be more conservative with the GST_TYPE_ARRAY not
44         being fixed and inline the trivial check.
45
46 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
47
48         * gst/gstcaps.c: (gst_caps_copy), (_gst_caps_free),
49         (gst_caps_merge_structure), (gst_caps_get_structure),
50         (gst_caps_copy_nth), (gst_caps_set_simple),
51         (gst_caps_set_simple_valist), (gst_caps_is_fixed),
52         (gst_caps_is_equal_fixed), (gst_caps_intersect),
53         (gst_caps_subtract), (gst_caps_normalize), (gst_caps_do_simplify),
54         (gst_caps_to_string):
55         Callgrind micro optimisations.
56         Avoid array bounds checks and force inline of trivial function.
57
58         * gst/gstobject.c: (gst_object_set_name_default):
59         -1 is equivalent to letting glib to the strlen but then there is more
60         room for optimisations and it's not our fault.
61
62         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
63         no need to clear the array, we're cool.
64
65         * gst/gstvalue.c: (gst_type_is_fixed), (gst_value_is_fixed):
66         The most common _is_fixed() check is done on fundamental glib base
67         types so we check this first instead of doing a huge amount of
68         useless GST_TYPE_ARRAY calls.
69
70 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
71
72         * gst/gstevent.h:
73         Add a SKIP seek flag for use with advanced trickmodes.
74         API: GstSeekFlags::GST_SEEK_FLAG_SKIP
75
76 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
77
78         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
79         No need to memset, we can clear the value ourselves.
80
81         * gst/gstvalue.c: (gst_type_is_fixed),
82         (gst_value_get_compare_func):
83         Some optimisations from a few callgrind sessions:
84         When checking if a type is fixed, check for trivial fundamental types
85         first before checking types for which we need to get the type followed
86         by the heavy duty type checks, this reduces the amount of
87         g_type_fundamental() calls a lot.
88         When getting the compare function, first check for our registered types.
89         If that fails, do the heavy duty g_type_is_a() checks, reduces the
90         amount of g_type_is_a() considerably.
91
92 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
93
94         * docs/design/part-TODO.txt:
95         Mumble something about removing GstXML.
96
97 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
98
99         * gst/gstbin.c: (gst_bin_handle_message_func):
100         Get the seqnum before we dispose the message.
101
102 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
103
104         * docs/design/part-TODO.txt:
105         Refer to the framestepping document.
106
107 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
108
109         * gst/gstbin.c: (bin_handle_async_start),
110         (gst_bin_handle_message_func), (gst_bin_query):
111         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
112         (gst_base_sink_event), (gst_base_sink_change_state):
113         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
114         (gst_base_src_loop), (gst_base_src_change_state):
115         Copy seqnums from events to messages so that they can all be related
116         back to eachother.
117
118 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
119
120         * tools/gst-launch.c: (event_loop):
121         Print the message seqnums.
122
123 2008-11-04  Andy Wingo  <wingo@pobox.com>
124
125         * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
126
127 2008-11-04  Andy Wingo  <wingo@pobox.com>
128
129         Add sequence numbers to events and messages. See #559250.
130
131         * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
132         API: New functions.
133
134         * gst/gstevent.h:
135         * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
136         events with a new sequence number, and copy it when copying.
137         (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
138         an event's sequence number.
139
140         * gst/gstmessage.h:
141         * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
142         (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
143         so with messages.
144
145         * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
146
147 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
148
149         * docs/manual/advanced-position.xml:
150         * docs/manual/basics-bins.xml:
151         * docs/manual/basics-bus.xml:
152         * docs/manual/basics-pads.xml:
153         * docs/manual/intro-gstreamer.xml:
154         * docs/manual/intro-preface.xml:
155         Some Application Development Manual fixes thanks to
156         Andrew Feren. Fixes #558459.
157
158 2008-11-03  Stefan Kost  <ensonic@users.sf.net>
159
160         * gst/gstregistrybinary.c:
161           Don't bother with the GTimer if we don't output the results.
162
163 2008-11-03  Wim Taymans  <wim.taymans@collabora.co.uk>
164
165         Patch by: David Schleef  <ds@schleef.org>
166
167         * libs/gst/net/Makefile.am:
168         Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
169
170 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
171
172         * gst/gstregistrybinary.c:
173           Oh my, studip, stupid me. Remove double stat() call.
174
175 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
176
177         * gst/gstpreset.c:
178           Use g_unlink instead of unlink.
179
180         * gst/gststructure.c:
181           Use glib type.
182
183         * gst/gstutils.c:
184           Add a FIXME:.
185
186         * gst/gsttaglist.c:
187         * gst/gsttypefind.c:
188         * gst/gstvalue.c:
189           Formatting & whitespaces.
190
191 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
192
193         * plugins/elements/gstidentity.c:
194           Doc typo. Use return value of parent_class->event.
195   
196         * plugins/elements/gsttypefindelement.c:
197           Chain up at the end for consistency.
198   
199 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
200
201         * docs/Makefile.am:
202         * docs/gst/gstreamer-docs.sgml:
203         * docs/gst/gstreamer-sections.txt:
204         * docs/gst/running.xml:
205         * docs/libs/gstreamer-libs-docs.sgml:
206           Change to xinclude based build - its faster and easier to maintain.
207
208 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
209
210         * gst/gstregistrybinary.c:
211         * gst/gstregistryxml.c:
212           Use g_unlink() as none of these are directories.
213
214 2008-10-29  Wim Taymans  <wim.taymans@collabora.co.uk>
215
216         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
217         Some more comments.
218
219 2008-10-27  Wim Taymans  <wim.taymans@collabora.co.uk>
220
221         * libs/gst/base/gstbasetransform.c:
222         (gst_base_transform_find_transform), (gst_base_transform_getrange):
223         If we have a fixate function, call it even if we already have fixed caps
224         because the subclass might add some caps. Makes audioconvert add a
225         default channel layout.
226
227 2008-10-24  Wim Taymans  <wim.taymans@collabora.co.uk>
228
229         * libs/gst/base/gstbasetransform.c:
230         (gst_base_transform_prepare_output_buffer),
231         (gst_base_transform_getrange):
232         Clear the output buffer variable.
233         Cleanups to the error path in the getrange function.
234         Fixes #557649.
235
236 2008-10-23  Sebastian Dröge  <slomo@circular-chaos.org>
237
238         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
239         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
240         Use gst_buffer_try_new_and_alloc() and handle errors instead of
241         using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
242         be allocated.
243
244 2008-10-23  Wim Taymans  <wim.taymans@collabora.co.uk>
245
246         * gst/gstsegment.c: (gst_segment_set_newsegment_full):
247         Set the last_stop to a more meaningful position when configuring the
248         segment. ie. the start/stop of the segment or clipped against the
249         updated segment boundaries.
250
251         * tests/check/gst/gstsegment.c: (GST_START_TEST):
252         Add some unit tests for the last_stop.
253
254 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
255
256         * libs/gst/base/gstbytereader.c:
257         Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
258         copies of them.
259
260 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
261
262         * docs/gst/gstreamer-sections.txt:
263         * gst/gstutils.h:
264         API: Move float endianness conversion macros from libgstfloatcast
265         to core as it's useful in general, even in core. Fixes bug #555196.
266         This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
267         GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
268         GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
269
270         Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
271         GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
272         GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
273         GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
274
275 2008-10-22  Sebastian Dröge  <slomo@circular-chaos.org>
276
277         * docs/libs/gstreamer-libs-sections.txt:
278         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
279         (gst_byte_reader_peek_data):
280         * libs/gst/base/gstbytereader.h:
281         * win32/common/libgstbase.def:
282         API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
283         to get a pointer to the data at the current position and have
284         a guaranteed size.
285
286 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
287
288         * configure.ac:
289         Fix a bug in the output of the configure script summary
290         when --gst-disable-registry is supplied
291
292 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
293
294         * libs/gst/base/gstbitreader.c:
295         * libs/gst/base/gstbytereader.c:
296         Fix the names of 2 functions in the docs strings.
297
298 2008-10-21  Wim Taymans  <wim.taymans@collabora.co.uk>
299
300         * libs/gst/base/gstbasetransform.c:
301         (gst_base_transform_prepare_output_buffer),
302         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
303         Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
304         refcount problems as seen in banshee and maybe also in farsight2.
305         Remove atomic int now that we need to take the lock anyways.
306
307 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
308
309         * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
310         (gst_base_sink_default_prepare_seek_segment),
311         (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
312         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
313         (gst_base_sink_query):
314         Implement more seeking in pull mode.
315         Use pad convert functions to convert position to the requested format.
316         Fix position/duration reporting in pull mode.
317         Implement position and duration reporting in other formats than time.
318
319         * libs/gst/base/gstbasesink.h:
320         Add member to keep track of when the segment is playing.
321
322 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
323
324         * gst/gstpad.c: (gst_pad_configure_src):
325         When we use gst_pad_alloc_buffer() without wanting to set the caps we
326         also don't need to check if the caps are compatible because the caller
327         presumably is going to perform its own custom checks. Fixes some cases
328         where basetransform elements would error out when it was not needed.
329
330 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
331
332         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
333         Update comment.
334
335         * libs/gst/base/gstbasetransform.c:
336         (gst_base_transform_handle_buffer),
337         (gst_base_transform_reconfigure):
338         Add some debug info.
339
340         * win32/common/libgstbase.def:
341         Add new method.
342
343 2008-10-19  Stefan Kost  <ensonic@users.sf.net>
344
345         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
346           Remove duplicated assignment and log a message in failure case.
347
348 2008-10-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
349
350         Patch by: Dig Ge <dig.ge.cn at gmail com>
351
352         * tests/examples/helloworld/helloworld.c: (main):
353           Fix copy'n'paste bug in hello world example (#556900).
354
355 2008-10-17  Wim Taymans  <wim.taymans@collabora.co.uk>
356
357         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
358         (gst_base_sink_query):
359         Query the total number of bytes when activating the pad in pull mode.
360         Implement duration query in pull mode by using the installed pad convert
361         function to convert from bytes to the requested format.
362
363 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
364
365         * docs/libs/gstreamer-libs-sections.txt:
366         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
367         (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
368         (gst_base_sink_event), (gst_base_sink_perform_seek),
369         (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
370         (gst_base_sink_send_event), (gst_base_sink_change_state):
371         * libs/gst/base/gstbasesink.h:
372         Add method to commit the state in subclasses.
373         Refactor the flush_start and flush_stop code because we need it for
374         flushing while seeking too.
375         Implement the beginnings of seeking in pull mode.
376         Use the segment last_stop field for the pulling offset.
377         Fix the pause method in pull mode.
378         Configure the segment to BYTES for pull mode.
379         API: GstBaseSink::gst_base_sink_do_preroll()
380
381 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
382
383         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
384         Update some docs.
385
386 2008-10-14  Tim-Philipp Müller  <tim.muller at collabora co uk>
387
388         * gst/gstquark.c: (_priv_gst_quarks_initialize):
389           Fix printf format warning.
390
391 2008-10-14  Sebastian Dröge  <slomo@circular-chaos.org>
392
393         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
394         Fix flow aggregation of tee. Error out immediately for all flow returns
395         except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
396         and return OK if at least one pad is linked.
397
398         Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
399         and otherwise returned the flow return of the last pad, which is wrong.
400         
401         * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
402         (GST_START_TEST), (tee_suite):
403         Add unit tests for the flow aggregation.
404
405 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
406
407         * docs/design/part-TODO.txt:
408         Remove item from the todo list because it was fixed with the latency
409         state change rewrites.
410
411         * docs/design/part-seeking.txt:
412         * docs/design/part-segments.txt:
413         Update some docs.
414
415         * gst/gstevent.c: (gst_event_new_new_segment_full),
416         (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
417         (gst_event_parse_buffer_size), (gst_event_new_qos),
418         (gst_event_parse_qos), (gst_event_new_seek),
419         (gst_event_parse_seek), (gst_event_new_latency),
420         (gst_event_parse_latency):
421         Use quarks to construct and parse events.
422
423         * gst/gstquark.c: (_priv_gst_quarks_initialize):
424         * gst/gstquark.h:
425         Add some more quarks to the table.
426         Emit a warning when the quark tables are not in sync.
427
428         * tests/check/gst/gstbus.c: (GST_START_TEST):
429         Add an assert.
430
431 2008-10-13  Stefan Kost  <ensonic@users.sf.net>
432
433         * plugins/elements/Makefile.am:
434         * plugins/indexers/Makefile.am:
435           Don't install static libs for plugins. Fixes #550851 for core.
436
437 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
438
439         * gst/gstbus.c: (gst_bus_source_finalize),
440         (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
441         (gst_bus_enable_sync_message_emission),
442         (gst_bus_disable_sync_message_emission),
443         (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
444         Fix deadlock, g_source_get_id() cannot be called in finalize.
445         Keep track of the watch source by keeping a pointer to the source object
446         instead.
447         Use the bus lock to protect access to the pointer to the current
448         watch source.
449
450 2008-10-13  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
451
452         Base on Patch by: Olivier Crete <tester at tester dot ca>
453
454         * gst/gstbus.c: (gst_bus_source_finalize),
455         (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
456         Only allow one bus watch to be set at a time. This is necessary
457         because the dispatcher pops the message from the bus and the second
458         watcher will then get NULL or the next message (and the first won't
459         get this next message then, etc). If more than one "watcher" is
460         required signal watches should be used. Fixes bug #526044.
461
462 2008-10-12  Jan Schmidt  <jan.schmidt@sun.com>
463
464         * tools/gst-launch.c:
465         Change the printing of the 'buffering...' output to avoid putting
466         a \r in a translateable string (flagged by the TP).
467
468 2008-10-10  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
469
470         * gst/gstxml.c:
471         Clarify that the save_thyself() and restore_thyself() virtual
472         functions of GstObject need to be overriden, not
473         gst_object_(save|restore)_thyself() which is impossible.
474         Fixes bug #555700.
475
476 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
477
478         * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
479         Revert a patch from 21 months ago that broke caps negotiation in pull
480         mode. Basically, having a buffer pass over a pad will trigger the
481         setcaps function when caps change, just like in push mode.
482
483 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
484
485         * docs/design/part-negotiation.txt:
486         Update the docs some more.
487
488         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
489         If we pull a buffer with non-trivial caps, suggest those caps with the
490         max probability.
491
492 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
493
494         * docs/design/part-TODO.txt:
495         Add another limitation of pad-blocking with segment seeks not pushing
496         EOS events.
497
498 2008-10-10  Jan Schmidt  <jan.schmidt@sun.com>
499
500         * win32/common/libgstbase.def:
501         * win32/common/libgstreamer.def:
502         Add new symbols to the win32 defs files
503
504 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
505
506         * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
507         (gst_bin_handle_message_func):
508         The message src can be NULL, don't try to print the object names in that
509         case.
510
511         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
512         Add some more debug info.
513
514         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
515         (GST_START_TEST):
516         Add some debug.
517         Fix the test, pull based sinks go ASYNC to PAUSED, just like other
518         scheduling modes.
519
520 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
521
522         * docs/design/part-negotiation.txt:
523         Small doc update.
524
525         * docs/libs/gstreamer-libs-sections.txt:
526         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
527         (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
528         (gst_base_sink_init), (gst_base_sink_set_blocksize),
529         (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
530         (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
531         (gst_base_sink_loop), (gst_base_sink_pad_activate),
532         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
533         (gst_base_sink_change_state):
534         * libs/gst/base/gstbasesink.h:
535         Add blocksize property and methods to control the amount of data
536         to pull.
537         Negotiate first before activating upstream in pull mode so that they can
538         negotiate themselves.
539         When we operate in pull mode, we only accept the caps that we
540         negotiated.
541         Make the sink go ASYNC to PAUSED, like all other sinks.
542         API: GstBaseSink::gst_base_sink_set_blocksize()
543         API: GstBaseSink::gst_base_sink_get_blocksize()
544         API: GstBaseSink::blocksize
545
546         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
547         (gst_base_src_set_live), (gst_base_src_is_live),
548         (gst_base_src_set_format), (gst_base_src_query_latency),
549         (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
550         (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
551         (gst_base_src_set_property), (gst_base_src_get_property):
552         * libs/gst/base/gstbasesrc.h:
553         Add typechecking in public API functions.
554         Add methods to control the blocksize in subclasses.
555         API: GstBaseSrc::gst_base_src_set_blocksize()
556         API: GstBaseSrc::gst_base_src_get_blocksize()
557
558 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
559
560         * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
561         (buffer_probe), (event_probe), (GST_START_TEST):
562         We now see 3 events go through our pad, since basesink now sends
563         upstream latency events.
564
565 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
566
567         * gst/gstpipeline.c: (gst_pipeline_change_state):
568         Release the object lock before trying to flush the bus.
569
570 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
571
572         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
573         Forward LATENCY events upstreams so that elements know about the total
574         pipeline latency. Fixes #555307.
575
576 2008-10-08  Jan Schmidt  <jan.schmidt@sun.com>
577
578         * plugins/elements/gstqueue.c:
579         Allow through queries when we don't know how
580         to adjust them (not TIME or BYTES), as otherwise it's
581         not possible to query the current position in order
582         to seek in other formats at all.
583
584 2008-10-08  Andy Wingo  <wingo@pobox.com>
585
586         * docs/gst/gstreamer-sections.txt: Placate doc pendants.
587
588 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
589
590         * gst/gstghostpad.c:
591         * gst/gstghostpad.h:
592         Unbreak -good build, private is a reserved c++ keyword.
593
594 2008-10-08  Andy Wingo  <wingo@pobox.com>
595
596         * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
597         * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
598         removal: re-add GST_GHOST_PAD_CAST to the header.
599
600         * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
601         (GstGhostPadClass): Publically expose these structures so as to
602         allow easy subclassing from C. Hide the member data behind a
603         private opaque data pointer.
604
605         * gst/gstghostpad.c: Adapt to store instance data in the type
606         instance's private data region, not in the public struct.
607
608 2008-10-08  Andy Wingo  <wingo@pobox.com>
609
610         * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
611         template via g_object_get(), be sure to unref it.
612
613         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
614
615 2008-10-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
616
617         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
618         If we can't get a cache file don't try to save something to it.
619         Dereferencing NULL pointers usually isn't a good idea.
620
621 2008-10-07  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
622
623         * tests/check/Makefile.am:
624         * tests/check/gst/gstabi.c:
625         * tests/check/gst/struct_sparc.h:
626         * tests/check/libs/libsabi.c:
627         * tests/check/libs/struct_sparc.h:
628         Add Sparc ABI checks
629
630         * tests/check/gst/gstvalue.c: (GST_START_TEST):
631         Cast signed integer to unsigned to avoid a compiler warning.
632
633 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
634
635         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
636         (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
637         (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
638         (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
639         (gst_byte_reader_peek_int24_be):
640         Use new GST_READ_UINT24_(LE|BE) macros.
641
642 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
643
644         * docs/gst/gstreamer-sections.txt:
645         * gst/gstutils.h:
646         Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
647         as it's too easy to break the ISO C strict aliasing rules with simple
648         casts to the corresponding type and this would introduce hard to debug
649         bugs. Fixes bug #545714.
650
651         API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
652
653 2008-10-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
654
655         * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
656         * gst/gstghostpad.c: (gst_ghost_pad_construct):
657           Add 'Since' bits to gtk-doc chunks for new API.
658
659 2008-10-06  Thijs Vermeir  <thijsvermeir@gmail.com>
660
661         * docs/gst/gstreamer-sections.txt:
662         Fix documentation
663
664 2008-10-06  Andy Wingo  <wingo@pobox.com>
665
666         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
667         that will be called on the malloc_data to free it. Basically a way
668         to avoid subclassing when all you need is a different free
669         function, i.e. free() instead of g_free().
670
671         * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
672         calling the free function.
673         (gst_buffer_init): Initialize the free function to g_free.
674
675 2008-10-06  Andy Wingo  <wingo@pobox.com>
676
677         * gst/gstghostpad.h:
678         * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
679         finishes the initialization of ghost pad. Useful for language
680         bindings and subclassers of GstGhostPad. Fixes #539108.
681         (gst_ghost_pad_new_full): Use the new constructor.
682
683 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
684
685         Base on Patch by: Olivier Crete <tester at tester dot ca>
686
687         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
688         (gst_bin_remove_func), (update_degree),
689         (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
690         Keep track of pads that are being linked/unlinked and resync the state
691         changes.
692
693         * gst/gstpad.c: (gst_pad_get_direction),
694         (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
695         (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
696         (gst_pad_link_prepare), (gst_pad_link),
697         (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
698         (gst_pad_check_pull_range), (gst_pad_get_range),
699         (gst_pad_pull_range):
700         Some code cleanups, use macros to check pad direction.
701         Don't need to take the lock on the pad direction.
702         Post structure change when pads are linked/unlinked.
703         Change some checks into _return_if_fail().
704
705         * tests/check/gst/gstbin.c:
706         (test_link_structure_change_state_changed_sync_cb),
707         (GST_START_TEST), (gst_bin_suite):
708         Add testcase for pad link/unlinke resync during a state change.
709         Fixes #510354.
710
711 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
712
713         * docs/gst/gstreamer-sections.txt:
714         * gst/gstmessage.c: (gst_message_new_structure_change),
715         (gst_message_parse_structure_change):
716         * gst/gstmessage.h:
717         Implement STRUCTURE_CHANGED messages. These messages will be used to
718         signal the parent bin of link/unlink operations that could require a
719         resync when doing a state change. See ##510354.
720         API: gst_message_new_structure_change()
721         API: gst_message_parse_structure_change()
722
723 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
724
725         * gst/gstquark.c:
726         * gst/gstquark.h:
727         Add some more quarks for new message. See #510354.
728
729 2008-10-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
730
731         * docs/libs/gstreamer-libs-docs.sgml:
732         * docs/libs/gstreamer-libs-sections.txt:
733         * libs/gst/base/Makefile.am:
734         * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
735         (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
736         (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
737         (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
738         (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
739         (gst_bit_reader_skip_to_byte):
740         * libs/gst/base/gstbitreader.h:
741         * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
742         (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
743         (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
744         (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
745         (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
746         (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
747         (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
748         (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
749         (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
750         (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
751         (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
752         (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
753         * libs/gst/base/gstbytereader.h:
754         * tests/check/Makefile.am:
755         * tests/check/libs/bitreader.c: (GST_START_TEST),
756         (gst_bit_reader_suite):
757         * tests/check/libs/bytereader.c: (GST_START_TEST),
758         (gst_byte_reader_suite):
759         API: Add bit reader and byte reader classes, including documentation
760         and an extensive unit test suite. Fixes bug #553554.
761
762 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
763
764         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
765         (gst_base_sink_query):
766         Improve position reporting while flushing and other intermediate state
767         changes. Fixes #553874.
768
769 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
770
771         Patch by: Antoine Tremblay <hexa00 at gmail dot com>
772
773         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
774         Original patch by : Simon Descaries
775         Fix small refount leak in caps compatibility check.
776         Fixes #551676.
777
778 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
779
780         * docs/pwg/advanced-request.xml:
781           Fix 0.8 api usage in example. Fixes #554561
782
783         * docs/pwg/appendix-porting.xml:
784           Change 0.9 to 0.10 here.
785
786 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
787
788         * docs/manual/basics-data.xml:
789           Change "event-event interaction" to "element-element interaction".
790           Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
791           updates.
792
793 2008-10-05  Jan Schmidt  <jan.schmidt@sun.com>
794
795         * configure.ac:
796         Back to development -> 0.10.21.1
797
798 === release 0.10.21 ===
799
800 2008-10-02  Jan Schmidt <jan.schmidt@sun.com>
801
802         * configure.ac:
803           releasing 0.10.21, "Take These Things From Me"
804
805 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
806
807         * configure.ac:
808         0.10.20.4 pre-release
809
810 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
811
812         * libs/gst/base/gstbasetransform.c:
813         * plugins/elements/gstcapsfilter.c:
814         * tests/check/Makefile.am:
815         * tests/check/elements/.cvsignore:
816         * tests/check/elements/capsfilter.c:
817         Fix assertion in basetransform when the subclass chooses not to
818         allocate a buffer in prepare_buffer(), and make capsfilter error out
819         cleanly if requested to apply caps that don't completely specify the
820         buffer. Fixes #551509
821
822 2008-09-24  Wim Taymans  <wim.taymans@collabora.co.uk>
823
824         * libs/gst/base/gstbasetransform.c:
825         (gst_base_transform_prepare_output_buffer):
826         Take new caps ref because our old one might have been gone when the
827         subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
828
829 2008-09-15  Stefan Kost  <ensonic@users.sf.net>
830
831         * configure.ac:
832           Do not probe availability of check unit test library when cross
833           compiling, as test would not work anyway. Also cleanup verbose output
834           of the check test. Fixes #551952.
835
836 2008-09-14  Wim Taymans  <wim.taymans@collabora.co.uk>
837
838         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
839
840         * gst/gstelement.c: (gst_element_sync_state_with_parent):
841         Avoid leaking the parent ref when we fail changing the state of the
842         element using gst_element_sync_state_with_parent(). Fixes #551978.
843
844 2008-09-11  Tim-Philipp Müller  <tim.muller at collabora co uk>
845
846         * docs/manual/intro-motivation.xml::
847           Remove some bits that no longer apply, update others (#551642).
848
849 2008-09-10  Jan Schmidt  <jan.schmidt@sun.com>
850
851         * configure.ac:
852         0.10.20.2 pre-release
853
854         * po/LINGUAS:
855         * po/id.po:
856         * po/pt_BR.po:
857
858         New translations.
859
860 2008-09-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
861
862         * win32/common/config.h.in:
863           Add GST_DATADIR, hard-code cpu to x86.
864
865         * win32/common/libgstreamer.def:
866           Spaces to tabs.
867
868 2008-09-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
869
870         * gst/gsttaglist.h:
871           Fix Since: markers for new geo tags.
872
873 2008-09-02  Stefan Kost  <ensonic@users.sf.net>
874
875         * gst/gsttaglist.h:
876           Fix actual tag name define after renaming from altitude to elevation.
877
878 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
879
880         * gst/gstpad.c: (add_unref_pad_to_list),
881         (gst_pad_get_internal_links_default):
882         Add fallback when calling the deprecated function on an element that
883         implements the new internal_link handler.
884
885 2008-09-01  Stefan Kost  <ensonic@users.sf.net>
886
887         * docs/gst/gstreamer-sections.txt:
888         * gst/gsttaglist.c:
889         * gst/gsttaglist.h:
890           Add new tags for geo location and clarify purpose of existing location
891           tag. Fixes #481169
892
893 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
894
895         Patch by: Olivier Crete <tester at tester dot ca>
896
897         * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
898         (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
899         Use thread-safe internal links iterator. Fixes #549504.
900
901 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
902
903         Based on patch by: Olivier Crete <tester at tester dot ca>
904
905         * docs/gst/gstreamer-sections.txt:
906         * win32/common/libgstreamer.def:
907         * gst/gstpad.c: (gst_pad_init),
908         (gst_pad_set_iterate_internal_links_function),
909         (int_link_iter_data_free), (iterate_pad),
910         (gst_pad_iterate_internal_links_default),
911         (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
912         * gst/gstpad.h:
913         Add threadsafe replacement functions for getting internal links of an
914         element. Deprecate the old internal links functions.
915         API:GstPad::gst_pad_set_iterate_internal_links_function()
916         API:GstPad::GstPadIterIntLinkFunction
917         API:GstPad::gst_pad_iterate_internal_links()
918         API:GstPad::gst_pad_iterate_internal_links_default()
919
920         * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
921         (gst_proxy_pad_init):
922         Implement threadsafe internal links.
923
924         * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
925         Unit test for internal links on tee. See #549504.
926
927 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
928
929         * tests/check/Makefile.am:
930         libs/transform1 test requires libs/test_transform.c
931
932 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
933
934         * gst/gstpad.c: (gst_pad_get_internal_links_default):
935         Die evil deadlock, die !
936
937 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
938
939         * gst/gstutils.c: (gst_element_get_compatible_pad):
940         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
941         * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
942         Fix all leaks due to the bug in gst_pad_template_new() by which it does
943         not steal the refcount of the given caps as stated.
944
945         REVERT THIS COMMIT ONCE FIXED !
946         REVERT THIS COMMIT ONCE FIXED !
947         REVERT THIS COMMIT ONCE FIXED !
948         REVERT THIS COMMIT ONCE FIXED !
949         REVERT THIS COMMIT ONCE FIXED !
950         REVERT THIS COMMIT ONCE FIXED !
951
952 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
953
954         * gst/gstiterator.c:
955         * gst/gstiterator.h:
956         After 3 years it's about time to revise the documentation of the
957         iterator objects.
958
959 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
960
961         * gst/gstpad.c: (gst_pad_get_internal_links_default):
962         Make the internal links function less thread-unsafe and add some
963         comments, dunno why.
964
965 2008-08-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
966
967         * gst/gst_private.h:
968           Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
969           build with --disable-gst-debug.
970
971 2008-08-28  David Schleef  <ds@schleef.org>
972
973         * gst/gstpadtemplate.c: Revert last change, since it breaks
974           a few plugins, ffmpeg, alaw, and mulaw.  Code is correct,
975           but shouldn't be enabled until we've released fixed versions
976           of -good and -ffmpeg.
977
978 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
979
980         * gst/gstobject.c:
981           Put the gst_object_get_name() back in.
982
983 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
984
985         * gst/gstpadtemplate.c:
986           The old behaviour was that gst_pad_template_new() takes ownership of
987           the caps. As we now call g_object_new() which calls g_object_set() and
988           which copies the caps, we have to unref them to not leak them. Fixes
989           make valgrid for me.
990
991 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
992
993         * gst/gsturi.c:
994           Don't segfault on input like "tel:+1-123-555-1234".
995
996 2008-08-27  Stefan Kost  <ensonic@users.sf.net>
997
998         * gst/gstobject.c:
999           Due to popular request also include ObjectType in
1000           gst_object_get_path_string(). Makes gst-launch -v bit more useful.
1001
1002 2008-08-26  David Schleef  <ds@schleef.org>
1003
1004         * gst/gstutils.c: Remove check in gst_pad_query_convert() that
1005           src_val must be positive, because that's not a requirement.
1006           This causes problems with converting negative granulepos
1007           values for Dirac.
1008         * gst/gstquery.c: Same, gst_query_new_convert().
1009
1010 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1011
1012         * gst/gstclock.c: (gst_clock_add_observation):
1013         Add some more debugging to the clock slaving code.
1014
1015         * win32/common/libgstbase.def:
1016         Add new basetransform method.
1017
1018 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1019
1020         * gst/gstbin.c: (gst_bin_element_set_state):
1021         Take the (recursive) state lock between getting the locked state of an
1022         element and changing the element state. This allows the application to
1023         lock an element's state and then change its state without races.
1024
1025 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1026
1027         * gst/gstbin.c: (gst_bin_element_set_state):
1028         When an element is in the locked state we still want to update the
1029         base_time of the element.
1030
1031 2008-08-21  Wim Taymans  <wim.taymans@collabora.co.uk>
1032
1033         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
1034         Use the result from gst_pad_set_caps() instead of assuming the element
1035         always accepted the caps computed by the default negotiate function.
1036
1037 2008-08-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1038
1039         * docs/libs/gstreamer-libs-sections.txt:
1040         * libs/gst/base/gstbasetransform.c:
1041         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1042         (gst_base_transform_chain), (gst_base_transform_suggest),
1043         (gst_base_transform_reconfigure):
1044         * libs/gst/base/gstbasetransform.h:
1045         Implement method for reconfiguring basetransform.
1046         API: GstBaseTransform::gst_base_transform_reconfigure()
1047
1048 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1049
1050         patch by: Murray Cumming <murrayc@murrayc.com>
1051
1052         * gst/gstutils.c:
1053           Mention that this is just like gst_buffer_merge() but with extra
1054           unreffing for C coders. Advise language bindings not to wrap it.
1055           Fixes Bug #533856.
1056           
1057           Also fix file comment.
1058
1059 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
1060
1061         reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
1062
1063         * plugins/elements/gstfakesink.c:
1064         * plugins/elements/gstfakesrc.c:
1065           Call super::event() when not handling it. Fixes #544855.
1066
1067 2008-08-19  Michael Smith <msmith@songbirdnest.com>
1068
1069         Patch by: Alessandro Decina <alessandro@nnva.org>
1070         * plugins/elements/gstfilesrc.c:
1071           Use 64 bit variants of stat functions on win32, to enable support
1072           of large files there.
1073           Fixes #547277.
1074
1075 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1076
1077         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
1078         (gst_base_sink_event), (gst_base_sink_chain_unlocked),
1079         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1080         (gst_base_sink_get_position), (gst_base_sink_change_state):
1081         Improve position reporting in the flushing state.
1082         Also report the position when we are not yet prerolled but we
1083         have a newsegment event. Fixes #543444.
1084         Improve the pull-based negotiation code.
1085
1086         * tests/check/elements/fakesink.c: (GST_START_TEST),
1087         (fakesink_suite):
1088         Add testcase for position reporting while flushing in PAUSED and
1089         PLAYING.
1090
1091         * tests/check/generic/sinks.c: (GST_START_TEST):
1092         Update unit-test, we can now query the position as soon as we receive a
1093         NEWSEGMENT event.
1094
1095 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1096
1097         Based on patch by: Jason Zhao <e3423c at motorola dot com>
1098
1099         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
1100         When the subclass event handler releases the PREROLL_LOCK, we could be
1101         in the flushing state and we have to ignore the event. Fixes #548394.
1102
1103 2008-08-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1104
1105         * tools/gst-launch.1.in:
1106           Document GST_REGISTRY_UPDATE environment variable.
1107
1108 2008-08-18  Wim Taymans  <wim.taymans@collabora.co.uk>
1109
1110         * libs/gst/base/gstbasetransform.c:
1111         (gst_base_transform_prepare_output_buffer):
1112         If the element is configured in passthrough mode but the
1113         prepare_output_buffer gave us a new output buffer, discard that buffer
1114         and reuse the input buffer.
1115
1116 2008-08-15  Wim Taymans  <wim.taymans@collabora.co.uk>
1117
1118         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1119
1120         * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
1121         (gst_tee_request_new_pad), (gst_tee_release_pad),
1122         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
1123         * plugins/elements/gsttee.h:
1124         Protect pad_alloc with a new lock so that we can be sure that nothing is
1125         performing a pad_alloc when removing the pad. Fixes #547835.
1126
1127         * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
1128         (buffer_alloc_harness_teardown), (app_thread_func),
1129         (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
1130         Added testcase for shutdown race.
1131
1132 2008-08-14  Thijs Vermeir  <thijsvermeir@gmail.com>
1133
1134         * gst/gstpad.h:
1135         Add doc
1136
1137 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1138
1139         * libs/gst/base/gstbasetransform.c:
1140         (gst_base_transform_prepare_output_buffer),
1141         (gst_base_transform_buffer_alloc):
1142         Go over the buffer_alloc function again and make sure we always end up
1143         allocating a buffer.
1144         Add some more docs.
1145         Avoid doing pad alloc when we have a pending suggestion because we
1146         cannot yet deal with changing caps in that case. Fixes #547728
1147
1148 2008-08-14  Stefan Kost  <ensonic@users.sf.net>
1149
1150         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1151
1152         * docs/manual/advanced-clocks.xml:
1153         * docs/manual/clocks.png:
1154         * docs/manual/diagrams-clocks.svg:
1155           Add one more image showing different times together with a describing
1156           paragraph. Fixes #547729.
1157
1158 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1159
1160         * win32/common/libgstbase.def:
1161         Add new method.
1162
1163 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1164
1165         * libs/gst/base/gstbasetransform.c:
1166         (gst_base_transform_transform_caps),
1167         (gst_base_transform_prepare_output_buffer),
1168         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
1169         Don't overwrite the outsize when calculating the expected size of a new
1170         buffer because we still need it in case we cannot process the new
1171         buffer.
1172         When converting the size of the new buffer to an upstream size, actually
1173         use the expected size of the buffer, not some other random value.
1174         Use an atomic int to signal that a new upstream caps suggestion is
1175         available.
1176         When we can convert the current buffer to a new format, check if the
1177         buffer size is of the expected size and allocate a new buffer of the
1178         expected size when this is not the case. Fixes #546883.
1179
1180         * tests/check/libs/transform1.c: (GST_START_TEST):
1181         remove ifdeffed code from the unit test.
1182
1183 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1184
1185         * pkgconfig/gstreamer-uninstalled.pc.in:
1186         * pkgconfig/gstreamer.pc.in:
1187           Remove -lgstcontrol-0.10 which never worked anyway as the lib is
1188           called gstcontroller-0.10.
1189
1190 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1191
1192         * gst/gstchildproxy.h:
1193         * gst/gstpreset.h:
1194           Remove double interface from doc-string.        
1195
1196 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1197
1198         * libs/gst/base/gstbasesrc.c:
1199         * libs/gst/base/gstbasetransform.c:
1200           Fix headings in docs and gtk-doc warnings.
1201
1202 2008-08-11  Michael Smith <msmith@songbirdnest.com>
1203
1204         * gst/gstregistrybinary.c:
1205           Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
1206           libc.
1207           Fixes #544776.
1208
1209 2008-08-11  Edward Hervey  <edward.hervey@collabora.co.uk>
1210
1211         * libs/gst/base/gstbasetransform.c:
1212         (gst_base_transform_buffer_alloc):
1213         Fix a "may be used unitialized" warning.
1214
1215 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1216
1217         * docs/gst/gstreamer-sections.txt:
1218         * gst/gstpreset.h:
1219           Document preset-iface vmethods.
1220
1221 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1222
1223         * docs/manual/advanced-interfaces.xml:
1224           Turn thoughts about HAL into a note-tag. Remove mentioning that is
1225           only used to discover devices.
1226
1227 2008-08-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
1228
1229         Patch by: Frederic Crozat <fcrozat@mandriva.org>
1230
1231         * gst/gst.c: (init_pre):
1232         Make sure gettext returns translations in UTF-8 encoding rather
1233         than in the current locale encoding (#546822).
1234
1235 2008-08-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1236
1237         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1238         Fix subset test.
1239
1240         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1241         Improve unit test subset tests and add a testcase for the subset failure
1242         cases.
1243
1244         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1245         Improve subtraction unit test.
1246
1247 2008-08-07  Stefan Kost  <ensonic@users.sf.net>
1248
1249         * plugins/elements/gsttee.c:
1250           Unlock, instead of locking again.
1251
1252 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1253
1254         * gst/gstpad.h:
1255         Clarify the docs a bit more.
1256
1257 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1258
1259         * tests/examples/metadata/read-metadata.c:
1260           Don't leak old taglist.
1261
1262 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1263
1264         Patch by: Olivier Crete <tester at tester dot ca>
1265
1266         * gst/gststructure.c:
1267         (gst_structure_fixate_field_nearest_fraction):
1268         Avoid overflows in fixation code when dealing with MAXINT values, which
1269         v4l2src seems to do.
1270         Fixes #546328.
1271
1272         * tests/check/gst/gststructure.c: (GST_START_TEST):
1273         Make a unit test to check the fix. 
1274
1275 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1276
1277         * plugins/elements/gstcapsfilter.c: (copy_func),
1278         (gst_capsfilter_set_property):
1279         Use new caps suggestion feature of basetransform to request a caps
1280         negotiation upstream.
1281
1282 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1283
1284         * docs/libs/gstreamer-libs-sections.txt:
1285         Add new function:
1286         API: GstBaseTransform::gst_base_transform_suggest()
1287
1288         * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1289         (gst_base_transform_init), (gst_base_transform_transform_caps),
1290         (gst_base_transform_transform_size),
1291         (gst_base_transform_configure_caps),
1292         (gst_base_transform_can_transform),
1293         (gst_base_transform_find_transform), (gst_base_transform_setcaps),
1294         (gst_base_transform_prepare_output_buffer),
1295         (gst_base_transform_buffer_alloc),
1296         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1297         (gst_base_transform_chain), (gst_base_transform_activate),
1298         (gst_base_transform_set_passthrough),
1299         (gst_base_transform_is_passthrough),
1300         (gst_base_transform_set_in_place),
1301         (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
1302         (gst_base_transform_set_qos_enabled),
1303         (gst_base_transform_is_qos_enabled),
1304         (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
1305         (gst_base_transform_reconfigure):
1306         * libs/gst/base/gstbasetransform.h:
1307         Rewrite of basetransform to perform negotiation outside of the
1308         buffer_alloc functions.  Fixes #545853.
1309
1310         * tests/check/libs/transform1.c: (GST_START_TEST),
1311         (buffer_alloc_ct2):
1312         Update unit test.
1313
1314 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1315
1316         * tests/check/gst/gstpreset.c:
1317           Only run preset tests when $HOME is writable. Preliminary fix for
1318           #545433.
1319
1320 2008-08-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1321
1322         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1323         (gst_bin_change_state_func), (bin_handle_async_done),
1324         (gst_bin_handle_message_func):
1325         Fix race for bins that simulate ASYNC state changes by inserting
1326         ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
1327         pending ASYNC messages even when the bin does not have ASYNC children.
1328         We note detect this behaviour because we will receive an ASYNC message
1329         that is originating from the bin itself. 
1330         Fixes races with decodebin2 state changes.
1331
1332         * tests/check/gst/gstbin.c: (GST_START_TEST):
1333         Add some more debug.
1334
1335 2008-08-04  Tim-Philipp Müller  <tim.muller at collabora co uk>
1336
1337         * gst/gsttaglist.c: (_gst_tag_initialize):
1338           Fix typo.
1339
1340 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1341
1342         * gst/gsttaglist.c:
1343           Argh. actually save the text before committing. Now adds
1344           gst_tag_merge_strings_with_comma() to gst_tag_register().
1345
1346 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1347
1348         * gst/gsttaglist.c:
1349         * gst/gsttaglist.h:
1350           Do as tim pointed out and actually register the new tag. Also improve
1351           te docs and use gst_tag_merge_strings_with_comma() method to allow
1352           retriving all keywords merged in one list.
1353
1354 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1355
1356         * configure.ac:
1357         * docs/gst/gstreamer.types:
1358           Revert 'accidential' change of the configure option removal. We still
1359           need to generate the types file in configure --disable-load-save.
1360
1361 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1362
1363         * docs/gst/gstreamer-sections.txt:
1364         * gst/gsttaglist.h:
1365           Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
1366
1367 2008-08-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1368
1369         * gst/gstpadtemplate.c:
1370           (gst_pad_template_class_init), (gst_static_pad_template_get),
1371           (gst_pad_template_new), (gst_pad_template_pad_created),
1372           (gst_pad_template_set_property), (gst_pad_template_get_property):
1373           Add "name-template", "direction", "presence" and "caps" properties,
1374           so that gst_pad_template_new() is just a thin wrapper around
1375           g_object_new(), which is better for bindings. (Fixes: #539772)
1376
1377 2008-07-31  Michael Smith <msmith@songbirdnest.com>
1378
1379         * gst/gsturi.c:
1380           Be more liberal in what URIs we accept.
1381           Do not unescape bits of the URI for no apparent reason before passing to
1382           the element. Fixes #545352.
1383
1384 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1385
1386         Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
1387
1388         * gst/gst.c:
1389         Include gstconfig.h as macros from it are used. Fixes bug #545607.
1390
1391 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1392
1393         * configure.ac:
1394         * docs/gst/gstreamer-sections.txt:
1395         * docs/gst/gstreamer.types:
1396         * docs/gst/gstreamer.types.in:
1397         * gst/Makefile.am:
1398         * gst/gst.c:
1399         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
1400         * gst/gstconfig.h.in:
1401         * gst/gstelement.c: (gst_element_get_index):
1402         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1403         (gst_registry_binary_load_feature),
1404         (gst_registry_binary_read_cache):
1405         * gst/gstregistryxml.c: (load_feature),
1406         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1407         * plugins/Makefile.am:
1408         * tools/gst-indent:
1409         * tools/gst-inspect.c: (print_index_info), (print_element_list),
1410         (print_plugin_features), (print_element_features):
1411         * tools/gst-xmlinspect.c: (print_event_masks),
1412         (print_element_info):
1413         * win32/common/gstconfig.h:
1414         Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
1415
1416         Disabling the indexers and URI handler code will only reduce the
1417         required amount of memory by a very small amount but on the other hand
1418         requires much more maintaince work. Apart from that many places of
1419         code are broken when disabling them.
1420
1421         Disabling the enum types doesn't reduce the required amount of memory
1422         by more than a few bytes and makes it hard to fix bugs like #539772,
1423         i.e. use the enums as GObject properties.
1424
1425 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1426
1427         * docs/design/part-TODO.txt:
1428         Add some thoughts and problems with upstream renegotiation.
1429
1430 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1431
1432         * gst/gstpad.c: (gst_pad_acceptcaps_default),
1433         (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1434         Remove silly redundant debug.
1435         Add some more debug info.
1436         Clarify the docs regarding new caps received from pad_alloc.
1437
1438 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1439
1440         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1441         (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1442         Make setting the caps more threadsafe.
1443
1444 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1445
1446         * docs/design/part-element-transform.txt:
1447         Update docs.
1448
1449 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1450
1451         * plugins/elements/gstqueue.c: (gst_queue_init),
1452         (gst_queue_acceptcaps):
1453         Add and use a custom acceptcaps function instead of falling back to the
1454         potentially less optimized default implementation.
1455
1456 2008-07-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1457
1458         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1459           Only sanity-check the buffer size if requested_caps == buffer_caps
1460           (ie. don't take pad caps into account, they're not relevant here)
1461
1462 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1463
1464         * plugins/elements/gsttee.c:
1465         * plugins/elements/gsttee.h:
1466           Reverting as not everything is clear yet. Needs some general design
1467           work.
1468
1469 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1470
1471         * ChangeLog:
1472           ChangeLog surgery for tee commit.
1473
1474 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1475
1476         * docs/gst/gstreamer-sections.txt:
1477           Cleanup section-file.
1478
1479 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1480
1481         * plugins/elements/gsttee.c:
1482         * plugins/elements/gsttee.h:
1483           Relay tag events in tee. Fixes parts of #474016.
1484           Downgrades 3 reoccurring debugs to log.
1485
1486 2008-07-28  Michael Smith <msmith@songbirdnest.com>
1487
1488         * configure.ac:
1489         * libs/gst/Makefile.am:
1490           Build the net library if we have winsock2.
1491
1492 2008-07-26  Stefan Kost  <ensonic@users.sf.net>
1493
1494         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1495
1496         * docs/manual/advanced-threads.xml:
1497         * docs/manual/diagrams-pipelines.svg:
1498         * docs/manual/hello-world.png:
1499         * docs/manual/linked-elements.png:
1500         * docs/manual/mime-world.png:
1501         * docs/manual/queue.png:
1502         * docs/manual/thread-buffering.png:
1503         * docs/manual/thread-synchronizing.png:
1504           Replace one diagram with two separate ones and updates others.
1505           Fixes #542401.
1506
1507 2008-07-25  Thijs Vermeir  <thijsvermeir@gmail.com>
1508
1509         * gst/gstelement.h:
1510         Fix link in documentation.
1511
1512 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1513
1514         * gst/gstmessage.c:
1515         Fix confusing documentation.
1516
1517 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1518
1519         * libs/gst/base/gstbasesrc.h:
1520         revert the changes to the header file for the ABI.
1521
1522 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1523
1524         * libs/gst/base/gstbasesrc.c:
1525         * libs/gst/base/gstbasesrc.h:
1526         Don't cache the seekable status.
1527         Fixes bug #544174
1528
1529 2008-07-24  Rene Stadler  <mail@renestadler.de>
1530
1531         * docs/manual/advanced-autoplugging.xml: Add fakesink to example
1532         code to close the pipeline graph.  This prevents the program from
1533         printing internal data flow errors.
1534
1535 2008-07-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1536
1537         * docs/manual/basics-bus.xml:
1538         Correct typo. Fixes bug #544320.
1539
1540 2008-07-22  Michael Smith <msmith@songbirdnest.com>
1541
1542         * configure.ac:
1543           Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
1544           Add check (taken from -base) for winsock, adds WIN32_LIBS
1545         * gst/Makefile.am:
1546           Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
1547           winsock.
1548           Define GST_EXPORTS when building libgstreamer (only used on win32)
1549         * gst/gst_private.h:
1550         * gst/gstinfo.h:
1551           Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
1552           for symbols that we need to export in both these files.
1553         * gst/gstpoll.c:
1554           Include gst_private.h higher up to avoid some compile problems on win32.
1555
1556 2008-07-22  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1557
1558         * gst/gstvalue.c:
1559         Fix typos.
1560
1561 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1562
1563         * gst/gstcaps.c:
1564         Previous commit was wrong NULL caps does not exist
1565         and indicate an error, so also add a FIXME to
1566         gst_caps_is_equal where NULL caps are accepted.
1567
1568 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1569
1570         * gst/gstcaps.c:
1571         Allow passing of NULL to gst_caps_union
1572
1573 2008-07-21  Thijs Vermeir  <thijsvermeir@gmail.com>
1574
1575         * gst/gstghostpad.c:
1576         Add in doc that gst_ghost_pad_set_target can accept
1577         NULL to clear target
1578
1579 2008-07-15  Michael Smith <msmith@songbirdnest.com>
1580
1581         * gst/gstplugin.c:
1582         * gst/gstregistry.c:
1583           GstRegistryPool doesn't exist; don't refer to it in docs.
1584           Don't refer to functions that don't exist in docs, it's
1585           unhelpful.
1586
1587 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1588
1589         * gst/gst.c:
1590         Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
1591
1592 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1593
1594         Patch by: Tristan Matthews <le dot businessman at gmail dot com>
1595
1596         * docs/pwg/building-testapp.xml:
1597         Don't use an undeclared variable in the example program.
1598         Fixes bug #542573.
1599
1600 2008-07-12  Stefan Kost  <ensonic@users.sf.net>
1601
1602         * gst/gstdebugutils.c:
1603           Squeeze ghost-pad links and remove <> from classname labels to save
1604           more horizontal space.
1605
1606 2008-07-11  Stefan Kost  <ensonic@users.sf.net>
1607
1608         * gst/gstdebugutils.c:
1609           Give request and sometimes pads a different shpe style. Condense the
1610           graphs a little more.
1611
1612 2008-07-09  Michael Smith <msmith@songbirdnest.com>
1613
1614         * configure.ac:
1615           Don't require flex and bison if the parser is disabled.
1616
1617 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1618
1619         * libs/gst/controller/gstinterpolationcontrolsource.c:
1620         (_list_find_sorted_custom):
1621         Don't use declarations after statements.
1622
1623 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1624
1625         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1626         Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
1627         of the the child-added / -removed signals as GstChildProxy
1628         only supports GstObjects.
1629
1630 2008-07-07  Thijs Vermeir  <thijsvermeir@gmail.com>
1631
1632         * gst/gstdebugutils.c:
1633         Fix memleak
1634
1635 2008-07-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1636
1637         Patch by: Alessandro Decina <alessandro at nnva dot org>
1638
1639         * gst/gstpoll.c:
1640         Fix "ignored return value" compiler warning with newer glibc.
1641
1642 2008-07-05  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1643
1644         * gst/gstchildproxy.c:
1645         Fix copy&paste error in gst_child_proxy_removed() documentation.
1646
1647 2008-07-02  Tim-Philipp Müller  <tim.muller at collabora co uk>
1648
1649         * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
1650           Print error debug message if plugin description fields that should
1651           be set are NULL.
1652
1653         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
1654           Don't crash if the string to serialise is NULL (it really should
1655           not be, but apparently this used to work with the xml registry ...).
1656
1657 2008-07-02  Thijs Vermeir  <thijsvermeir@gmail.com>
1658
1659         * tools/gst-plot-timeline.py:
1660         Fix parsing of log messages
1661
1662 2008-07-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1663
1664         * win32/common/libgstbase.def::
1665           Sort alphabetically so make check-exports doesn't barf.
1666
1667 2008-07-01  Stefan Kost  <ensonic@users.sf.net>
1668
1669         * gst/gstevent.c:
1670           Use gst_format_get_name() to improve debug output.
1671
1672         * gst/gstpreset.c:
1673           Remove #ifdef'ed code. Add TODO comment.
1674
1675         * gst/gstsegment.c:
1676           Add debug output to ease spotting format != segment.format assertions.
1677
1678 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1679
1680         * tests/check/libs/gdp.c: (gst_dp_suite):
1681         Also enable the GDP unit test again on PPC now that the bug
1682         is fixed.
1683
1684 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1685
1686         * libs/gst/dataprotocol/dataprotocol.c:
1687         Don't write to the same region of memory as a uint64 and uint16
1688         as this breaks strict aliasing rules and apparantly breaks on PPC
1689         and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
1690
1691 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
1692
1693         * libs/gst/controller/gstinterpolationcontrolsource.c:
1694           Optimize list handling. Use own find function. Exploit that fact that
1695           the list is sorted. Also pass back the node before, so that we can
1696           insert quickly. Have a fast path for append.
1697
1698 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
1699
1700         * docs/design/draft-framestep.txt:
1701         * docs/design/part-negotiation.txt:
1702           Fix two typos.
1703
1704 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
1705
1706         * configure.ac:
1707           Show configuration sumary after configure run. Based on patch by
1708           Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
1709
1710 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
1711
1712         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1713
1714         * docs/manual/advanced-autoplugging.xml:
1715         * docs/manual/advanced-threads.xml:
1716         * docs/manual/basics-bins.xml:
1717         * docs/manual/basics-elements.xml:
1718         * docs/manual/basics-helloworld.xml:
1719         * docs/manual/basics-pads.xml:
1720           Add scale factor for pdf output.
1721
1722         * docs/manual/intro-basics.xml:
1723           Switched sections "pads" and "bins" and added a pipeline diagram.
1724
1725         * docs/manual/intro-gstreamer.xml:
1726           Added more info on gstreamer.
1727
1728         * docs/manual/intro-motivation.xml:
1729           Commented out the whole section "current problem", which sounds
1730           historical and somehow osolete; it could be turned in a positive
1731           way and reused to improve the design principles.
1732
1733         * docs/manual/intro-preface.xml:
1734           - Update URLs to library.gnome.org. 
1735           - Do not mention GTK+ in preliminary reading (irrelevant). 
1736           - Mention Plugin Writer's Manual and further reading only in the
1737             previous section.
1738           - Added a list of most relevant GObject/glib topics.
1739
1740         * docs/manual/Makefile.am:
1741         * docs/manual/bin-element-ghost.fig:
1742         * docs/manual/bin-element-ghost.png:
1743         * docs/manual/bin-element-noghost.fig:
1744         * docs/manual/bin-element-noghost.png:
1745         * docs/manual/bin-element.fig:
1746         * docs/manual/bin-element.png:
1747         * docs/manual/filter-element-multi.fig:
1748         * docs/manual/filter-element-multi.png:
1749         * docs/manual/filter-element.fig:
1750         * docs/manual/filter-element.png:
1751         * docs/manual/gstreamer-overview.png:
1752         * docs/manual/hello-world.fig:
1753         * docs/manual/hello-world.png:
1754         * docs/manual/linked-elements.fig:
1755         * docs/manual/linked-elements.png:
1756         * docs/manual/mime-world.fig:
1757         * docs/manual/mime-world.png:
1758         * docs/manual/queue.fig:
1759         * docs/manual/queue.png:
1760         * docs/manual/simple-player.png:
1761         * docs/manual/sink-element.fig:
1762         * docs/manual/sink-element.png:
1763         * docs/manual/src-element.fig:
1764         * docs/manual/src-element.png:
1765         * docs/manual/diagrams-general.svg:
1766         * docs/manual/diagrams-pipelines.svg:
1767           Removed .fig, added .png counterpart.
1768           
1769           Fixes: #539137
1770
1771 2008-06-26  Thijs Vermeir  <thijsvermeir@gmail.com>
1772
1773         * plugins/elements/gstmultiqueue.c:
1774         * plugins/elements/gstmultiqueue.h:
1775         revert extra-size-buffers stuff, caused some race conditions
1776         and extra-size-buffers is not used anymore. Docs needs some updates
1777
1778 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
1779
1780         * win32/common/config.h:
1781         * win32/common/gstenumtypes.c:
1782         * win32/common/gstenumtypes.h:
1783         * win32/common/gstversion.h:
1784           Update win32 files.
1785
1786 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
1787
1788         * gst/gstdebugutils.h: (GstDebugGraphDetails),
1789           (GST_DEBUG_BIN_TO_DOT_FILE):
1790           Add missing Since' markers to gtk-doc blurbs.
1791
1792 2008-06-26  Wim Taymans  <wim.taymans@collabora.co.uk>
1793
1794         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1795         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1796         (set_caps_1), (set_caps_ct1), (transform_ct1),
1797         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1798         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
1799         (transform_size_ct2), (buffer_alloc_ct2):
1800         Add some more tests with switching caps in buffer_alloc.
1801
1802 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1803
1804         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1805         (gst_test_trans_class_init), (result_sink_chain),
1806         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
1807         (gst_test_trans_push), (gst_test_trans_pop):
1808         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1809         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1810         (set_caps_1), (set_caps_ct1), (transform_ct1),
1811         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1812         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
1813         (transform_size_ct2), (buffer_alloc_ct2),
1814         (gst_basetransform_suite):
1815         More tests, prepare for tests with switching caps in buffer_alloc.
1816
1817 2008-06-25  Thijs Vermeir  <thijsvermeir@gmail.com>
1818
1819         * plugins/elements/gstmultiqueue.c:
1820         * plugins/elements/gstmultiqueue.h:
1821         Fix dead-lock in underrun_cb
1822
1823 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1824
1825         * docs/design/part-states.txt:
1826         Fix device open/close docs.
1827
1828 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1829
1830         * ChangeLog:
1831           Mention bugnumber for last commit.
1832
1833 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1834
1835         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1836
1837         * docs/manual/manual.xml:
1838         - Reorganised the previous "introduction" bundle into Foreword,
1839         Introduction, and About GStreamer. The two first are <preface>
1840         docbook elements. The later is the first part of the book.
1841         - added intro-gstreamer.xml (content partially from
1842         intro-preface.xml)
1843         - moved appendix-win32.xml into appendix-integration.xml
1844
1845         * docs/manual/intro-preface.xml: gstreamer section moved...
1846         * docs/manual/intro-gstreamer.xml: ...here. new file.
1847
1848         * docs/manual/appendix-win32.xml: removed file. Content moved...
1849         * docs/manual/appendix-integration.xml: ...here.
1850         
1851         * docs/manual/highlevel-components.xml: section about GstEditor moved...
1852         * docs/manual/appendix-checklist.xml: ...here.
1853         
1854         Fixes: 538764
1855
1856 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1857
1858         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1859
1860         * docs/manual/basics-helloworld.xml:
1861         * docs/manual/hello-world.fig:
1862           - Explicitely include glib.h.
1863           - Do not use global variables.
1864           - Use g_printerr() instead of g_print().
1865           - Minor formating/renaming to increase readibility.
1866           - Renamed new_pad() to on_pad_added()
1867           - Improved explenatory comments.
1868           - renamed ogg parser to ogg demuxer
1869           - Use "autoaudiosink" instead of "alsasink".
1870           Fixes: #538619
1871
1872 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1873
1874         * ChangeLog:
1875           Remove cvs conflict marker.
1876
1877 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1878
1879         * docs/README:
1880           Document that for plgin-docs we extraxt he short-desc from the element
1881           details.
1882
1883         * docs/design/part-states.txt:
1884           Tell that devices should be closed in PAUSED -> READY.
1885
1886         * docs/manual/README:
1887           Document how tests in the manual are handled.
1888
1889         * docs/manuals.mak:
1890           Typo in comment.
1891
1892 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1893
1894         * gst/gstbin.c: (bin_query_latency_fold):
1895         Only care about latency min and max when the sink is actually a live
1896         sink.
1897
1898 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1899
1900         * docs/design/part-block.txt:
1901         Fix typo.
1902
1903         * docs/design/part-element-transform.txt:
1904         Add notes about why transform needs to know input/output sizes.
1905         Add some issues that need to be solved.
1906         Add some more use cases.
1907
1908         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1909         (gst_test_trans_class_init), (result_sink_chain),
1910         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
1911         (gst_test_trans_push), (gst_test_trans_pop):
1912         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1913         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1914         (set_caps_1), (set_caps_ct1), (transform_ct1),
1915         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1916         (gst_basetransform_suite):
1917         Add suport for different pad templates and buffer-alloc.
1918         Add more checks for caps and buffer-alloc.
1919         Add checks for proxy buffer alloc.
1920         Add unit test for copy transform.
1921
1922 2008-06-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
1923
1924         Patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1925
1926         * docs/manual/appendix-integration.xml:
1927         * docs/manual/appendix-licensing.xml:
1928         * docs/manual/basics-elements.xml:
1929         * docs/manual/basics-helloworld.xml:
1930         * docs/manual/basics-pads.xml:
1931         * docs/manual/highlevel-components.xml:
1932         * docs/manual/highlevel-xml.xml:
1933         * docs/manual/intro-basics.xml:
1934         * docs/manual/intro-preface.xml:
1935           Typo and formatting fixes (#538594).
1936
1937 2008-06-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1938
1939         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1940         Fix some memory leaks and uses of object instances that we don't
1941         actually own.
1942
1943 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1944
1945         * plugins/elements/gstmultiqueue.c:
1946         Add functionality to extra-size-buffers property.
1947
1948 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1949
1950         * plugins/elements/gstmultiqueue.c:
1951         Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
1952         activate the pads if they are added in STATE_NULL.
1953
1954 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
1955
1956         * docs/libs/gstreamer-libs-sections.txt:
1957         Add new API to doc
1958         * libs/gst/check/gstcheck.c:
1959         * libs/gst/check/gstcheck.h:
1960         API: gst_check_teardown_pad_by_name
1961
1962 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
1963
1964         * libs/gst/check/gstcheck.c:
1965         * libs/gst/check/gstcheck.h:
1966         Also setup request pads and allow setup pads by name (#537812)
1967         API: gst_check_setup_src_pad_by_name
1968         API: gst_check_setup_sink_pad_by_name
1969
1970 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1971
1972         * tests/check/gst/gstbuffer.c:
1973         * tests/check/pipelines/parse-launch.c:
1974           Use HAVE_VALGRIND_H some more.
1975
1976 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1977
1978         * scripts/cvs-update.sh:
1979           Pass arguments to make.
1980           Run autoregen.sh if Makefile is not there.
1981
1982 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1983
1984         * configure.ac:
1985         * gst/gstinfo.c:
1986           Don't assume that <valgrind/valgrind.h> exists just because
1987           the binary is there.
1988
1989 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1990
1991         * tests/check/Makefile.am:
1992         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1993         (gst_test_trans_class_init), (gst_test_trans_init),
1994         (gst_test_trans_set_data), (result_sink_chain),
1995         (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
1996         (gst_test_trans_pop):
1997         * tests/check/libs/transform1.c: (GST_START_TEST),
1998         (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
1999         Add some test basetransform element and the beginnings of various
2000         unit tests for it.
2001
2002 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2003
2004         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2005         Increase code readability.
2006         Don't try to compare buffer offsets when ther are invalid.
2007
2008 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2009
2010         * docs/design/Makefile.am:
2011           Dist some more design docs.
2012
2013         * docs/random/moving-plugins:
2014           Small addition: good plugins mustn't have functional code
2015           within assertion macros.
2016
2017 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2018
2019         * docs/design/draft-framestep.txt:
2020         Some ideas about a framestep API
2021
2022         * docs/design/part-element-transform.txt:
2023         Start design and use cases for basetransform in order to get it
2024         fixed soon.
2025
2026 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2027
2028         * gst/gsttaglist.h:
2029           In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
2030           be in UTF-8 encoding.
2031
2032 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
2033
2034         * gst/gstbus.c:
2035           Make it known that gst_bus_poll() is pure evil (fixes #538810).
2036
2037 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2038
2039         * plugins/elements/gstcapsfilter.c:
2040         * plugins/elements/gstfakesink.c:
2041         * plugins/elements/gstfakesrc.c:
2042         * plugins/elements/gstfdsink.c:
2043         * plugins/elements/gstfdsrc.c:
2044         * plugins/elements/gstfilesink.c:
2045         * plugins/elements/gstfilesrc.c:
2046         * plugins/elements/gstidentity.c:
2047         * plugins/elements/gstmultiqueue.c:
2048         * plugins/elements/gstqueue.c:
2049         * plugins/elements/gsttee.c:
2050         * plugins/elements/gsttypefindelement.c:
2051           Remove short_description. Add basic docs for gsttypefindelement.
2052           Simplify markup for fakesrc/fdsrc.
2053
2054 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2055
2056         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
2057         Added Since doc.
2058
2059 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2060
2061         Patch by: Joel Larsson <tilljoel at gmail dot com>
2062
2063         * docs/plugins/gstreamer-plugins.args:
2064         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
2065         (gst_fd_src_init), (gst_fd_src_update_fd),
2066         (gst_fd_src_set_property), (gst_fd_src_get_property),
2067         (gst_fd_src_create):
2068         * plugins/elements/gstfdsrc.h:
2069         Add timeout property like udpsrc. Fixes #538628.
2070         Add some more docs and example pipelines.
2071
2072 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2073
2074         * docs/libs/gstreamer-libs-sections.txt:
2075         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2076         (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
2077         (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
2078         (gst_base_sink_do_sync):
2079         * libs/gst/base/gstbasesink.h:
2080         * win32/common/libgstbase.def:
2081         Add method to allow sinks to specify additional delay between the sync
2082         times and the actual rendering of the data.
2083         API: gst_base_sink_set_render_delay()
2084         API: gst_base_sink_get_render_delay()
2085
2086 2008-06-20  Jan Schmidt  <jan.schmidt@sun.com>
2087
2088         * configure.ac:
2089         Bump version number back to dev -> 0.10.20.1
2090
2091 2008-06-20  Sebastian Dröge  <slomo@circular-chaos.org>
2092
2093         * docs/gst/gstreamer-sections.txt:
2094         * gst/gsttaglist.c: (_gst_tag_initialize):
2095         * gst/gsttaglist.h:
2096         API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
2097         Fixes bug #538568.
2098
2099 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2100
2101         * libs/gst/controller/gstcontroller.c:
2102           Revert one change, that make ret value possible uninitialized.
2103
2104 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2105
2106         * libs/gst/controller/gstcontroller.c:
2107           Use freeze/thaw notify to sync notify emission a bit (its also more
2108           efficient). Move debug output to LOG (is called a lot in a loop).
2109           Always unset g_values if the have been initialized.
2110
2111 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2112
2113         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2114         (gst_base_sink_wait_eos), (gst_base_sink_event):
2115         If we have not seen a buffer before EOS, use the segment values to
2116         report the current position instead of invalid positions.
2117
2118 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2119
2120         * docs/plugins/tmpl/.cvsignore:
2121         * tests/check/gst/.cvsignore:
2122           Ignore more.
2123
2124 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2125
2126         * libs/gst/controller/gstinterpolation.c:
2127         * libs/gst/controller/gstinterpolationcontrolsource.c:
2128         * tests/check/libs/controller.c:
2129           Rewrite handling of default values. Fix overflow with unsigned types
2130           in linear interpolation. Remove now obsolete _first_value() function.
2131           Add more tests. Fixes #538201.
2132
2133 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2134
2135         * libs/gst/base/gstbasetransform.c:
2136         (gst_base_transform_class_init), (gst_base_transform_init),
2137         (gst_base_transform_transform_caps),
2138         (gst_base_transform_prepare_output_buffer):
2139         Add debug info.
2140         When a buffer is writable, its metadata is also writable so we don't
2141         need to subbuffer (which then makes the buffer not-writable anymore).
2142
2143 === release 0.10.20 ===
2144
2145 2008-06-18  Jan Schmidt <jan.schmidt@sun.com>
2146
2147         * configure.ac:
2148           releasing 0.10.20, "You Crazy Diamond"
2149
2150 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2151
2152         * configure.ac:
2153         0.10.19.3 pre-release
2154
2155 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2156
2157         * configure.ac:
2158         * gst/gstpreset.c:
2159         Rename DATADIR to GST_DATADIR to avoid build problems
2160         on win32. Patch By: David Schleef <ds@schleef.org>
2161         Fixes: #536857
2162
2163 2008-06-05  Sebastian Dröge  <slomo@circular-chaos.org>
2164
2165         * configure.ac:
2166         Explicitely link with -ldl if dladdr() is found there. Before it was
2167         implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
2168         -ldl has moved from Libs to Libs.private. Fixes bug #536744.
2169
2170 2008-06-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2171
2172         * gst/gsterror.c: (_gst_stream_errors_init):
2173           Fix typo (spotted by Fabricio Godoy, #536723).
2174
2175 2008-06-05  Jan Schmidt  <jan.schmidt@sun.com>
2176
2177         * configure.ac:
2178         0.10.19.2 pre-release
2179
2180 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2181
2182         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
2183         (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
2184         Add some debug.
2185         Make sure we don't generate invalid QoS messages.
2186
2187 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2188
2189         * gst/gstevent.c: (gst_event_new_qos):
2190         Add some assert and docs for invalid input to the qos function.
2191
2192 2008-05-30  Wim Taymans  <wim.taymans@collabora.co.uk>
2193
2194         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2195         (gst_base_sink_get_position):
2196         The reported position must always be smaller than the last seen
2197         timestamps (or timestamp + duration for reverse).
2198
2199 2008-05-30  Sebastian Dröge  <slomo@circular-chaos.org>
2200
2201         Patch by: Rob Bradford <rob at robster dot org dot uk>
2202
2203         * gst/gstregistry.c: (gst_registry_scan_path_level):
2204         Don't recurse into .debug directories as some distros install
2205         the debugging symbols next to the plugins in .debug directories
2206         and dlopen() crashes on them sometimes. Fixes bug #508070.
2207
2208         Add FIXME for 0.11 to not recurse into directories at all because
2209         it's very inconsistent to the behaviour of other PATH environment
2210         variables.
2211
2212 2008-05-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2213
2214         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2215         (gst_base_sink_get_position_last), (gst_base_sink_get_position):
2216         Fix position query range checks in reverse playback.
2217
2218 2008-05-29  Sebastian Dröge  <slomo@circular-chaos.org>
2219
2220         * gst/gstelement.c:
2221         * gst/gstelement.h:
2222         Deprecated gst_element_get_pad() as it can't be used sanely. It's not
2223         clear of the reference to the resulting pad must be released later
2224         or not, resulting in possible leaks. Fixes bug #533865.
2225
2226 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2227
2228         Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2229
2230         * gst/gstelementfactory.c:
2231         Small doc fix. Fixes #535285.
2232
2233 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2234
2235         Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
2236
2237         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2238         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2239         (gst_base_src_loop), (gst_base_src_set_flushing),
2240         (gst_base_src_change_state):
2241         Make sending an EOS event to the basesrc non-blocking even if the
2242         implementation does blocking waits in the create function. This is done
2243         by unlocking the create function when EOS is sent.
2244         Fixes #535218.
2245
2246 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2247
2248         * tools/gst-inspect.c: (print_element_properties_info):
2249         If possible print the element type of GValueArray properties.
2250
2251 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2252
2253         * gst/gstiterator.c:
2254         Remove an unused field from the private GstListIterator struct.
2255
2256 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2257
2258         * libs/gst/controller/gstcontroller.c:
2259           Add parameter guards.
2260
2261 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2262
2263         * tests/check/gst/gstpipeline.c:
2264           Revert test change and add comment why it should not work.
2265
2266 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2267
2268         * tests/check/gst/gstpipeline.c:
2269           Extending the test a little to verify that we also get the NULL state-
2270           change message.
2271
2272 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2273
2274         * gst/gstpreset.c: (gst_preset_default_get_meta),
2275           (gst_preset_get_preset_names), (gst_preset_get_property_names),
2276           (gst_preset_load_preset), (gst_preset_save_preset),
2277           (gst_preset_rename_preset), (gst_preset_delete_preset),
2278           (gst_preset_set_meta):
2279           Add Since: markers to docs blurbs.
2280
2281         * win32/common/libgstreamer.def:
2282           Add recently-added API.
2283
2284 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2285
2286         Patch by: Stefan Kost  <ensonic@users.sf.net>
2287
2288         * configure.ac:
2289         Add DATADIR for storing presets.
2290
2291         * docs/gst/gstreamer-docs.sgml:
2292         * docs/gst/gstreamer-sections.txt:
2293         * docs/gst/gstreamer.types.in:
2294         Add GstPreset to docs.
2295
2296         * gst/Makefile.am:
2297         * gst/gst.h:
2298         * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
2299         (preset_open_and_parse_header), (preset_parse_version),
2300         (preset_merge), (preset_get_keyfile),
2301         (gst_preset_default_get_preset_names),
2302         (gst_preset_default_get_property_names),
2303         (gst_preset_default_load_preset),
2304         (gst_preset_default_save_presets_file),
2305         (gst_preset_default_save_preset),
2306         (gst_preset_default_rename_preset),
2307         (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
2308         (gst_preset_default_get_meta), (gst_preset_default_randomize),
2309         (gst_preset_default_reset), (gst_preset_get_preset_names),
2310         (gst_preset_get_property_names), (gst_preset_load_preset),
2311         (gst_preset_save_preset), (gst_preset_rename_preset),
2312         (gst_preset_delete_preset), (gst_preset_set_meta),
2313         (gst_preset_get_meta), (gst_preset_class_init),
2314         (gst_preset_base_init), (gst_preset_get_type):
2315         * gst/gstpreset.h:
2316         Add GstPreset to core. Fixes #396779
2317
2318         * tests/check/Makefile.am:
2319         * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
2320         (gst_preset_test_set_property), (gst_preset_test_class_init),
2321         (gst_preset_test_base_init), (gst_preset_test_get_type),
2322         (gst_preset_test_plugin_init), (GST_START_TEST),
2323         (remove_preset_file), (test_setup), (test_teardown),
2324         (gst_preset_suite):
2325         Add GstPreset unit tests.
2326
2327 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2328
2329         * gst/gstpad.c: (gst_pad_event_default_dispatch):
2330         The default event function on a sinkpad should return TRUE when
2331         there are no internal links but should collect the return values from
2332         the internal links otherwise.
2333
2334 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2335
2336         * plugins/elements/gsttypefindelement.c:
2337         (gst_type_find_element_src_event),
2338         (gst_type_find_element_handle_event):
2339         Use faster and safer _pad_push_event().
2340
2341 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2342
2343         * docs/gst/gstreamer-sections.txt:
2344         * gst/gstutils.c: (element_find_unlinked_pad),
2345           (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
2346         * gst/gstutils.h:
2347           API: add gst_bin_find_unlinked_pad()
2348           API: deprecate gst_bin_find_unconnected_pad() (#401456)
2349
2350 2008-05-26  Peter Kjellerstedt  <pkj@axis.com>
2351
2352         * gst/gstclock.c:
2353         * gst/gstclock.h:
2354         * gst/gsttask.c:
2355         * gst/gsttask.h:
2356         Fixed a bunch of typos.
2357
2358 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2359
2360         * gst/gstpad.h:
2361         * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
2362           (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
2363           (gst_parse_bin_from_description_full):
2364         * gst/gstutils.h:
2365           'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2366
2367 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2368
2369         * docs/pwg/advanced-tagging.xml:
2370           Small docs update, can't be bothered to rewrite the nonsensical
2371           examples right now.
2372
2373 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2374
2375         * gst/gstevent.h:
2376           Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2377
2378 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2379
2380         * gst/parse/grammar.y:
2381           Remove unneeded casts.
2382
2383 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2384
2385         * gst/parse/grammar.y:
2386         * tests/check/pipelines/parse-launch.c:
2387           Get all missing elements from a parse launch string if possible
2388           (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2389
2390 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2391
2392         * tests/check/Makefile.am:
2393         * tests/check/pipelines/parse-launch.c:
2394           Add some unit tests for the new gst_parse_launch*_full() API.
2395           (Exposes a previously-existing memory leak in the error code
2396           path, so adding to VALGRIND_TO_FIX for now).
2397
2398 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2399
2400         * docs/gst/gstreamer-sections.txt:
2401         * gst/gst.c: (init_post):
2402         * gst/gst_private.h: (_GstParseContext):
2403         * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
2404           (gst_parse_context_free), (gst_parse_context_get_missing_elements),
2405           (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
2406           (gst_parse_launch_full):
2407         * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
2408           (GstParseFlags), (GstParseContext):
2409         * gst/gstutils.c: (gst_parse_bin_from_description),
2410           (gst_parse_bin_from_description_full):
2411         * gst/gstutils.h:
2412         * gst/parse/grammar.y:
2413         * gst/parse/types.h:
2414         * win32/common/libgstreamer.def:
2415           Add new gst_parse_*_full API (#528178):
2416           API: gst_parse_launch_full()
2417           API: gst_parse_launchv_full()
2418           API: gst_parse_bin_from_description_full()
2419           API: gst_parse_context_new()
2420           API: gst_parse_context_free()
2421           API: gst_parse_context_get_missing_elements()
2422
2423 2008-05-23  Stefan Kost  <ensonic@users.sf.net>
2424
2425         patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
2426
2427         * docs/faq/gst-uninstalled:
2428           Also support ffmpeg in gst-uninstalled.
2429
2430 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2431
2432         * configure.ac:
2433         After discussion on IRC use the binary registry as default
2434         but allow to disable it with --disable-binary-registry.
2435
2436         * win32/common/libgstreamer.def:
2437         Add the two new symbols for the binary registry.
2438
2439 2008-05-22  Tim-Philipp Müller  <tim.muller at collabora co uk>
2440
2441         * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2442         * gst/gstutils.c: (gst_parse_bin_from_description):
2443         * gst/parse/grammar.y: (graph):
2444           More guards against bad input; typo fix; some minor clean-ups.
2445
2446 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2447
2448         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2449
2450         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2451         If nothing else can be used, use the last buffer's start time as
2452         the segment's last stop. Fixes bug #534258.
2453
2454 2008-05-21  Tim-Philipp Müller  <tim.muller at collabora co uk>
2455
2456         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2457           Move size sanity check to the right place: downstream may return
2458           a buffer with a smaller size if the buffer caps are different than
2459           the requested ones, as may happen when doing reverse negotiation.
2460
2461 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2462
2463         * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
2464         (gst_file_sink_render):
2465         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
2466         (gst_file_src_start):
2467         Small cleanups. Add note adbout g_fopen() on windows and why we don't
2468         use it yet.
2469
2470 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2471
2472         * gst/gstpad.c: (gst_pad_load_and_link):
2473         * gst/gstutils.c: (gst_element_link_pads),
2474         (gst_element_unlink_pads):
2475         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2476         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2477         (gst_check_teardown_sink_pad),
2478         (gst_check_element_push_buffer_list):
2479         * tests/check/elements/fakesink.c: (GST_START_TEST):
2480         * tests/check/elements/filesink.c:
2481         * tests/check/elements/filesrc.c: (GST_START_TEST):
2482         * tests/check/elements/multiqueue.c: (setup_multiqueue),
2483         (mq_sinkpad_to_srcpad):
2484         * tests/check/elements/tee.c: (GST_START_TEST):
2485         * tests/check/generic/sinks.c: (GST_START_TEST):
2486         * tests/check/gst/gstbin.c: (GST_START_TEST):
2487         * tests/check/gst/gstevent.c: (GST_START_TEST):
2488         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2489         * tests/check/gst/gstpipeline.c: (GST_START_TEST):
2490         * tests/check/gst/gstquery.c: (GST_START_TEST):
2491         * tests/check/gst/gstutils.c: (GST_START_TEST):
2492         * tests/check/libs/basesrc.c: (GST_START_TEST):
2493         * tests/check/pipelines/parse-launch.c: (run_delayed_test),
2494         (gst_parse_test_element_change_state):
2495         Don't use gst_element_get_pad().
2496
2497 2008-05-21  Felipe Contreras  <felipe.contreras@gmail.com>
2498
2499         * docs/Makefile.am:
2500         Fix installing plugin documentation when gtk-doc is disabled.
2501
2502 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2503
2504         * docs/manual/advanced-autoplugging.xml:
2505         * docs/manual/basics-helloworld.xml:
2506         * docs/manual/basics-pads.xml:
2507         * docs/manual/highlevel-components.xml:
2508         Avoid using a bad function in the example code.
2509
2510 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2511
2512         * gst/gstclock.c: (gst_clock_set_calibration):
2513         Fix debug of the new clock rate.
2514
2515 2008-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2516
2517         * win32/common/libgstbase.def:
2518         Add gst_base_sink_wait_clock() to the exported symbols.
2519
2520 2008-05-20  Sebastian Dröge  <slomo@circular-chaos.org>
2521
2522         Patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
2523
2524         * libs/gst/base/gstbasetransform.c:
2525         (gst_base_transform_sink_event):
2526         Unref events that the GstBaseTransform::event vfunc didn't want to
2527         have forwarded by the base class. Closes a leak in identity.
2528         Fixes bug #446763.
2529
2530 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2531
2532         * docs/libs/gstreamer-libs-sections.txt:
2533         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
2534         * libs/gst/base/gstbasesink.h:
2535         Expose a method that was previously used internally to synchronize
2536         against the clock because it can be useful for subclasses too.
2537         API: GstBaseSink::gst_base_sink_wait_clock()
2538
2539 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2540
2541         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
2542           Add sanity check to make sure we don't get smaller buffers
2543           than requested (and fallback to normal buffer alloc if we do).
2544
2545 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2546
2547         * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
2548         (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
2549         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
2550         Refactor adjusting the running_time with latency and offset into a
2551         separate method.
2552         When doing clipping, we still want to use the subclass get_times method,
2553         just in case the DURATION or TIMESTAMP are not set.
2554
2555 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2556
2557         * docs/gst/gstreamer-sections.txt:
2558         * gst/gsttypefind.c: (gst_type_find_suggest_simple):
2559         * gst/gsttypefind.h:
2560         * win32/common/libgstreamer.def:
2561           API: add gst_type_find_suggest_simple(), #533740.
2562
2563 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2564
2565         * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
2566           Use right error code when typefinding fails, so we can use
2567           the default (translated) error messages.
2568
2569 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2570
2571         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
2572         (gst_base_src_start):
2573         When the subclass did not set caps on outgoing buffers, configure the
2574         caps we negotiated on the source pad.
2575         When the typefind helper does not find caps, error out properly instead
2576         of doing things with NULL caps.
2577
2578 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2579
2580         * gst/gsttypefind.h:
2581           Tabs to spaces, oh yes!
2582
2583 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2584
2585         * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
2586           Add David's and Benjamin's tests for array intersection to the
2587           unit test suite (#147931).
2588
2589 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2590
2591         * gst/gstevent.c:
2592           Document that gst_event_new_tag() and gst_event_new_navigation()
2593           take ownership of the taglist/structure passed to them. (#533635).
2594
2595 2008-05-17  Jan Schmidt  <jan.schmidt@sun.com>
2596
2597         * docs/Makefile.am:
2598         Don't descend into the plugins dir if plugin docs building
2599         is disabled.
2600
2601         * docs/README:
2602         Add a note about the new type:GTypeName syntax for the plugin
2603         documentation .types file.
2604
2605 2008-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2606
2607         * gst/gstmessage.c: (gst_message_new_error),
2608         (gst_message_new_warning), (gst_message_new_info):
2609         * gst/gstmessage.h:
2610         Mark the debug string parameters as const. Fixes bug #533490.
2611
2612 2008-05-16  Sebastian Dröge  <slomo@circular-chaos.org>
2613
2614         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2615         Sort buffer cache list by end offsets. This makes sure that we don't
2616         stop to search for a cached buffer that contains the requested data
2617         too early.
2618         Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
2619         more efficient. Fixes bug #459862.
2620
2621 2008-05-14  Stefan Kost  <ensonic@users.sf.net>
2622
2623         * gst/gstinfo.c:
2624           Explain why we copy the list.
2625
2626         * gst/gstpipeline.c:
2627           Improve docs.
2628
2629         * gst/gstutils.c:
2630           Add one debug-log statement to help tracing probelms with linking pads.
2631
2632 2008-05-12  Stefan Kost  <ensonic@users.sf.net>
2633
2634         * tests/check/gst/gstinfo.c:
2635         Add a test for removing the default log handler. Seems to fail under
2636         windows.
2637
2638 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2639
2640         * gst/gstpad.c: (gst_pad_peer_accept_caps):
2641         Release pad lock before calling out to avoid a possible deadlock.
2642
2643 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2644
2645         * gst/parse/grammar.y:
2646         Remove unneeded value unset.
2647
2648         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2649         Add unit test for de/serialization of caps.
2650
2651 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2652
2653         * plugins/elements/gstfakesink.c:
2654         (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
2655         * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
2656         (gst_fake_src_class_init):
2657         Use custom marshalers that take GstMiniObject as first parameter.
2658         Using OBJECT as parameter while a GstMiniObject is given will lead
2659         to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
2660
2661 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2662
2663         * plugins/elements/gsttypefindelement.c:
2664         (gst_type_find_element_handle_event),
2665         (gst_type_find_element_send_cached_events),
2666         (gst_type_find_element_change_state):
2667         Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
2668         immediately.
2669
2670 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2671
2672         * plugins/elements/gsttypefindelement.c:
2673         (gst_type_find_handle_src_query), (stop_typefinding),
2674         (gst_type_find_element_handle_event),
2675         (gst_type_find_element_send_cached_events),
2676         (gst_type_find_element_change_state):
2677         Forward FLUSH_START events immediately and clean up instead of
2678         caching them.
2679
2680 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2681
2682         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2683
2684         * libs/gst/base/gstbasetransform.c:
2685         (gst_base_transform_buffer_alloc):
2686         Check the caps of the buffer returned by gst_pad_alloc_buffer() and
2687         fall back to default negotiation in the chain function if the caps
2688         are different from what was requested. Fixes bug #526768.
2689
2690 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
2691
2692         * gst/gstsegment.c:
2693         * tests/check/gst/gstsegment.c:
2694           No, let's not use g_slice_{dup|copy} here, since they only exist
2695           since GLib 2.14 and we still depend only on >= 2.12. Also add
2696           unit test for gst_segment_copy().
2697
2698 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
2699
2700         * gst/gstutils.h: (GST_BOILERPLATE_FULL):
2701           Try to fix 'dereferencing type-punned pointer will break strict
2702           aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
2703           changed the default GType typedef from gulong to gsize at some point,
2704           but kept GType typedef'ed to gulong for C++ for ABI reasons; the
2705           g_once_* functions all take a gsize * though, so work around the type
2706           mismatch for C++ by doing everything in gsize and casting to GType
2707           later.
2708
2709 2008-05-09  Jan Schmidt  <jan.schmidt@sun.com>
2710
2711         * plugins/elements/gstmultiqueue.c:
2712         Add documentation for the signals to push our core plugin docs
2713         coverage back up to 100%.
2714
2715 2008-05-08  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2716
2717         * gst/gstinfo.h (GST_FUNCTION):
2718           Reverted GST_FUNCTION to the old version as we don't want the
2719           full signature in C++ code. Also added support for MSVC.
2720
2721 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2722
2723         * gst/gstutils.h:
2724         Intern the type name string, similar to what G_DEFINE_TYPE does.
2725
2726 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2727
2728         * gst/gstutils.h:
2729         Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
2730
2731 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2732
2733         Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
2734
2735         * libs/gst/base/gstbasetransform.c:
2736         (gst_base_transform_buffer_alloc):
2737         Don't passthrough buffer allocation too easily if the caps change.
2738         This breaks when working in passthrough mode and upstream changes
2739         it's caps. Fixes bug #526768.
2740
2741 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2742
2743         * gst/gstinfo.c (gst_debug_log_valist):
2744           Improved the __FILE__ part of debug output for MSVC.
2745
2746 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2747
2748         * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
2749           Declaration after statement fix for compilers like MSVC.
2750
2751 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2752
2753         * win32/common/config.h.in:
2754           Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
2755           use the real thing than having "???" unconditionally.
2756
2757 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2758
2759         * gst/gstinfo.h (GST_FUNCTION):
2760           Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
2761
2762 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
2763
2764         * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
2765         Small code cleanup.
2766
2767         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2768         (gst_base_sink_set_flushing):
2769         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
2770         Fix some comments.
2771
2772 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
2773
2774         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2775         (gst_fake_src_init), (gst_fake_src_set_property),
2776         (gst_fake_src_get_property), (gst_fake_src_start):
2777         * plugins/elements/gstfakesrc.h:
2778         Added format property to control the format of the newsegment events.
2779         API: GstFakeSrc:format
2780
2781 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
2782
2783         * win32/common/libgstreamer.def:
2784         Add gst_pad_has_name() to the exported symbols.
2785
2786 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
2787
2788         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2789         * libs/gst/base/gstbasetransform.c:
2790         (gst_base_transform_prepare_output_buffer):
2791         Don't allow negative sizes when allocating new buffers.
2792         Fixes bug #461253.
2793
2794 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2795
2796         Patch by: Sjoerd Simons <sjoerd at luon net>
2797
2798         * gst/gstbus.c: (gst_bus_source_dispatch):
2799           Don't print a warning if the queue is empty when we try to pop
2800           here. That could happen if another thread or callback set the
2801           bus to flushing between the source's check/prepare and the
2802           dispatch being called (#531538).
2803
2804 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2805
2806         * plugins/elements/gstmultiqueue.c:
2807           Small docs fix.
2808         
2809 2008-05-05  Sebastian Dröge  <slomo@circular-chaos.org>
2810
2811         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2812         Add unit test for deserializing uint64s and check some really large
2813         numbers in the int64 test.
2814
2815 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
2816
2817         * tools/gst-inspect.c: (n_print), (print_hierarchy),
2818         (print_interfaces), (print_element_properties_info),
2819         (print_signal_info):
2820         Use "%s" as format string instead of printing strings directly.
2821
2822 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
2823
2824         * gst/gstclock.c: (gst_clock_set_calibration):
2825         Make some checks actually useful.
2826
2827         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
2828         Remove some unused code. Unsigned integers tend to be >= 0.
2829
2830 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
2831
2832         * gst/gstminiobject.c: (gst_value_get_mini_object):
2833           Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
2834           function was not in the unscheduled 0.10.19 release.
2835
2836 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
2837
2838         * gst/gstregistry.c: (gst_registry_scan_path_level):
2839           Only print one log message per non-plugin file.
2840
2841 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
2842
2843         * gst/gstinfo.c: (gst_debug_log_default):
2844           Fix alignment of debug log columns on 64-bit.
2845
2846 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
2847
2848         * docs/libs/Makefile.am:
2849         * docs/libs/gstreamer-libs-sections.txt:
2850           Ignore private controller headers for docs.
2851
2852 2008-05-03  Sebastian Dröge  <slomo@circular-chaos.org>
2853
2854         * libs/gst/controller/gstcontrollerprivate.h:
2855         * libs/gst/controller/gsthelper.c:
2856         * libs/gst/controller/gstinterpolation.c:
2857         * libs/gst/controller/gstinterpolationcontrolsource.c:
2858         (gst_interpolation_control_source_set_interpolation_mode):
2859         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
2860         * libs/gst/controller/lib.c:
2861         Move some private declarations into private headers.
2862
2863 2008-05-02  Sebastian Dröge  <slomo@circular-chaos.org>
2864
2865         * gst/gstdebugutils.c: (debug_dump_element_pad):
2866         Remove some code that is unused after Stefan's refactoring and uses
2867         uninitialized variables now, resulting in a compiler warning.
2868
2869 2008-05-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
2870
2871         * gst/gstregistry.c: (gst_registry_scan_path_level):
2872           Run g_str_has_suffix() only on the file name, not the
2873           entire file path.
2874
2875 2008-04-30  Tim-Philipp Müller  <tim.muller at collabora co uk>
2876
2877         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
2878           Since we're not called only from the chain function any longer,
2879           we can't assume that there's always data in the queue, so move
2880           the is_full check to the beginning of the loop (otherwise we'd
2881           hit the assert when changing the limit properties while the
2882           queue is empty or not running yet).
2883           Also, only set a discont if items were actually removed from
2884           the queue.
2885
2886         * tests/check/elements/queue.c: (test_leaky_downstream):
2887           Test case for the above.
2888
2889 2008-04-30  Wim Taymans  <wim.taymans@collabora.co.uk>
2890
2891         Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
2892
2893         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
2894         (gst_queue_chain), (queue_capacity_change),
2895         (gst_queue_set_property):
2896         When changing thr max capacity of a leaky queue, immediatly drop buffers
2897         instead of waiting for a push on the sinkpad. Fixes #530637.
2898
2899 2008-04-30  Stefan Kost  <ensonic@users.sf.net>
2900
2901         * gst/gstdebugutils.c:
2902           Refactor code and fix handling of ghostpads and their proxypads.
2903
2904 2008-04-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2905
2906         * docs/gst/gstreamer-sections.txt:
2907         * gst/gstevent.c: (gst_event_has_name):
2908         * gst/gstevent.h:
2909         * tests/check/gst/gstevent.c: (GST_START_TEST):
2910         Add method to conveniently check the name of a custom event with
2911         gst_event_has_name().
2912         Reformat the event docs so that related methods are put together instead
2913         of the default alphabetical sort.
2914         Update unit test with new method.
2915         API: GstEvent::gst_event_has_name()
2916
2917 2008-04-28  Michael Smith <msmith@songbirdnest.com>
2918
2919         * libs/gst/check/Makefile.am:
2920           Don't add an explicit link to libgstreamer-0.10.la; it's already
2921           included in GST_OBJ_LIBS.
2922
2923 2008-04-28  Sebastian Dröge  <slomo@circular-chaos.org>
2924
2925         * gst/gst.c:
2926         Register GstClock type from a type-safe context. Fixes bug #530317.
2927
2928 2008-04-25  Michael Smith <msmith@songbirdnest.com>
2929
2930         Patch by Edward Hervey <edward.hervey@collabora.co.uk>
2931         * tools/gst-run.c:
2932           Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
2933
2934 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2935
2936         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
2937         (gst_bin_dispose):
2938         Use the GLib stuff to create a private structure.
2939         Add some locking around some dispose methods to make them a little
2940         safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
2941
2942 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
2943
2944         * libs/gst/base/gstbasesink.h:
2945         * libs/gst/base/gstbasesrc.h:
2946         * libs/gst/base/gstbasetransform.h:
2947         * libs/gst/base/gstcollectpads.h:
2948           Fix doc typos and unify caps a bit.
2949
2950 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
2951
2952         * tools/gst-launch.1.in:
2953           Forgot to also add the envvar docs here.
2954
2955 2008-04-25  Tim-Philipp Müller  <tim at centricular dot net>
2956
2957         * gst/gst.c: (init_post), (gst_deinit):
2958         * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
2959           (test_concurrent_create), (gst_pipeline_suite):
2960           Ref some more classes in gst_init() to work around thread-safety
2961           issues in pre-2.16 GLibs, and add basic unit test.
2962
2963 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2964
2965         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2966         (gst_base_sink_send_event):
2967         Rearrange the latency query code. We always want to do the upstream
2968         query, even if we are not live so that the upstream elements can get the
2969         latency results too. If we fail doing the query and we are live, we
2970         return TRUE afterwards.
2971
2972 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
2973
2974         patch by: Jason Zhao <e3423c@motorola.com>
2975
2976         * docs/gst/running.xml:
2977         * gst/gst.c:
2978           Enable/disable scan_and_update_registry() based on commandline switch
2979           or environment variable. Fixes #520468.
2980           
2981         * ChangeLog:
2982           Fix typo in my previous commit.
2983
2984 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
2985
2986         * gst/gstregistrybinary.c:
2987           Add a warning if we hit unhandled factories when saving.
2988           More debug logging detail, but move to LOG category.
2989
2990 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
2991
2992         * gst/gstregistry.c:
2993           Tell the *truth* when improving the documentation.
2994
2995 2008-04-23  Sebastian Dröge  <slomo@circular-chaos.org>
2996
2997         * gst/gstelementfactory.c: (gst_element_factory_make):
2998         Unref the factory after it was used the last time, not before.
2999
3000         * gst/gstindexfactory.c: (gst_index_factory_make):
3001         Improve debugging a bit and don't leak a ref to the index factory with
3002         each call.
3003
3004 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3005
3006         * gst/gstregistry.c:
3007           Improve the documentation.
3008
3009 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3010
3011         * gst/gstsegment.c:
3012           The glib macro seems to be borked. Use g_slice_copy directly and cast
3013           in the hope that this fixes the warning on 64bit.
3014
3015 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3016
3017         * gst/gstsegment.c:
3018           Document the new function. Use g_slice_dup() (no need for
3019           gst_segment_init()).    
3020
3021 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
3022
3023         * docs/gst/gstreamer-sections.txt:
3024           Move GParamSepc macros to standart section.
3025   
3026         * gst/gstbin.c:
3027           Dn't document _get_type - its in private section in docs anyway and
3028           this doc-blob was incomplete.
3029
3030         * gst/gstclock.h:
3031           Fix wrong symbol names in docs.
3032
3033         * gst/gstmacros.h:
3034           Add once doc sentence.
3035
3036         * tests/check/gst/.cvsignore:
3037           Ignore more.
3038
3039 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3040
3041         * docs/gst/Makefile.am:
3042           And remove those libs here.
3043
3044 2008-04-21  Tim-Philipp Müller  <tim at centricular dot net>
3045
3046         * docs/libs/Makefile.am:
3047           Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
3048
3049 2008-04-21  Wim Taymans  <wim.taymans@collabora.co.uk>
3050
3051         Patch by: Olivier Crete <tester at tester dot ca>
3052
3053         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3054         Add the min-threshold to the min latency if possible. Fixes #529148.
3055
3056 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3057
3058         * docs/gst/gstreamer.types.in:
3059           Stupid editor, I removed that line as it should go in yet.
3060
3061 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
3062
3063         * docs/gst/gstreamer.types.in:
3064         * docs/libs/gstreamer-libs.types:
3065           Remove library types fro core docs and have them in libs docs.
3066           Reformat and cleanup. Add comment for miniobject types.
3067
3068 2008-04-20  Tim-Philipp Müller  <tim at centricular dot net>
3069
3070         * gst/gsturi.c: (gst_uri_get_protocol):
3071           Fix leak: g_strdown operates on the string in place, while
3072           g_ascii_strdown() returns a newly-allocated string.
3073
3074 2008-04-20  Sebastian Dröge  <slomo@circular-chaos.org>
3075
3076         * tools/gst-inspect.c: (print_uri_handler_info),
3077         (print_element_info):
3078         Print the URI protocols and the URI type supported by the element.
3079
3080 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3081
3082         * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
3083         Use g_value_take_string() instead of the deprecated
3084         g_value_set_string_take_ownership().
3085
3086 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3087
3088         * gst/gstregistrybinary.c: (_gst_crc32):
3089         Return the old CRC instead of 0 if we give a NULL buffer
3090         or a buffer with a length of 0.
3091
3092 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3093
3094         * gst/gsturi.c: (gst_uri_protocol_check_internal),
3095         (gst_uri_get_protocol), (gst_uri_has_protocol),
3096         (gst_uri_construct), (gst_uri_handler_set_uri):
3097         A valid URI scheme can also include '+', '-' and '.' additional
3098         to alphanumeric characters as per RFC 3986 Section 3.1.
3099
3100         Handle URI schemes case insensitive in all places and convert
3101         to lower-case when constructing an URI or setting an URI with
3102         the GstURIHandler interface. Fixes bug #528868.
3103         All elements can still assume (as before) that they will
3104         get passed URIs with a lower-case URI scheme by the GstURIHandler
3105         interface.
3106
3107 2008-04-17  Tim-Philipp Müller  <tim at centricular dot net>
3108
3109         * gst/gstcaps.c: (gst_static_caps_get):
3110         * gst/gstclock.c: (gst_clock_entry_new):
3111           Don't use g_atomic_set_int where it's not needed.
3112
3113 2008-04-17  Wim Taymans  <wim.taymans@collabora.co.uk>
3114
3115         * gst/gstvalue.c: (gst_value_deserialize_caps):
3116         * gst/parse/grammar.y:
3117         Fix 2 caps leaks.
3118
3119 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3120
3121         * gst/gstutils.c: (gst_atomic_int_set):
3122         Use g_atomic_int_set() here too instead of assignment +
3123         g_atomic_int_get().
3124
3125 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3126         
3127         * gst/gstutils.c:
3128         * gst/gstutils.h:
3129         API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
3130         now that we depend on new enough GLib.
3131
3132         * gst/gstcaps.c: (gst_static_caps_get):
3133         * gst/gstclock.c: (gst_clock_entry_new):
3134         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
3135         (gst_debug_set_default_threshold), (_gst_debug_category_new),
3136         (gst_debug_category_set_threshold):
3137         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3138         (gst_base_sink_set_qos_enabled):
3139         * libs/gst/net/gstnettimeprovider.c:
3140         (gst_net_time_provider_set_property):
3141         Use g_atomic_int_set() instead of gst_atomic_int_set().
3142
3143 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3144
3145         * gst/gstquery.c:
3146           Also use G_GINT64_CONSTANT for the queries.
3147
3148 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3149
3150         * gst/gstmessage.c:
3151           Use G_GINT64_CONSTANT in varargs function.
3152
3153 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3154
3155         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
3156         Initialize the registry magic with zeroes.
3157
3158 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3159
3160         * gst/gstregistrybinary.c: (_gst_crc32),
3161         (gst_registry_binary_write),
3162         (gst_registry_binary_initialize_magic),
3163         (gst_registry_binary_write_cache),
3164         (gst_registry_binary_check_magic),
3165         (gst_registry_binary_read_cache):
3166         * gst/gstregistrybinary.h:
3167         Add crc32 checksum to the binary registry file and check this before
3168         accepting a registry file.
3169
3170         Also free the data list when writing to the registry file fails.
3171
3172 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3173
3174         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3175         (gst_registry_binary_load_feature),
3176         (gst_registry_binary_load_plugin):
3177         If an element supports the Uri interface, returns a valid pointer
3178         to the supported URI protocols but this pointer contains nothing
3179         don't try to save that as it will corrupt the registry.
3180
3181         Don't unref the plugin if we added it to the registry already but
3182         fail to load a feature as gst_registry_add_plugin() takes ownership
3183         of the plugin.
3184
3185         Improve debugging a bit.
3186
3187 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3188
3189         * gst/gsttaglist.h:
3190           Clarify some tag item docs after discussion on irc.
3191
3192 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3193
3194         * docs/gst/gstreamer-docs.sgml:
3195           Remove commented out plugins (they have their own docs). Update
3196           comments.
3197
3198 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3199
3200         * docs/gst/gstreamer-docs.sgml:
3201         * docs/gst/gstreamer-sections.txt:
3202         * gst/gstparamspecs.c:
3203         * gst/gstparamspecs.h:
3204           Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
3205           docs to own section.
3206
3207         * gst/gstvalue.c:
3208           This now only documents GValue.
3209           
3210         * docs/libs/gstreamer-libs-sections.txt:
3211         * libs/gst/controller/gstcontroller.h:
3212           Remove GST_PARAM_CONTROLLABLE.
3213
3214 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3215
3216         * docs/README:
3217           Correct file path. Tell about how to use -overrides.txt.
3218         * docs/design/draft-tagreading.txt:
3219           Small design update.
3220
3221 2008-04-14  Sebastian Dröge  <slomo@circular-chaos.org>
3222
3223         * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
3224         (gst_registry_binary_load_plugin):
3225         Fix a typo in a debug message and revert change from yesterday as
3226         gst_registry_add_plugin() will only fail if something is really wrong
3227         already and we can't survive it anyway.
3228
3229 2008-04-14  Tim-Philipp Müller  <tim at centricular dot net>
3230
3231         * gst/gst.c: (init_post), (gst_deinit):
3232           Pre-register GstGError GType from a thread-safe context
3233           (fixes #527967); unref enum type classes in deinit.
3234
3235 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3236
3237         Patch by: Rene Stadler <mail at renestadler de>
3238
3239         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3240           Merging an empty list with another list in KEEP_ALL mode should
3241           yield an empty list as result and not the second list (#512578).
3242
3243         * tests/check/gst/gsttagsetter.c:
3244           Add unit test for tag merge modes and the aforementioned bug.
3245
3246 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3247
3248         Patch by: Rene Stadler <mail at renestadler de>
3249
3250         * gst/gsttaglist.h:
3251           Fix description to match the order in the table (#512577).
3252   
3253 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3254
3255         Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>
3256
3257         * libs/gst/net/gstnettimepacket.h:
3258         * docs/libs/gstreamer-libs-sections.txt:
3259           Define socklen_t as int if it's not defined yet. Fixes compilation
3260           with MSVC6 and other versions where socklen_t is not defined in
3261           the windows headers (#518022).
3262
3263 2008-04-13  Sebastian Dröge  <slomo@circular-chaos.org>
3264
3265         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3266         If gst_registry_add_plugin() fails our reference to the plugin is
3267         invalid so don't try to use it anymore and instead error out.
3268
3269 2008-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3270
3271         * tools/gst-xmlinspect.c: (print_element_info), (main):
3272           De-cruft a bit. If no argument is specified, print all elements in
3273           XML syntax rather than a freestyle list of elements like gst-inspect.
3274           Also, don't print XML header chunk unless we actually have something
3275           to print (ie. don't print it before an error message); print error
3276           message to stderr not stdout. Remove support for printing plugin
3277           info (it would just output something freestyle along the lines of
3278           gst-inspect so far), which fixes #514507. Also add license header.
3279
3280 2008-04-11  Julien Moutte  <julien@fluendo.com>
3281
3282         Mac OS X love...
3283         * configure.ac: Merge platform specific defines, introduce a new
3284         define on OS X to remember that forking when updating registry is
3285         unsafe.
3286         * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
3287         module.
3288         * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
3289         is defined.
3290         * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
3291         condition that leads to absolutely no plugins being registered on
3292         OS X.
3293
3294 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3295
3296         Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3297
3298         * gst/gstutils.c: (gst_pad_add_data_probe),
3299           (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
3300           (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
3301           (gst_pad_add_buffer_probe_full):
3302         * gst/gstutils.h:
3303         * docs/gst/gstreamer-sections.txt:
3304         * win32/common/libgstreamer.def:
3305           Add gst_pad_add_*_probe_full() functions with a notify callback that
3306           lets the caller free the data it passes to the probe functions. This
3307           is useful for bindings such as gst-python or gstreamermm (#526814).
3308           API: gst_pad_add_data_probe_full
3309           API: gst_pad_add_buffer_probe_full
3310           API: gst_pad_add_event_probe_full
3311
3312         * tests/check/gst/gstutils.c:
3313           Add minimal unit test to make sure freeing the data actually works
3314           as expected.
3315
3316         * tests/benchmarks/.cvsignore:
3317           Random cvsignore addendum.
3318
3319 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3320
3321         * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
3322           (GST_DEBUG_BIN_TO_DOT_FILE):
3323           Mention GstDebugGraphDetails enum type in doc blurb so we get a link
3324           to it in the docs (since these are macros the types of the arguments
3325           won't be shown in the docs otherwise).
3326
3327 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3328
3329         * gst/gstpad.c:
3330           Do not abort on out of memory for pad_alloc_buffer.
3331
3332 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3333
3334         * libs/gst/check/gstcheck.c:
3335           Remove blank line between symbol name ad parameters to fix gtkdoc
3336           warning.
3337
3338 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3339
3340         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3341
3342         * docs/gst/gstreamer-sections.txt:
3343         * gst/gstsegment.c:
3344         * gst/gstsegment.h:
3345         * win32/common/libgstreamer.def:
3346           Expose gst_segment_copy() to make things easier for the c++ bindings.
3347           Fixes #518932.
3348           API: gst_segment_copy()
3349
3350 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3351
3352         * gst/gst.c: (gst_init_get_option_group), (init_post):
3353           Fix const position; ref GType classes for enum types to work
3354           around thread-safety issues in GLib versions < 2.16.
3355
3356 2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3357
3358         * docs/design/part-buffering.txt:
3359         Fix some typos and set the estimated total for push mode to -1.
3360
3361         * gst/gstquery.c: (gst_query_new_buffering):
3362         Set buffering-left to 0 as we're not buffering by default.
3363
3364         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3365         Implement BUFFERING query.
3366
3367 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3368
3369         Based on patch by: Milosz Derezynski <internalerror gmail com>
3370
3371         * gst/gsterror.c: (_gst_stream_errors_init):
3372         * gst/gsterror.h:
3373           Add two new error codes for encrypted content. Fixes #524659.
3374           API: GST_STREAM_ERROR_DECRYPT
3375           API: GST_STREAM_ERROR_DECRYPT_NOKEY
3376
3377 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3378
3379         * gst/gstquery.h:
3380           Fix typo.
3381
3382         * win32/common/libgstreamer.def:
3383           Add new functions.
3384
3385 2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>
3386
3387         * plugins/elements/gstidentity.c: (gst_identity_event),
3388         (gst_identity_start):
3389         Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
3390         event after processing some data. Fixes bug #526042.
3391
3392 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3393
3394         * docs/gst/gstreamer-sections.txt:
3395         * gst/gstquery.c: (gst_query_parse_latency),
3396         (gst_query_set_buffering_percent),
3397         (gst_query_parse_buffering_percent),
3398         (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
3399         * gst/gstquery.h:
3400         Rename _avail -> _range
3401         API: gst_query_set_buffering_range
3402         API: gst_query_parse_buffering_range
3403
3404 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3405
3406         * docs/design/part-buffering.txt:
3407         * gst/gstquark.c:
3408         * gst/gstquark.h:
3409         * gst/gstquery.c: (gst_query_parse_latency),
3410         (gst_query_new_buffering), (gst_query_set_buffering_percent),
3411         (gst_query_parse_buffering_percent):
3412         * gst/gstquery.h:
3413         Add busy field and quark for the buffering query so that the app can
3414         only use the query to see if buffering is in progress.
3415
3416 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3417
3418         * docs/gst/gstreamer-sections.txt:
3419         * gst/gstmessage.c: (gst_message_set_buffering_stats),
3420         (gst_message_parse_buffering_stats):
3421         * gst/gstmessage.h:
3422         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3423         (gst_query_parse_latency), (gst_query_new_buffering),
3424         (gst_query_set_buffering_percent),
3425         (gst_query_parse_buffering_percent),
3426         (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
3427         (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
3428         * gst/gstquery.h:
3429         Reorder the message docs and headers for clarity.
3430         Add aditional buffering stats API for messages.
3431         Add buffering query.
3432         Convert some leftover queries to use GstQuark.
3433         API: gst_message_set_buffering_stats
3434         API: gst_message_parse_buffering_stats
3435         API: GST_QUERY_BUFFERING
3436         API: GstBufferingMode
3437         API: gst_query_new_buffering
3438         API: gst_query_set_buffering_percent
3439         API: gst_query_parse_buffering_percent
3440         API: gst_query_set_buffering_stats
3441         API: gst_query_parse_buffering_stats
3442
3443 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3444
3445         * gst/gstmessage.c: (gst_message_new_error),
3446         (gst_message_new_warning), (gst_message_new_info),
3447         (gst_message_new_buffering), (gst_message_new_state_changed),
3448         (gst_message_new_clock_provide), (gst_message_new_clock_lost),
3449         (gst_message_new_new_clock), (gst_message_new_segment_start),
3450         (gst_message_new_segment_done), (gst_message_new_duration),
3451         (gst_message_new_async_start), (gst_message_parse_buffering),
3452         (gst_message_parse_state_changed),
3453         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3454         (gst_message_parse_new_clock), (gst_message_parse_error),
3455         (gst_message_parse_warning), (gst_message_parse_info),
3456         (gst_message_parse_segment_start),
3457         (gst_message_parse_segment_done), (gst_message_parse_duration),
3458         (gst_message_parse_async_start):
3459         Use GstQuark for messages.
3460
3461 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3462
3463         * gst/gstquark.c: (_priv_gst_quarks_initialize):
3464         * gst/gstquark.h:
3465         Add some more quarks needed for messages and queries.
3466
3467 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3468
3469         * docs/design/part-buffering.txt:
3470         Remove the "none" buffering mode, STREAM is a good default.
3471         Move estimated-time to the avail query, that's when it will be needed.
3472         Other small typo fixes and updates.
3473
3474 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3475
3476         * gst/gstindex.c: (gst_index_resolver_get_type):
3477           Don't put descriptions into the nick field of a GEnumValue: it's not
3478           meant for that and some language bindings rely on the nick field to
3479           construct constants and the like. Fixes #526705.
3480
3481 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3482
3483         * NEWS:
3484         * RELEASE:
3485         * gstreamer.doap:
3486           Merge other changes from 0.10.19 release branch.
3487
3488 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
3489
3490         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3491
3492         * configure.ac:
3493         Actually build dlls when cross-compiling with mingw32.
3494         Fixes bug #526247.
3495
3496 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
3497
3498         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3499
3500         * gst/gstpoll.c:
3501         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
3502
3503 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
3504
3505         * docs/design/draft-latency.txt:
3506         Fix typo.
3507
3508         * docs/design/part-buffering.txt:
3509         Update design docs with more buffering ideas.
3510
3511 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
3512
3513         * configure.ac:
3514           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
3515
3516 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3517
3518         * configure.ac:
3519           Revert part that belongs to the preset patch.
3520
3521 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3522
3523         * configure.ac:
3524           Add qoutes to the define. Fixes # 525961.
3525
3526 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
3527
3528         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
3529         (gst_file_index_load), (gst_file_index_add_id),
3530         (gst_file_index_get_assoc_entry):
3531         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
3532         (gst_mem_index_free_id), (gst_mem_index_add_id),
3533         (gst_mem_index_index_format):
3534         Use GSlice when possible.
3535
3536 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
3537
3538         * libs/gst/controller/gstinterpolationcontrolsource.c:
3539         (gst_control_point_free),
3540         (gst_interpolation_control_source_set_internal):
3541         Use GSlice for allocating the control points.
3542
3543 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
3544
3545         * plugins/elements/gsttypefindelement.c:
3546         (gst_type_find_element_class_init),
3547         (gst_type_find_element_set_property),
3548         (gst_type_find_element_get_property),
3549         (gst_type_find_element_activate):
3550         * plugins/elements/gsttypefindelement.h:
3551         Cleanup properties.
3552         Fix pad leak when peer query fails.
3553         We can still typefind when the peer returns -1.
3554         Add property to force caps and bypass typefinding. This will be used in
3555         uridecodebin.
3556         API::force-caps
3557
3558 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3559
3560         * configure.ac:
3561         Require GLib 2.12.
3562
3563         * gst/glib-compat-private.h:
3564         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
3565         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
3566         Unconditionally use GSlice for allocation.
3567
3568         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
3569         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
3570         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
3571         (gst_structure_free):
3572         Use GSlice for allocation.
3573
3574 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3575
3576         * gst/parse/Makefile.am:
3577         * gst/parse/grammar.tab.pre.c:
3578         * gst/parse/grammar.tab.pre.h:
3579         * gst/parse/lex._gst_parse_yy.pre.c:
3580         Require a new enough flex and bison and remove the parser hacks to use
3581         a pre-regenerated version.
3582
3583 2008-04-01  Julien Moutte  <julien@fluendo.com>
3584
3585         patch by: Jason Zhao <E3423C@motorola.com>
3586
3587         * configure.ac: Add a configure switch to disable option parsing
3588         in gst_init.
3589         Fixes #522882.
3590
3591 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3592
3593         * configure.ac:
3594         * gst/gstregistry.c:
3595           MacOS has plugins under .so or under .dylib. Add detection for MacOS
3596           and handle this case.
3597
3598         * gst/gst.c:
3599           Add a comment here describing, why we stat each plugin and not try to
3600           be smart.
3601
3602 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
3603
3604         * libs/gst/base/gstbasetransform.c:
3605         (gst_base_transform_prepare_output_buffer):
3606         Also unset the GAP flag on buffers if we're working inplace but
3607         the element is not GAP-aware.
3608
3609         Mark a comment as FIXME 0.11.
3610
3611 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3612
3613         * gst/gst.c:
3614           Fix type in log message and add one to ease seeing how long registry
3615           cache verification takes.
3616
3617         * gst/gstregistry.c:
3618           Only test plugin filenames against G_MODULE_SUFFIX.
3619
3620 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3621
3622         * gst/gstdebugutils.c:
3623           Improve handling ghost/proxy pads.
3624
3625 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
3626
3627         * docs/gst/gstreamer-sections.txt:
3628         * gst/gstpad.c:
3629         * gst/gstpad.h:
3630           Expose macro to docs and fix link to it.
3631
3632 2008-03-27  Michael Smith <msmith@fluendo.com>
3633
3634         * libs/gst/dataprotocol/dataprotocol.c:
3635         (gst_dp_packet_from_event_1_0):
3636           When calculating GDP body CRC, use the correct pointer. 
3637           Fixes part of #522401.
3638
3639 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3640
3641         Patch by: Mark Nauwelaerts <manauw at skynet be>
3642
3643         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3644         (gst_identity_init), (gst_identity_prepare_output_buffer):
3645         Identity is not always a passthrough element, it can modify the buffer
3646         timestamps when it has a datarate and operates in single-segment mode.
3647         We therefore make it an in_place filter with a custom buffer prepare
3648         function that conditionally makes the input buffer metadata writable
3649         when needed.  Fixes #523985.
3650
3651 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3652
3653         Patch by: Mark Nauwelaerts <manauw at skynet be>
3654
3655         * gst/gstclock.h:
3656         * libs/gst/base/gstbasesrc.h:
3657         * libs/gst/base/gstbasetransform.c:
3658         * libs/gst/check/gstcheck.c:
3659         Small documentation fixes. Fixes #523978.
3660
3661 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3662
3663         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3664         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3665         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
3666
3667 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3668
3669         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
3670         (single_queue_underrun_cb):
3671         When trying to make room in the queue, bump the max allowed buffers
3672         bigger than the current amount of buffers in the queue. this fixes some
3673         nasty deadlocks in multiqueue when dynamically changing the limits of
3674         the queue.
3675
3676 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3677
3678         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3679
3680         * gst/gstcaps.c: (gst_caps_set_simple),
3681         (gst_caps_set_simple_valist), (gst_caps_intersect):
3682         * gst/gstcaps.h:
3683         Constify the field gchar * params in set_simple and friends.
3684         Fixes #522326.
3685
3686 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3687
3688         * gst/gstvalue.c: (gst_value_transform_object_string):
3689         Transform a GstObject to a more meaningfull string that includes the
3690         object type in addition to its name.
3691
3692 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
3693
3694         * ChangeLog:
3695           ChangeLog surgery to add bugnumber to commit.
3696
3697 2008-03-23  Rene Stadler  <mail@renestadler.de>
3698
3699         * libs/gst/base/gstbasetransform.c:
3700         (gst_base_transform_set_gap_aware): Fix confusing documentation.
3701
3702 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3703
3704         * gst/gstregistrybinary.c: (gst_registry_binary_write):
3705         Rename constant everywhere and don't forget one occurence.
3706
3707 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3708
3709         * gst/gstregistrybinary.c: (gst_registry_binary_write):
3710         Align memory to the pointer size even if the architecture allows
3711         unaligned memory access. Unaligned memory access usually comes with
3712         performance penality.
3713
3714 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3715
3716         * gst/gstregistrybinary.c: (gst_registry_binary_write),
3717         (gst_registry_binary_check_magic),
3718         (gst_registry_binary_load_pad_template),
3719         (gst_registry_binary_load_feature),
3720         (gst_registry_binary_load_plugin):
3721         Align memory to the pointer size instead of always 32 bit. Fixes
3722         unaligned memory accesses on ia64 and friends.
3723
3724         * gst/gstregistrybinary.h:
3725         Bump binary registry format version for this as it changes the
3726         format on those architectures that don't have unaligned access
3727         and 64 bit pointers.
3728
3729 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3730
3731         * docs/pwg/advanced-dparams.xml:
3732         * docs/pwg/building-props.xml:
3733         * docs/pwg/other-source.xml:
3734         * gst/glib-compat.h:
3735         * gst/gstbin.c: (gst_bin_class_init):
3736         * gst/gstclock.c: (gst_clock_class_init):
3737         * gst/gstindex.c: (gst_index_class_init):
3738         * gst/gstobject.c: (gst_object_class_init):
3739         * gst/gstpad.c: (gst_pad_class_init):
3740         * gst/gstpipeline.c: (gst_pipeline_class_init):
3741         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3742         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
3743         * libs/gst/base/gstbasetransform.c:
3744         (gst_base_transform_class_init):
3745         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
3746         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
3747         (_gst_check_fault_handler_sighandler),
3748         (_gst_check_fault_handler_setup), (gst_check_init):
3749         * libs/gst/controller/gstcontroller.c:
3750         (_gst_controller_class_init):
3751         * libs/gst/controller/gstlfocontrolsource.c:
3752         (gst_lfo_control_source_class_init):
3753         * libs/gst/net/gstnetclientclock.c:
3754         (gst_net_client_clock_class_init):
3755         * libs/gst/net/gstnettimeprovider.c:
3756         (gst_net_time_provider_class_init):
3757         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
3758         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3759         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3760         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
3761         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
3762         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
3763         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
3764         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3765         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
3766         * plugins/elements/gstqueue.c: (gst_queue_class_init):
3767         * plugins/elements/gsttee.c: (gst_tee_class_init):
3768         * plugins/elements/gsttypefindelement.c:
3769         (gst_type_find_element_class_init):
3770         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
3771         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
3772         use it everywhere for GParamSpecs that use static strings (i.e. all).
3773         This gives us less memory usage, fewer allocations and thus less
3774         memory defragmentation. Fixes bug #523806.
3775
3776 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3777
3778         * gst/gstminiobject.c: (gst_value_dup_mini_object),
3779         (gst_param_spec_mini_object):
3780         * gst/gstminiobject.h:
3781         * win32/common/libgstreamer.def:
3782         * docs/gst/gstreamer-sections.txt:
3783         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
3784         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
3785         GstParamSpecMiniObject into a public header for this.
3786
3787         This make GstMiniObject a bit more consistent with GObject and makes
3788         it possible to extend the param specs.
3789
3790         gst_value_dup_mini_object is mainly useful for set_property methods.
3791
3792         Fixes bug #523798.
3793
3794         * tools/gst-inspect.c: (print_element_properties_info):
3795         Print something useful for GstMiniObject properties and not just
3796         "unknown type".
3797
3798 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
3799
3800         * docs/gst/gstreamer-sections.txt:
3801         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
3802         (gst_registry_binary_check_magic):
3803         * gst/gstregistrybinary.h:
3804         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
3805         and add it to the (private part) of the docs to fix the build.
3806
3807 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
3808
3809         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
3810         (gst_registry_binary_check_magic),
3811         (gst_registry_binary_read_cache):
3812         * gst/gstregistrybinary.h:
3813         Don't use GST_MAJORMINOR for the binary registry version. Instead
3814         hardcode a value that must be changed whenever the format changes
3815         in an incompatible way.
3816         Also don't GST_ERROR when there is a version mismatch, just
3817         regenerate the registry silently.
3818
3819 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
3820
3821         * configure.ac:
3822         Back to development - 0.10.18.1
3823
3824 === release 0.10.18 ===
3825
3826 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
3827
3828         * configure.ac:
3829           releasing 0.10.18, "So far away"
3830
3831 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
3832
3833         * configure.ac:
3834         * win32/common/config.h:
3835         0.10.17.4 pre-release
3836
3837 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
3838
3839         Patch by: Ole André Vadla Ravnås
3840             <ole dot andre dot ravnas at tandberg dot com>
3841
3842         * docs/gst/gstreamer-sections.txt:
3843         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
3844         (gst_poll_update_winsock_event_mask),
3845         (gst_poll_prepare_winsock_active_sets),
3846         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
3847         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
3848         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
3849         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
3850         (gst_poll_check_ctrl_commands), (gst_poll_wait):
3851         * gst/gstpoll.h:
3852         * win32/common/libgstreamer.def:
3853         Add new function gst_poll_fd_ignored() for improved Windows
3854         compatibility.
3855         Various minor fixes and cleanups. See #520808.
3856
3857 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
3858
3859         * gst/gstindex.c: (gst_index_entry_free):
3860         * gst/gstindex.h:
3861           Don't free key strings which we don't own. Fixes crash in
3862           gst_index_entry_free() (#522741).
3863
3864         * tests/check/Makefile.am:
3865         * tests/check/gst/.cvsignore:
3866         * tests/check/gst/gstindex.c: (test_index_entries),
3867           (gst_index_suite), (gst_index):
3868           Add unit test for the above.
3869
3870 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
3871
3872         * win32/common/libgstreamer.def:
3873         Remove symbols that were removed recently. Fixes bug #521740.
3874
3875 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
3876
3877         * configure.ac:
3878         * win32/common/config.h:
3879         0.10.17.3 pre-release
3880
3881 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3882
3883         Patch by: Ole André Vadla Ravnås
3884             <ole dot andre dot ravnas at tandberg dot com>
3885
3886         * docs/gst/gstreamer-sections.txt:
3887         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
3888         (gst_poll_update_winsock_event_mask), (gst_poll_new),
3889         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
3890         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
3891         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
3892         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
3893         (gst_poll_fd_can_write), (gst_poll_wait),
3894         (gst_poll_set_controllable), (gst_poll_restart),
3895         (gst_poll_set_flushing):
3896         * gst/gstpoll.h:
3897         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
3898         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
3899         (gst_net_time_provider_new):
3900         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
3901         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
3902         * tests/benchmarks/gstpollstress.c: (main):
3903         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
3904         Remove GstPollMode from the API, it does not make sense to let the
3905         application control this.
3906         Add support for Win32.
3907         Fix the testsuite. Fixes #520671.
3908
3909 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
3910
3911         Patch by: Ole André Vadla Ravnås
3912             <ole dot andre dot ravnas at tandberg dot com>
3913
3914         * gst/gstregistrybinary.c:
3915         Include io.h for write() and close() when building with MSVC. Fixes
3916         bug #520877.
3917
3918 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
3919
3920         * configure.ac:
3921         * gst/gst_private.h:
3922         * gst/gstconfig.h.in:
3923         * gst/gstregistry.h:
3924         * gst/gstregistrybinary.c:
3925         * win32/common/gstconfig.h:
3926           Move registry backend API to private headers where we can. Add
3927           fixme-0.11 comments for the others. Add stubs for the xml backend when
3928           using the binary to ensure they functions exists (they should not be
3929           used though). Fixes #520756.
3930
3931 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
3932
3933         * configure.ac:
3934         * win32/common/config.h:
3935         0.10.17.2 prelease
3936
3937 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
3938
3939         * gst/gstregistrybinary.c: (gst_registry_binary_write),
3940         (gst_registry_binary_read_cache):
3941         * gst/gstregistryxml.c: (gst_registry_save):
3942         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
3943         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
3944         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
3945         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
3946         Switch to using portabl gsize/gssize instead of size_t/ssize_t
3947         Fixes #520152
3948
3949 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
3950
3951         * gst/gstminiobject.c:
3952         Import gst_private.h before any other header that might include other
3953         glib headers. This fixes the build on windows using native compilers.
3954
3955 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3956
3957         * win32/common/gstconfig.h:
3958           Add here too, just for completeness.
3959
3960 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3961
3962         * configure.ac:
3963         * gst/gstconfig.h.in:
3964         * gst/gstregistry.h:
3965           Fix broken use of config.h-defined preprocessor directive in a public
3966           header file. Add a corresponding define to gstconfig.h, since we can't
3967           really remove those function declarations from the header file now
3968           (or can we? and why are they there in the first place?).
3969
3970 2008-03-03  Andy Wingo  <wingo@pobox.com>
3971
3972         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
3973         the new warning.
3974
3975         * gst/gststructure.c (gst_structure_from_string): Warn if
3976         structure_from_string didn't consume the whole string, but the
3977         caller did not provide an end pointer.
3978
3979 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
3980
3981         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
3982
3983         * gst/gstregistryxml.c: (read_string), (load_feature):
3984           Strings allocated by libxml2 should be freed with xmlFree(), not
3985           with g_free(). Fixes issues on windows in certain contexts (#519698).
3986
3987 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
3988
3989         * gst/gstinterface.c: (gst_element_implements_interface):
3990           Don't crash if the element supports the interface queried, but does
3991           not implement GstImplementsInterface. Fixes #519584.
3992
3993         * tests/check/Makefile.am:
3994         * tests/check/gst/.cvsignore:
3995         * tests/check/gst/gstinterface.c:
3996           Add unit test for the above.
3997
3998 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3999
4000         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
4001         Small doc update.
4002
4003 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4004
4005         * gst/gstsegment.c: (gst_segment_set_seek),
4006         (gst_segment_to_stream_time):
4007         Improve some comment.
4008         Update variables where it makes more sense.
4009
4010 2008-02-29  Rene Stadler  <mail@renestadler.de>
4011
4012         * gst/gsturi.c: (gst_uri_handler_get_protocols):
4013         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
4014         URIHandlers implemented using language bindings.
4015
4016 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4017
4018         * gst/gstelementfactory.h:
4019         * tests/check/elements/fakesink.c:
4020         * tests/check/elements/fakesrc.c: (setup_fakesrc):
4021         * tests/check/elements/fdsrc.c: (setup_fdsrc):
4022         * tests/check/elements/filesink.c: (setup_filesink):
4023         * tests/check/elements/filesrc.c: (setup_filesrc):
4024         * tests/check/elements/identity.c: (setup_identity):
4025         * tests/check/elements/tee.c:
4026         * tests/check/generic/sinks.c:
4027         * tests/check/generic/states.c: (setup), (teardown):
4028         * tests/check/gst/gst.c:
4029         * tests/check/gst/gstabi.c:
4030         * tests/check/gst/gstbin.c:
4031         * tests/check/gst/gstbus.c: (pull_messages):
4032         * tests/check/gst/gstcaps.c:
4033         * tests/check/gst/gstelement.c:
4034         * tests/check/gst/gstevent.c:
4035         * tests/check/gst/gstghostpad.c:
4036         * tests/check/gst/gstiterator.c:
4037         * tests/check/gst/gstmessage.c:
4038         * tests/check/gst/gstminiobject.c: (my_foo_init):
4039         * tests/check/gst/gstobject.c: (thread_name_object),
4040         (gst_object_suite):
4041         * tests/check/gst/gstpad.c:
4042         * tests/check/gst/gstplugin.c:
4043         * tests/check/gst/gstpoll.c:
4044         * tests/check/gst/gstquery.c:
4045         * tests/check/gst/gstsegment.c:
4046         * tests/check/gst/gststructure.c:
4047         * tests/check/gst/gstsystemclock.c:
4048         * tests/check/gst/gsttask.c:
4049         * tests/check/gst/gstutils.c:
4050         * tests/check/gst/gstvalue.c:
4051         * tests/check/gst/struct_hppa.h:
4052         * tests/check/gst/struct_i386.h:
4053         * tests/check/gst/struct_ppc32.h:
4054         * tests/check/gst/struct_ppc64.h:
4055         * tests/check/gst/struct_x86_64.h:
4056         * tests/check/libs/adapter.c: (create_and_fill_adapter):
4057         * tests/check/libs/basesrc.c:
4058         * tests/check/libs/controller.c: (GST_START_TEST):
4059         * tests/check/libs/gdp.c:
4060         * tests/check/libs/gstnetclientclock.c:
4061         * tests/check/libs/gstnettimeprovider.c:
4062         * tests/check/libs/libsabi.c:
4063         * tests/check/libs/struct_hppa.h:
4064         * tests/check/libs/struct_i386.h:
4065         * tests/check/libs/struct_ppc32.h:
4066         * tests/check/libs/struct_ppc64.h:
4067         * tests/check/libs/struct_x86_64.h:
4068         * tests/check/pipelines/cleanup.c:
4069         * tests/check/pipelines/simple-launch-lines.c:
4070         * tests/check/pipelines/stress.c:
4071         And correct even more valid sparse warnings.
4072
4073         * win32/common/libgstreamer.def:
4074         Add gst_poll_fd_init to the list of symbols.
4075
4076 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4077
4078         * gst/gstconfig.h.in:
4079         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
4080         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
4081         (gst_check_log_critical_func), (gst_check_drop_buffers),
4082         (gst_check_element_push_buffer_list):
4083         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
4084         (gst_controller_get_type):
4085         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
4086         (gst_object_get_controller), (gst_object_get_control_source):
4087         * libs/gst/controller/gstinterpolationcontrolsource.c:
4088         (gst_interpolation_control_source_new):
4089         * libs/gst/controller/gstlfocontrolsource.c:
4090         (gst_lfo_control_source_new):
4091         * libs/gst/dataprotocol/dataprotocol.c:
4092         (gst_dp_event_from_packet_0_2):
4093         * plugins/elements/gstfdsrc.c:
4094         * plugins/elements/gstmultiqueue.c:
4095         * plugins/elements/gsttee.c:
4096         * plugins/elements/gsttypefindelement.c:
4097         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
4098         (gst_file_index_add_association):
4099         * plugins/indexers/gstmemindex.c:
4100         * tests/benchmarks/gstpollstress.c: (mess_some_more):
4101         * tests/check/elements/queue.c: (setup_queue):
4102         * tests/check/gst/gstpipeline.c:
4103         * tests/check/libs/collectpads.c: (setup), (teardown),
4104         (gst_collect_pads_suite):
4105         * tests/examples/adapter/adapter_test.c:
4106         * tests/examples/metadata/read-metadata.c: (make_pipeline):
4107         * tests/examples/xml/createxml.c:
4108         * tests/examples/xml/runxml.c:
4109         * tools/gst-inspect.c:
4110         * tools/gst-run.c:
4111         Correct all relevant warnings found by the sparse semantic code
4112         analyzer. This include marking several symbols static, using
4113         NULL instead of 0 for pointers, not using variable sized arrays
4114         on the stack, moving variable declarations to the beginning of
4115         a block and using "foo (void)" instead of "foo ()" for declarations.
4116
4117 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4118
4119         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4120         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4121         Don't reset GstPollFDs, this is not necessary at all.
4122
4123         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4124         (delayed_restart), (delayed_control):
4125         Use GST_POLL_FD_INIT.
4126
4127 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4128
4129         * gst/gstpoll.c: (gst_poll_fd_init):
4130         * gst/gstpoll.h:
4131         Added Since tags.
4132
4133         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4134         Use some more init macros.
4135
4136 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4137
4138         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4139         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4140         Use init macros and functions.
4141
4142 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4143
4144         * docs/gst/gstreamer-sections.txt:
4145         * gst/gstpoll.c: (gst_poll_fd_init):
4146         * gst/gstpoll.h:
4147         Add INIT macro and _init method for initializing the GstPollFD.
4148
4149 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
4150
4151         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
4152         (gst_fd_sink_update_fd):
4153         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4154         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4155         (delayed_restart), (delayed_control):
4156         Initialize some uninitialized variables as spotted by valgrind.
4157
4158 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4159
4160         * tests/benchmarks/Makefile.am:
4161         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
4162         (main):
4163         Add poll stress test.
4164
4165 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4166
4167         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4168
4169         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4170         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
4171         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
4172         * plugins/elements/gstfdsink.h:
4173         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4174         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
4175         (gst_fd_src_unlock_stop), (gst_fd_src_create),
4176         (gst_fd_src_uri_set_uri):
4177         * plugins/elements/gstfdsrc.h:
4178         Port to GstPoll. See #505417.
4179
4180 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
4181
4182         * win32/common/libgstreamer.def:
4183         Add new gst_poll_ symbols to win32 defs.
4184
4185 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4186
4187         * docs/libs/gstreamer-libs-sections.txt:
4188         * libs/gst/net/gstnetclientclock.c:
4189         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
4190         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4191         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4192         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4193         * libs/gst/net/gstnetclientclock.h:
4194         * libs/gst/net/gstnettimeprovider.c:
4195         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
4196         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4197         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4198         (gst_net_time_provider_new):
4199         * libs/gst/net/gstnettimeprovider.h:
4200         Use a private stuct to not break ABI.
4201
4202 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4203
4204         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4205
4206         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
4207         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4208         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4209         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4210         * libs/gst/net/gstnetclientclock.h:
4211         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
4212         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4213         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4214         (gst_net_time_provider_new):
4215         * libs/gst/net/gstnettimeprovider.h:
4216         Massive code removal and cleanups because of GstPoll.
4217         Fixes #505417.
4218
4219 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4220
4221         * configure.ac:
4222         Add checks for poll, ppoll and pselect.
4223
4224         * docs/gst/gstreamer-docs.sgml:
4225         * docs/gst/gstreamer-sections.txt:
4226         Add docs for GstPoll.
4227
4228         * gst/Makefile.am:
4229         * gst/gst.h:
4230         * gst/gstpoll.c: (find_index), (selectable_fds),
4231         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
4232         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
4233         (gst_poll_set_mode), (gst_poll_get_mode),
4234         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
4235         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4236         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
4237         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
4238         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
4239         (gst_poll_fd_can_write), (gst_poll_wait),
4240         (gst_poll_set_controllable), (gst_poll_restart),
4241         (gst_poll_set_flushing):
4242         * gst/gstpoll.h:
4243         Add generic poll abstraction. We ideally don't want to have this in core
4244         here but in glib intead...
4245         This code will be used in various network elements and ultimately for
4246         the nanosecond precision monotonic clock (that's why it's here in core).
4247         It'll allow us to implement cancelable socket operations for windows too.
4248
4249         * tests/check/Makefile.am:
4250         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4251         (delayed_stop), (delayed_restart), (delayed_flush),
4252         (delayed_control), (gst_poll_suite):
4253         Add GstPoll unit test.
4254
4255 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
4256
4257         * gst/gstfilter.c:
4258           Improve documentation of gst_filter_run(). Fixes #518627.
4259
4260 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4261
4262         * docs/README:
4263           Add a few lines about the new 'check-inspected-versions' target.
4264
4265 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4266
4267         * tests/check/gst/gstevent.c:
4268           Add qos to the event test. Rename tcase/tsuite; is not only about
4269           custom events.
4270
4271 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4272
4273         * plugins/elements/gstqueue.c:
4274           Ensure that buffer metadata is writeable, before modifying. Spotted by
4275           Mike.
4276
4277 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
4278
4279         * plugins/elements/gstqueue.c:
4280         * plugins/elements/gstqueue.h:
4281           When dropping buffers in leaky modes, mark next buffers we sent as
4282           DISCONT.
4283
4284 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4285
4286         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
4287           Also, if mmap() fails that would be a READ error, not OPEN_READ.
4288
4289 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4290
4291         * plugins/elements/Makefile.am:
4292         * plugins/elements/gstbufferstore.c:
4293         * plugins/elements/gstbufferstore.h:
4294         * plugins/elements/gsttypefindelement.h:
4295           Remove GstBufferStore, no idea why we were still building it.
4296           It's not used anywhere and superseded by GstAdapter.
4297
4298         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4299           (gst_file_src_create_mmap):
4300         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
4301           Printf format fixes for 64-bit integers.
4302
4303 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4304
4305         * configure.ac:
4306         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
4307         We're not in 0.8 times anymore.
4308
4309 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
4310
4311         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
4312         (gst_check_element_push_buffer_list):
4313         * libs/gst/check/gstcheck.h:
4314         Make the declaration in the header for
4315         gst_check_element_push_buffer_list match the implementation.
4316
4317         Fix up spelling, grammar and wording of the documentation in a few
4318         places, and add the Since keyword to new API functions.
4319         Use g_list_delete_link instead of g_list_remove in
4320         gst_check_drop_buffers, since it's immeasurably more efficient.
4321
4322         * tests/check/elements/fakesrc.c: (GST_START_TEST):
4323         Use new gst_check_drop_buffers function where appropriate.
4324
4325         * win32/common/libgstbase.def:
4326         * win32/common/libgstreamer.def:
4327         Add new symbols gst_collect_pads_take_buffer, 
4328         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
4329         exports
4330
4331         Changelog surgery to add API keyword to new gst_check API.
4332
4333 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4334
4335         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
4336         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
4337         Update pre-generated flex files with flex 2.3.34.
4338
4339 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4340
4341         * gst/gstminiobject.c:
4342           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
4343           friendly to subclasses and not require them to know all internals
4344           of their parent class.
4345
4346 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4347
4348         * docs/libs/gstreamer-libs-sections.txt:
4349         * libs/gst/base/gstcollectpads.c:
4350         * libs/gst/base/gstcollectpads.h:
4351           Add sub-buffer functions to collectpads. Fixes #516187.
4352           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
4353
4354 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4355
4356         * gst/gstbuffer.c:
4357           Copy selected buffer-flags when creating subbuffers.
4358           Fixes #516395.
4359
4360 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
4361
4362         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
4363         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
4364         * gst/gstmessage.c: (gst_message_class_init),
4365         (gst_message_finalize):
4366         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
4367         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
4368         (gst_mmap_buffer_finalize):
4369         Properly chain up finalize functions to the parent class.
4370
4371 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
4372
4373         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
4374
4375         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
4376         (gst_index_set_resolver_full):
4377         * gst/gstindex.h:
4378         Add new function with option to dispose of user_data in resolver.
4379         Actually call the dispose function when finalizing the object and not
4380         just when changing the resolver/filter.
4381         API: GstIndex::gst_index_set_resolver_full()
4382
4383         * docs/gst/gstreamer-sections.txt:
4384         Add new function to docs. Fixes #515469.
4385
4386 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
4387
4388         * gst/gstindex.c: (gst_index_finalize):
4389         Chain up finalize to the parent class. Fixes leaking the GstObject
4390         name and other things.
4391
4392 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
4393
4394         * configure.ac:
4395         Make DISABLE_DEPRECATED defined *only* during CVS, not during
4396         pre-releases or releases.
4397
4398         * docs/faq/gst-uninstalled:
4399         Add gst-plugins-gl
4400
4401         * docs/random/release:
4402         Change one of the steps - we only upload core & base to Gnome FTP
4403
4404 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
4405
4406         * gst/gstconfig.h.in:
4407           Add 'id' for example.
4408
4409         * gst/gstpad.c:
4410         * gst/gstutils.c:
4411         * plugins/elements/gstfdsink.c:
4412           Link to signals. Doc and comment fixes.
4413
4414 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
4415
4416         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
4417         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
4418           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
4419           unused and unimplemented; finally, it is plugin features, not
4420           plugins, that have ranks.
4421           
4422 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4423
4424         * gst/gstpluginfeature.h:
4425           Clarify GstRank range docs.
4426
4427 2008-02-05  David Schleef  <ds@schleef.org>
4428
4429         * gst/gst.c: Add a separate gst_deinitialized that prevents
4430           gst_init() from being called after gst_deinit().  Fixes #509559
4431
4432 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4433
4434         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4435         (gst_bin_class_init):
4436         * gst/gstelement.c: (gst_element_base_class_init),
4437         (gst_element_class_add_pad_template):
4438         * gst/gstpadtemplate.c: (gst_pad_template_init):
4439         * gst/gstpipeline.c: (gst_pipeline_get_type),
4440         (gst_pipeline_base_init), (gst_pipeline_class_init):
4441         * libs/gst/base/gstbasesink.c:
4442         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4443         (gst_base_src_base_init), (gst_base_src_class_init):
4444         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4445         (gst_capsfilter_class_init):
4446         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4447         (gst_fake_sink_class_init):
4448         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4449         (gst_fake_src_class_init):
4450         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4451         (gst_fd_sink_class_init):
4452         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4453         (gst_fd_src_class_init):
4454         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4455         (gst_file_sink_class_init):
4456         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4457         (gst_file_src_class_init):
4458         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4459         (gst_identity_class_init):
4460         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4461         (gst_multi_queue_class_init):
4462         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4463         (gst_queue_class_init):
4464         * plugins/elements/gsttee.c: (gst_tee_base_init),
4465         (gst_tee_class_init):
4466         * plugins/elements/gsttypefindelement.c:
4467         (gst_type_find_element_base_init),
4468         (gst_type_find_element_class_init):
4469         * tests/check/gst/gstelement.c: (gst_element_suite):
4470         Revert previous changes to the behaviour of GstPadTemplates, etc
4471         and the possiblity to call them in class_init as it breaks too
4472         many elements. Reopens bug #491501.
4473
4474         Should be applied again for 0.11, thus added a few FIXME 0.11 at
4475         several places.
4476
4477 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4478
4479         * tools/gst-launch.c:
4480         Dump one graph per pipeline state-change and state change name
4481         (if GST_DEBUG_DUMP_DOT_DIR is set).
4482
4483 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
4484
4485         * gst/gstpad.c:
4486         * tests/check/gst/gstpad.c:
4487         Be sure that we have a new copy of the caps and not
4488         reffed caps from a template
4489
4490 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4491
4492         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4493         * gst/gstpipeline.c: (gst_pipeline_get_type),
4494         (gst_pipeline_class_init):
4495         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
4496         (gst_base_sink_class_init):
4497         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4498         (gst_base_src_class_init):
4499         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4500         (gst_base_transform_class_init):
4501         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4502         (gst_collect_pads_class_init):
4503         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
4504         * libs/gst/net/gstnettimeprovider.c:
4505         (gst_net_time_provider_base_init),
4506         (gst_net_time_provider_class_init):
4507         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4508         (gst_capsfilter_class_init):
4509         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4510         (gst_fake_sink_class_init):
4511         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4512         (gst_fake_src_class_init):
4513         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4514         (gst_fd_sink_class_init):
4515         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4516         (gst_fd_src_class_init):
4517         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4518         (gst_file_sink_class_init):
4519         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4520         (gst_file_src_class_init):
4521         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4522         (gst_identity_class_init):
4523         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4524         (gst_multi_queue_class_init):
4525         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4526         (gst_queue_class_init):
4527         * plugins/elements/gsttee.c: (gst_tee_base_init),
4528         (gst_tee_class_init):
4529         * plugins/elements/gsttypefindelement.c:
4530         (gst_type_find_element_base_init),
4531         (gst_type_find_element_class_init):
4532         Don't use base_init where not absolutely necessary. For example it's
4533         not necessary anymore for adding pad templates or setting element
4534         details.
4535
4536         Leave empty base_init functions in several places as GST_BOILERPLATE
4537         still defines and uses them.
4538
4539 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4540
4541         * gst/gstelement.c: (gst_element_base_class_init),
4542         (gst_element_class_add_pad_template):
4543         * gst/gstpadtemplate.c:
4544         Make it possible (and recommended) to set element details and add
4545         pad templates in the class_init functions by copying the details/pad
4546         templates in GstElement's base_init.
4547
4548         Also make it possible to replace existing pad templates by adding
4549         a new one with the same name. This was done in a hackish fashion
4550         in same elements before already.
4551
4552         Don't reference pad templates that are added a second time. A
4553         new pad template has a refcount of one and is not floating anymore
4554         and to be owned by the element's class. Make this more explicit by
4555         mentioning it in the docs of gst_element_class_add_pad_template().
4556
4557         These changes are backwards compatible. Fixes bug #491501.
4558
4559         * tests/check/gst/gstelement.c:
4560         Add unit test for setting element details, adding pad templates and
4561         replacing them in a subclass.
4562
4563 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
4564
4565         * tools/gst-inspect.c: (print_interfaces),
4566         (print_element_properties_info), (print_pad_info),
4567         (print_signal_info), (print_element_info):
4568         Fix a few memory leaks.
4569
4570 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4571
4572         * docs/libs/gstreamer-libs-sections.txt:
4573         * libs/gst/check/gstcheck.c:
4574         * libs/gst/check/gstcheck.h:
4575         Add more functions for unit testing: gst_check_drop_buffers,
4576         gst_check_caps_equal, gst_check_element_push_buffer_list,
4577         gst_check_element_push_buffer
4578         API: gst_check_drop_buffers
4579         API: gst_check_caps_equal
4580         API: gst_check_element_push_buffer_list
4581         API: gst_check_element_push_buffer
4582
4583 2008-02-01  Julien Moutte  <julien@fluendo.com>
4584
4585         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
4586         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
4587         (gst_index_finalize), (gst_index_entry_free),
4588         (gst_index_add_association): Fix memory leaks.
4589         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
4590         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
4591         (gst_mem_index_free_format), (gst_mem_index_free_id),
4592         (gst_mem_index_finalize): Fix memory leaks.
4593         * win32/common/config.h: Updated to CVS HEAD.
4594
4595 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4596
4597         * docs/README:
4598           Some more details about how the plugin docs works.
4599
4600         * docs/plugins/gstreamer-plugins-sections.txt:
4601           Whitespace cleanup.
4602
4603 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4604
4605         * gst/parse/grammar.tab.pre.c:
4606         * gst/parse/grammar.tab.pre.h:
4607         * gst/parse/grammar.y:
4608         * gst/parse/lex._gst_parse_yy.pre.c:
4609           Add delayed set-property. This allows to set properties on dynamicaly
4610           created objects (pads in videomxer). Fixes #509391.
4611
4612 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4613
4614         * gst/gstutils.c:
4615         Check if caps are not NULL (fix bug #510194)
4616
4617 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4618
4619         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
4620         (gst_base_sink_get_position_paused):
4621         Add fixme regarding EOS in pull mode.
4622         Fix position reporting in PAUSED for negative rates.
4623
4624 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4625
4626         * gst/gstminiobject.c: (gst_mini_object_replace):
4627         When replacing a miniobject, do a quick equality check first so that we
4628         can avoid a ref/unref pair.
4629
4630 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4631
4632         * docs/design/part-synchronisation.txt:
4633         Update some docs.
4634
4635         * docs/plugins/Makefile.am:
4636         * docs/plugins/gstreamer-plugins-docs.sgml:
4637         * docs/plugins/gstreamer-plugins-sections.txt:
4638         * plugins/elements/gstmultiqueue.c:
4639         Add multiqueue to the docs.
4640
4641 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4642
4643         * configure.ac:
4644           Back to CVS
4645
4646 === release 0.10.17 ===
4647
4648 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
4649
4650         * configure.ac:
4651           releasing 0.10.17, "Due Negligence"
4652
4653 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4654
4655         * gst/gstutils.c:
4656         Revert caps != NULL check temporarily for 0.10.17 release.
4657
4658 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
4659
4660         * gst/gstutils.c:
4661         Check if caps are not NULL (fix bug #510194)
4662
4663 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4664
4665         * gst/gstutils.c:
4666         Fix compilation on systems that have posix timers but no
4667         monotonic clock.
4668         Fixes: #512715
4669         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
4670         dot net>
4671
4672 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4673
4674         * tools/gst-inspect.c:
4675         Revert previous commit in preparation for an impromptu 0.10.17 release
4676
4677 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
4678
4679         * tools/gst-inspect.c: (print_interfaces),
4680         (print_element_properties_info), (print_pad_info),
4681         (print_signal_info), (print_element_info):
4682         Fix a few memory leaks.
4683
4684 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
4685
4686         * configure.ac:
4687         Back to CVS
4688
4689 === release 0.10.16 ===
4690
4691 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
4692
4693         * configure.ac:
4694           releasing 0.10.16, "Special Dispensation"
4695
4696 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
4697
4698         * configure.ac:
4699           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
4700           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
4701           not fail when trying to crosscompile on OpenEmbedded (#511750).
4702
4703 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
4704
4705         * docs/manuals.mak:
4706         Use $(MAKE) instead of make to fix the build if GNU make is
4707         called different. Fixes bug #510747.
4708
4709 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
4710
4711         * gst/gstplugin.c: (_gst_plugin_initialize):
4712           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
4713           again, which I broke two commits ago when changing the API
4714           of gst_plugin_register_static(): the g_list_foreach() in
4715           _gst_plugin_register_static still assumed the old function
4716           signature and would therefore fail (re-fixes #510187).
4717
4718         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
4719           (_gst_plugin_register_static), (gst_plugin_register_static):
4720           Revert the (technically correct) change to call g_thread_init() from
4721           the pre-main() constructor. This will break programs which call
4722           g_thread_init() without an if (!g_thread_supported()) guard in their
4723           main function. We could just blame it on GLib or the application, but
4724           it's probably best to just avoid this altogether and simply not use
4725           any GLib functions here and use plain old malloc() with a simple
4726           array to store the plugins to register later when gst_init() is
4727           finally called (re-fixes #510187).
4728
4729         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
4730           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
4731           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
4732           (GST_START_TEST), (gst_plugin_suite):
4733           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
4734           works.
4735
4736 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
4737
4738         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
4739           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
4740           This makes gtk-doc complain, but results in slightly better
4741           compiler errors. The old _gst_plugin_register_static() is
4742           still guarded, so there'll be a compiler warning about that
4743           instead. Fixes #510187 too.
4744
4745 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
4746
4747         * gst/gst.c: (init_post):
4748         * gst/gstplugin.c: (_gst_plugin_register_static),
4749           (gst_plugin_register_static), (_gst_plugin_initialize):
4750         * gst/gstplugin.h: (GstPluginFilter):
4751           Change API of gst_plugin_register_static() to not take
4752           a GstPluginDesc, but rather just take all the arguments
4753           in a GstPluginDesc directly. This is more intuitive and
4754           avoids certain mistakes when porting code from
4755           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
4756           Fixes #510187.
4757
4758         * tests/check/gst/gstplugin.c:
4759           Fix up for changed API.
4760
4761 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4762
4763         * docs/faq/legal.xml:
4764           Update FAQ, Totem actually has an exception these days.
4765
4766 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
4767
4768         * win32/common/libgstreamer.def:
4769         Add new API declarations
4770
4771 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
4772
4773         * gst/gstminiobject.c:
4774           Spelling fixes for the API docs.
4775
4776 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
4777
4778         * libs/gst/base/gstbasetransform.c:
4779           Fix long property description for QoS.
4780
4781 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
4782
4783         * gst/gst.c:
4784         _gst_trace_on is already provided by gsttrace.h, no need to declare
4785         it ourselves.
4786
4787         * docs/libs/gstreamer-libs-sections.txt:
4788         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
4789         and remove strange tcase_add_test which is outputting a warning.
4790
4791         * libs/gst/check/gstcheck.c:
4792         * libs/gst/check/gstcheck.h:
4793         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
4794         and define them in gstcheck.c instead of having every .c file whcih
4795         includes gstcheck.h be defining its own copy and relying on symbol
4796         interposing to marry them all, which doesn't work on Solaris.
4797
4798         * tests/check/elements/identity.c: (GST_START_TEST):
4799         Don't define 'buffers' locally, it comes from libgstcheck.
4800
4801         * tests/check/generic/sinks.c: (send_buffer):
4802         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
4803
4804         * tests/check/gst/gststructure.c: (GST_START_TEST):
4805         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
4806         * tests/check/gst/gstutils.c: (GST_START_TEST):
4807         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4808         Add a bunch of casts to make various constants fit the types
4809         they're being assigned to.
4810
4811 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
4812
4813         * gst/gstchildproxy.c:
4814           Improve docs and add some ideas for making this more general-purpose.
4815
4816 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
4817
4818         * gst/gst_private.h: (GST_CAT_TYPES):
4819           Add GST_CAT_TYPES, for consistency, and so that the other
4820           debug categories don't make fun of it. Spotted by Saur on IRC.
4821
4822 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
4823
4824         * gst/parse/Makefile.am:
4825           Move types.h from EXTRA_DIST to noinst_HEADERS.
4826
4827 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
4828
4829         * autogen.sh:
4830           Add -Wno-portability to the automake parameters to stop warnings
4831           about GNU make extensions being used. We require GNU make in almost
4832           every Makefile anyway.
4833
4834         * configure.ac:
4835           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
4836           at the same time is required for per target flags.
4837
4838 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4839
4840         * gst/gstmacros.h:
4841           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
4842           __GNUC__ is defined before using it.
4843
4844 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4845
4846         * docs/gst/gstreamer-sections.txt:
4847         * gst/gst.c: (init_post):
4848         * gst/gstplugin.c: (_gst_plugin_register_static),
4849           (gst_plugin_register_static), (_gst_plugin_initialize),
4850           (gst_plugin_register_func):
4851         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
4852           API: add gst_plugin_register_static() and deprecate
4853           GST_PLUGIN_DEFINE_STATIC, since it's not portable
4854           (#498924).
4855           Also, in _gst_plugin_register_static(), make sure to call
4856           g_thread_init() before calling GLib functions such as
4857           g_list_append() if we're not initialised yet, since that
4858           may lead to random crashes with older GSlice/GLib versions.
4859
4860         * tests/check/gst/gstplugin.c:
4861           Adapt unit test to above changes.
4862
4863 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4864
4865         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
4866         * gst/gstcaps.c: (gst_caps_to_string):
4867         * gst/gststructure.c: (GST_ASCII_IS_STRING),
4868           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
4869           Yet another gratuitous GString micro-optimisation: add a (private)
4870           function that serialises a structure appending to an existing
4871           GString, so that when we serialise caps we don't need to alloc+free
4872           a throwaway GString for each structure (each of which also entailing
4873           multiple reallocs on the way); also use g_string_sized_new() in
4874           various places with an approximate string length to avoid reallocs
4875           within GString. See #500143.
4876
4877 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4878
4879         * gst/gststructure.c: (gst_structure_id_set_value):
4880           Always check UTF-8 conformance of structure strings and not only
4881           if the debugging system is enabled; reasoning: the behaviour of
4882           the actual code shouldn't really change depending on whether the
4883           debugging system is enabled or not (#508291).
4884
4885 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
4886
4887         * Makefile.am:
4888           Remove old coverage target in favour of "make lcov".
4889
4890 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
4891
4892         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
4893         (gst_base_src_loop):
4894         The start segment for reverse playback goes from start to last_stop.
4895
4896 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
4897
4898         Patch by: Peter Kjellerstedt <pkj axis com>
4899
4900         * gst/gstclock.h:
4901         Cast the results from the timeval/spec_to_time macros to what the
4902         docs say it casts to, a GstClockTime. fixes #508175.
4903
4904 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
4905
4906         * gst/gstbuffer.c:
4907         Update some comments.
4908
4909         * tools/gst-inspect.c: (print_element_properties_info):
4910         Improve printing of flags.
4911
4912 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
4913
4914         * libs/gst/base/gstbasetransform.c:
4915           (gst_base_transform_transform_size):
4916           Print element name with g_warning() if there's a problem
4917           with the unit size.
4918
4919 2008-01-07  David Schleef  <ds@schleef.org>
4920
4921         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
4922
4923         * libs/gst/controller/gstcontroller.h:
4924         * libs/gst/controller/gstcontrolsource.h:
4925         * libs/gst/controller/gstinterpolationcontrolsource.h:
4926         * libs/gst/controller/gstlfocontrolsource.h:
4927         * libs/gst/dataprotocol/dataprotocol.h:
4928           Fix empty prototypes.  Fixes bug #507957.
4929
4930 2008-01-07  David Schleef  <ds@schleef.org>
4931
4932         * docs/faq/dependencies.xml: Fix typo.
4933
4934 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
4935
4936         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
4937         (gst_base_src_loop):
4938         Don't update the last_stop position in do_seek, that's the position we
4939         did a seek to.
4940         Read backwards when we have a negative rate.
4941
4942         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
4943         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
4944         (filesrc_suite):
4945         Add check for reverse reading.
4946
4947 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
4948
4949         Patch by: Alexis Ballier <aballier at gentoo org>
4950
4951         * tests/check/gst/gstabi.c:
4952         * tests/check/gst/struct_ppc64.h:
4953         * tests/check/libs/libsabi.c:
4954         * tests/check/libs/struct_ppc64.h:
4955           Decide which header to include based on the userland ABI target
4956           and not the kernel/cpu. Fix up structure sizes of ppc64 header
4957           for 64-bit userland (#503590).  Might need something similar for
4958           x86 too.
4959
4960 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
4961
4962         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
4963           Log the reason why fopen fails in addition to the fact that it failed.
4964           
4965 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
4966
4967         * gst/parse/parse.l:
4968         Use "%option never-interactive" to prevent useless calls to isatty()
4969         on every input when parsing. Also use "%option noinput" to not define
4970         the static input/yyinput functions which we don't use anyway. This
4971         removes a compiler warning with gcc 4.3 and saves some bytes in the
4972         library.
4973         
4974         * gst/parse/lex._gst_parse_yy.pre.c:
4975         Regenerated for the above change.
4976
4977 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
4978
4979         * gst/gstpad.c: (fixate_value):
4980         Don't crash when trying to fixate and empty list.
4981         Fixes #506643.
4982
4983 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
4984
4985         * docs/faq/gst-uninstalled:
4986         Clarify the comments to make the usage of this script and what it
4987         does easier to understand.
4988
4989 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4990
4991         * tools/gst-plot-timeline.py:
4992         Add more options to gst-plot-timeline
4993
4994 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
4995
4996         * docs/design/part-synchronisation.txt:
4997         Some more info on how the stream_time in GstBaseSink is done.
4998
4999 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
5000
5001         * tests/check/generic/sinks.c: (gst_sinks_suite):
5002           Put back the tcase_set_timeout(), apparently it's needed after
5003           all; fix it up in a way that makes things work with valgrind too.
5004
5005 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
5006
5007         * gst/gstdebugutils.c:
5008           Add warning when failed to open file for writing.
5009
5010 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5011
5012         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
5013
5014         * gst/gstvalue.c: (gst_value_is_fixed):
5015           Optimisation: bail out of the loop as early as possible (#500143).
5016
5017 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5018
5019         * gst/gstcaps.c: (gst_caps_to_string):
5020         * gst/gstinfo.c: (gst_debug_construct_term_color):
5021         * gst/gstparse.c: (gst_parse_launchv):
5022         * gst/gstutils.c: (gst_util_dump_mem):
5023         * gst/gstvalue.c: (gst_value_serialize_any_list),
5024           (gst_value_transform_any_list_string):
5025           Bunch of gratuitous nano-optimisations.
5026
5027 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
5028
5029         * tests/check/generic/sinks.c: (async_done_func),
5030           (async_done_eos_func):
5031           Fix leak in unit test (bus sync handler must unref the message
5032           if it returns GST_BUS_DROP). Don't fiddle with the default test
5033           timeout, this is smaller than the current preconfigured value
5034           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
5035           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
5036
5037 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5038
5039         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5040
5041         * configure.ac:
5042         Check for stdio_ext.h for the filesink changes.
5043
5044         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
5045         (gst_file_sink_class_init), (gst_file_sink_init),
5046         (gst_file_sink_dispose), (gst_file_sink_set_property),
5047         (gst_file_sink_get_property), (gst_file_sink_open_file),
5048         (gst_file_sink_close_file):
5049         * plugins/elements/gstfilesink.h:
5050         Add two properties to control the buffering mode and size.
5051         API: GstFileSink::buffer-mode
5052         API: GstFileSink::buffer-size
5053         Fixes #500150.
5054
5055 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
5056
5057         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
5058         Add some more docs to explain why a FIXME was wrongly added. 
5059
5060 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
5061
5062         * gst/gstobject.c:
5063           Fix typo in the gst_object_{ref,unref} documentation.
5064
5065 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5066
5067         * tests/check/libs/controller.c:
5068         * tests/check/libs/typefindhelper.c:
5069         * tests/check/pipelines/parse-launch.c:
5070           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
5071           going to be deprecated (see #498924).
5072
5073 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5074
5075         * gst/gsttypefind.c: (gst_type_find_register):
5076           Make gst_type_find_register work for static typefind functions,
5077           ie. allow passing plugin == NULL (prerequisite for #498924).
5078
5079         * gst/gstelementfactory.c: (gst_element_register):
5080           Small docs addition.
5081
5082 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
5083
5084         * gst/gstpad.c: (gst_pad_dispose):
5085         Really unlink the peer pad instead of setting the peer pointer to NULL
5086         when we dispose the pad.
5087         This correctly calls the unlink functions and makes sure that the peer
5088         does not have a handle to invalid memory. See #504671.
5089
5090         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5091         Add testsuite for above case.
5092
5093 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
5094
5095         Patch by: Peter Kjellerstedt <pkj axis com>
5096
5097         * libs/gst/check/gstcheck.h:
5098           Fix detection of the check version we're compiling against (would
5099           otherwise break if check goes v0.10.0); correctly report the
5100           name of the failed test again in case of failure, instead of
5101           just 'tf' (fixes #504499).
5102
5103 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5104
5105         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
5106         (gst_base_src_get_range), (gst_base_src_pad_get_range),
5107         (gst_base_src_loop), (gst_base_src_set_flushing),
5108         (gst_base_src_change_state):
5109         Allow sending EOS to the source to make it send out an EOS event from
5110         the streaming thread.
5111         Update docs and deprecate the old NULL/READY shutdown method.
5112
5113         * tests/check/libs/basesrc.c: (GST_START_TEST),
5114         (gst_basesrc_suite):
5115         Add unit test for controlled shutdown.
5116
5117 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5118
5119         * docs/design/part-synchronisation.txt:
5120         Small updates.
5121
5122         * gst/gstsegment.c: (gst_segment_set_seek),
5123         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5124         (gst_segment_to_running_time):
5125         The seek format can be different from the segment format when the start
5126         and stop values are not to be updated, when we only do a rate change for
5127         example.
5128
5129         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5130         (gst_segment_suite):
5131         Add a testcase for the rate-only seeks, checking that the format is
5132         correctly ignored when start and stop are not updated.
5133
5134 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
5135
5136         Patch by: Matthias Bolte <photon at mail dot upb dot de>
5137
5138         * win32/vs8/grammar.vcproj:
5139         * win32/vs8/libgstcontroller.vcproj:
5140         * win32/vs8/libgstreamer.vcproj:
5141         Fix compilation with VS8 and include some missing files.
5142
5143 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
5144
5145         * gst/gsttaglist.c:
5146           Small docs addition: mention that the strings returned by
5147           gst_tag_list_get_string*() are in UTF-8 encoding.
5148
5149 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
5150
5151         * Makefile.am:
5152           The check-exports stuff moved to common/win32.mak, so include that.
5153
5154 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
5155
5156         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5157         (gst_base_src_perform_seek), (gst_base_src_get_range),
5158         (gst_base_src_set_playing), (gst_base_src_change_state):
5159         Make _wait_playing() not check any variables so that we can call this
5160         function from subclasses. Move the checks elsewhere similar to
5161         _wait_preroll() in basesink.
5162         Add some debugging.
5163         Only signal the LIVE cond when we are going back to PLAYING.
5164
5165 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5166
5167         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
5168           Use g_remove() and g_rename(). Check result of g_rename(), and
5169           don't leak the open file descriptor if we error out when writing.
5170
5171         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
5172           Must check the return value of close() after writing out the new
5173           registry file.  Sometimes write problems such as out-of-diskspace
5174           are only reported when the file is closed and not already during
5175           the write.  This may have caused partial/broken registry files in
5176           some rare circumstances. Should fix #503675.
5177
5178 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
5179
5180         * docs/gst/.cvsignore:
5181         * docs/libs/.cvsignore:
5182         * docs/plugins/.cvsignore:
5183         Ignore files generated by new common/* modifications
5184
5185 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5186
5187         * win32/common/libgstbase.def:
5188           Yes, you can also have a <TAB> if you want.
5189
5190 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5191
5192         * win32/common/libgstbase.def:
5193           Add new basetransform API to win export file.
5194
5195 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5196
5197         * tests/check/gst/gstbin.c:
5198           Adjust the test to the refcount change two days ago.
5199
5200 2007-12-14  David Schleef  <ds@schleef.org>
5201
5202         * docs/faq/getting.xml: Fix typo.
5203
5204 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
5205
5206         * docs/libs/gstreamer-libs-sections.txt:
5207         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5208           (gst_base_transform_prepare_output_buffer),
5209           (gst_base_transform_set_gap_aware):
5210         * libs/gst/base/gstbasetransform.h:
5211           API: Add gst_base_transform_set_gap_aware() to control whether
5212           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
5213           get buffers with this flag at all. Fixes #503231.
5214
5215 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
5216
5217         * libs/gst/base/gstbasesink.c:
5218         * libs/gst/base/gstbasesrc.c:
5219         * libs/gst/base/gstbasetransform.c:
5220           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
5221           thread. Correct log message in gstbasesrc.c.
5222
5223 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5224
5225         * gst/gstutils.c: (element_find_unconnected_pad):
5226           Fix possible compiler warning (#503417).
5227
5228 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5229
5230         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
5231           Don't use GST_CAT_EVENT here for logging, it makes no sense.
5232
5233 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
5234
5235         * tools/gst-inspect.c: (print_element_properties_info):
5236           Add support for GstFraction properties.
5237
5238 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5239
5240         * Makefile.am:
5241           Add check-exports target and run it as part of 'make check'
5242           (see #499140 and #493983).
5243
5244         * gst/gst_private.h:
5245         * gst/gstelementfactory.h:
5246         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
5247         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
5248           (_priv_gst_in_valgrind):
5249         * gst/gstinfo.h: (GstLogFunction):
5250         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
5251           (gst_type_find_register):
5252         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
5253           (gst_type_find_factory_get_type):
5254         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
5255           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
5256           (gst_controller_new_valist), (gst_controller_new_list),
5257           (_gst_controller_dispose), (_gst_controller_class_init):
5258         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
5259         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
5260           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
5261           (gst_object_get_controller), (gst_object_set_controller),
5262           (gst_object_suggest_next_sync), (gst_object_sync_values),
5263           (gst_object_set_control_source), (gst_object_get_control_source),
5264           (gst_object_get_value_arrays), (gst_object_get_value_array),
5265           (gst_object_get_control_rate), (gst_object_set_control_rate):
5266         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
5267         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
5268           Make some functions that should be static static; rename some
5269           private symbols so that they don't get exported; add some FIXME
5270           comments so we can move accidentally exported functions into
5271           our private section in 0.11.
5272
5273         * win32/common/libgstreamer.def:
5274           Add gst_utils_get_timestamp().
5275
5276 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5277
5278         * gst/gstvalue.c:
5279         * gst/gstvalue.h:
5280           Add more missing "Since:" tags to docs.
5281
5282 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5283
5284         * gst/gstutils.c:
5285           Add mising "Since:" to docs.
5286
5287 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5288
5289         * gst/gstplugin.c:
5290           Include "glib-compat-private.h" to fix the build on system with
5291           glib < 2.10. Fixes #503131.
5292
5293 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5294
5295         * gst/gstutils.c:
5296         * gst/gstutils.h:
5297           Actually its not PURE as it gets the time from elsewhere.
5298
5299 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5300
5301         * docs/gst/gstreamer-sections.txt:
5302         * gst/gstclock.h:
5303         * gst/gstdebugutils.c:
5304         * gst/gstinfo.c:
5305         * gst/gstutils.c:
5306         * gst/gstutils.h:
5307         * libs/gst/base/gstbasesink.c:
5308         * tools/gst-launch.c:
5309           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
5310           uses as we don't have HAVE_POSIX_TIMERS in public headers.
5311           Thanks Tim for spotting.
5312           API: gst_util_get_timestamp
5313
5314 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
5315
5316         * configure.ac:
5317           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
5318
5319 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
5320
5321         * gst/gststructure.c: (gst_structure_validate_name),
5322           (gst_structure_new_valist), (gst_structure_parse_value),
5323           (gst_structure_from_string):
5324           Don't crash in _from_string() if the structure name is not valid
5325           (fixes #501560).  Allow structure names to start with a number
5326           again (this apparently broke the ubuntu codec installer).
5327
5328         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
5329           (GST_START_TEST):
5330           Add unit test for the crash; update unit tests for new behaviour.
5331
5332 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
5333
5334         * gst/gstutils.c:
5335         Clarify gst_element_get_compatible_pad() documentation.
5336         Fixes #500919.
5337
5338 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
5339
5340         * tests/check/Makefile.am:
5341           Don't forget to dist {gst,libs}/struct_hppa.h.
5342
5343 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5344
5345         * libs/gst/base/gstbasesink.c:
5346           Use new API to get elapsed time.
5347
5348 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5349
5350         * gst/gstdebugutils.c:
5351         * gst/gstinfo.c:
5352           Fix wrong order of args in GST_CLOCK_DIFF() usage.
5353
5354         * tools/gst-launch.c:
5355           Use new API to get elapsed time.
5356
5357 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5358
5359         * docs/gst/gstreamer-sections.txt:
5360         * gst/gstclock.h:
5361         * gst/gstdebugutils.c:
5362         * gst/gstinfo.c:
5363           Rename new API + ChangeLog surgery to remove old name from last entry..
5364
5365 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5366
5367         * docs/gst/gstreamer-sections.txt:
5368         * gst/gstclock.h:
5369         * gst/gstdebugutils.c:
5370         * gst/gstinfo.c:
5371           Now hide the different clock stuff behind a macro.
5372
5373 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5374
5375         * configure.ac:
5376         * gst/gstdebugutils.c:
5377         * gst/gstinfo.c:
5378           Apply the posix-timer check from #361155. Conditionally use the posix
5379           timer for logging. This gives better timestamp precission, less
5380           overhead and no ntp jitter.
5381
5382 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
5383
5384         * gst/gstminiobject.c: (gst_mini_object_get_type),
5385         (gst_mini_object_class_init), (gst_mini_object_copy_default),
5386         (gst_mini_object_finalize), (gst_mini_object_copy),
5387         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
5388         (gst_mini_object_replace), (param_mini_object_validate),
5389         (gst_param_spec_mini_object_get_type):
5390         Some cleanup and checking against invalid function parameters.
5391
5392 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
5393
5394         * docs/gst/gstreamer-sections.txt:
5395         * gst/gstclock.h:
5396         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5397         (gst_systemclock_suite):
5398         Start merging in the easy bits of #361155, the monotonic clock patch.
5399         This one adds a few handy macros with docs and a testsuite.
5400
5401 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
5402
5403         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
5404         Be a bit smarter when seeking, like, don't try to do a seek when it's
5405         not needed. This avoids errors when the file is not seekable.
5406         Fixes #499771.
5407
5408 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
5409
5410         * docs/gst/gstreamer-docs.sgml:
5411         * docs/gst/gstreamer-sections.txt:
5412         * docs/gst/gstreamer.types.in:
5413         * gst/Makefile.am:
5414         * gst/gst.h:
5415         * gst/gstpreset.c:
5416         * gst/gstpreset.h:
5417         * plugins/elements/gstqueue.c:
5418           Due to popular request remove preset interface again. :-(.
5419
5420 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5421
5422         * tools/gst-inspect.c:
5423           Print 'default value' for enums and flags too.
5424
5425 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5426
5427         * docs/random/ensonic/profiling.txt:
5428           More ideas.
5429
5430         * gst/gstbin.c:
5431           Fix typo and give better log output.
5432
5433         * gst/gstdebugutils.c:
5434         * gst/gstdebugutils.h:
5435           More ideas, make graphs a bit smaller and fix param name in macro.
5436
5437 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5438
5439         * gst/gstpreset.c:
5440           Try harder to use the return value from fgets().
5441
5442 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
5443
5444         * gst/gstpreset.c:
5445           For theses two fgets we handle the error below.
5446
5447 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5448
5449         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
5450         Only send upstream events upstream. Fixes #498746.
5451
5452 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5453
5454         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5455
5456         * plugins/elements/gstidentity.c: (gst_identity_class_init),
5457         (gst_identity_init), (gst_identity_transform_ip),
5458         (gst_identity_set_property), (gst_identity_get_property):
5459         * plugins/elements/gstidentity.h:
5460         Add property to disable handoff signal emission. Fixes #498694.
5461         API: GstIdentity::signal-handoffs
5462
5463 2007-11-21  Julien Moutte  <julien@fluendo.com>
5464
5465         * docs/faq/gst-uninstalled: Yet another missing library for the
5466         uninstalled script (fft)
5467
5468 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
5469
5470         * docs/faq/developing.xml:
5471         Add a question about how to submit new translations.
5472
5473         * docs/random/release:
5474         Update the contact email address for the Translation Project
5475
5476         * plugins/elements/gstfdsrc.c:
5477         The parent_class for fdsrc is pushsrc, not GstElement.
5478
5479 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5480
5481         * gst/gstpreset.c:
5482           Plug a leak and fix saving.
5483
5484 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
5485
5486         * docs/gst/gstreamer-sections.txt:
5487         Add new gst_preset__get_property_names() function to the docs
5488         to fix the build.
5489
5490 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5491
5492         * gst/gstpreset.c:
5493         * gst/gstpreset.h:
5494           Change _get_preset_names API to return a strv with copies. Add
5495           _get_property_names to allow implementations to filter and provide
5496           good default implementation.
5497
5498 2007-11-20  Julien MOUTTE  <julien@moutte.net>
5499
5500         * docs/faq/gst-uninstalled: Add another library to the uninstalled
5501         script (sdp).
5502
5503 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5504
5505         * gst/gstpreset.c:
5506           More cleanups, docs, and TODOs from comments that now slowly come in.
5507
5508 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5509
5510         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
5511         search path.
5512
5513 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5514
5515         * gst/gstpreset.c:
5516           Fix bogus warning and make the property type specific code more
5517           similar.
5518
5519 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5520
5521         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
5522         it build on OS X.
5523
5524 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
5525
5526         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5527         (gst_bin_add_func), (gst_bin_remove_func),
5528         (gst_bin_change_state_func), (gst_bin_continue_func):
5529         Change email, cleanups add some more debug and comments.
5530         Also set bus and clock on new elements when the pipeline was in error.
5531
5532 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
5533
5534         * gst/gstbin.c:
5535         * gst/gstdebugutils.c:
5536           Fix build with --disable-gst-debug. Fixes #497859.
5537           Spotted by Sameer Naik.
5538
5539 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5540
5541         * gst/gstevent.c:
5542           Little documentation improvment.
5543
5544         * gst/gstpreset.c:
5545           More TODO cleanups. Remove c++ comments.
5546
5547         * libs/gst/controller/gstcontroller.c:
5548           Add TODO and use quark from static string.
5549
5550         * tests/check/gst/gstmessage.c:
5551         * tests/check/gst/gststructure.c:
5552           Use quark from static string.
5553
5554 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5555
5556         * gst/gstpreset.c:
5557           Add some comments and TODOs.
5558
5559         * gst/gstpreset.h:
5560           Add padding for future changes.
5561
5562         * plugins/elements/gstqueue.c:
5563           Implement the iface.    
5564
5565 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5566
5567         * docs/gst/gstreamer-docs.sgml:
5568         * docs/gst/gstreamer-sections.txt:
5569         * docs/gst/gstreamer.types.in:
5570         * gst/Makefile.am:
5571         * gst/gst.h:
5572         * gst/gstpreset.c:
5573         * gst/gstpreset.h:
5574           Add the preset interface (Fixes #396779). Do some doc cleanups along.
5575
5576 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
5577
5578         * configure.ac:
5579
5580         Back to CVS
5581
5582 === release 0.10.15 ===
5583
5584 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
5585
5586         * configure.ac:
5587           releasing 0.10.15, "October"
5588
5589 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
5590
5591         * win32/vs6/libgstreamer.dsp:
5592         Convert line endings back to DOS.
5593
5594 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
5595
5596         * docs/design/draft-tagreading.txt:
5597         * docs/random/ensonic/profiling.txt:
5598         Update fast tagreading draft and performance profiling ideas.
5599
5600 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5601
5602         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
5603         Don't hold the object lock when unreffing a buffer because it could
5604         cause a deadlock when the finalize function wants to grab the object
5605         lock too. Fixes #495133.
5606
5607 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5608
5609         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
5610         (gst_segment_to_stream_time), (gst_segment_to_running_time):
5611         Also accumulate time correctly when doing reverse playback. Fixes
5612         #488201,
5613         When converting to running and stream time, use default values for
5614         start/stop/time/accum when comparing different formats. Fixes #494245.
5615
5616         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5617         Do running/stream time in TIME format.
5618
5619         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5620         (gst_segment_suite):
5621         2 new unit tests for segment accumulation.
5622
5623 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5624
5625         * gst/gst.c: (init_pre):
5626         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
5627           (_gst_debug_bin_to_dot_file):
5628           Move getenv() back into gst_init, so everyone can live happily
5629           ever after. Make sure the symbol isn't exported though.
5630
5631 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5632
5633         Patch by: Sebastien Moutte  <sebastien moutte net>
5634
5635         * win32/common/gstenumtypes.c:
5636         * win32/common/gstenumtypes.h:
5637           Update enum types.
5638
5639         * win32/vs6/libgstreamer.dsp:
5640           Update vs6 project files (#494343).
5641
5642 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5643
5644         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
5645         (gst_base_src_perform_seek), (gst_base_src_default_event),
5646         (gst_base_src_set_flushing), (gst_base_src_activate_push),
5647         (gst_base_src_activate_pull):
5648         Unify flushing code, remove some old unlock code that is no longer used.
5649         Take the streaming lock when seeking to avoid races. Fixes #492729.
5650         Added some more comments.
5651
5652 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5653
5654         * gst/gst.c: (_gst_disable_segtrap):
5655           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
5656           we can use gst_segtrap_is_enabled() there now that we have that API.
5657           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
5658           to do the getenv here (and export the variable).
5659
5660         * gst/gstdebugutils.c: (debug_dump_element),
5661           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
5662           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
5663
5664         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
5665           (gst_debug_log_default):
5666           Rename _gst_info_start_time to priv_gst_info_start_time so it
5667           doesn't get exported (was never in any header).
5668
5669         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
5670           (gst_plugin_loading_mutex):
5671           Make static mutex gst_plugin_loading_mutex really static (was never
5672           in any header), and use gst_segtrap_is_enabled() instead of
5673           _gst_disable_segtrap.
5674
5675         * gst/gsttrace.c: (_gst_trace_default):
5676           Make local _gst_trace_default static (was never in any header).
5677
5678 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5679
5680         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
5681
5682         * win32/common/libgstbase.def:
5683         * win32/common/libgstcontroller.def:
5684         * win32/common/libgstdataprotocol.def:
5685         * win32/common/libgstnet.def:
5686         * win32/common/libgstreamer.def:
5687           Add more missing symbols, remove some duplicates, and sort
5688           as the 'sort' command sorts it (partially fixes #493983).
5689
5690 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5691
5692         * gst/gstelement.c: (gst_element_set_state_func):
5693         Only change the state cookie if a different state was set on the
5694         element. See #492729.
5695
5696 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5697
5698         * gst/gstvalue.c:
5699           Remove unused and uninitialised type variables that were still
5700           exported for some reason (they were never in any header files
5701           though).
5702
5703 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5704
5705         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
5706         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
5707         (gst_base_sink_event), (gst_base_sink_get_position_last),
5708         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
5709         (gst_base_sink_change_state):
5710         Don't try to report a 0 position when we don't know, return -1 and FALSE
5711         instead. This mostly happens when we are prerolling.
5712         Make sure we can report the right position before we post the ASYNC_DONE
5713         message so that a message handler can query position without races.
5714
5715         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
5716         (async_done_handoff), (async_done_func), (send_buffer),
5717         (async_done_eos_func), (gst_sinks_suite):
5718         Add two tests for the above.
5719
5720 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5721
5722         * MAINTAINERS:
5723         Update with new email address.
5724
5725         * docs/design/part-TODO.txt:
5726         Add some more info about future pad-block and negotiation changes.
5727
5728         * docs/design/part-buffering.txt:
5729         Add some ideas about buffering reporting.
5730
5731 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
5732
5733         * tests/check/gst/gstobject.c:
5734         Disable silly racy test that always fails on this combination of CPU
5735         and kernel.
5736
5737 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
5738
5739         Patch by: Murray Cumming  <murrayc@murrayc.com>
5740
5741         * gst/gstobject.c:
5742           Corrected the registration of the parent-set and parent-unset
5743           signals: The parameter is a GstObject, not a GObject (#493134).
5744
5745 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5746
5747         * gst/gst_private.h:
5748         * gst/gstbuffer.h:
5749         * gst/gstevent.h:
5750         * gst/gstformat.h:
5751         * gst/gstmessage.h:
5752         * gst/gstplugin.h:
5753         * gst/gstquery.h:
5754         * gst/gsttaglist.h:
5755         * gst/gstvalue.h:
5756           Move declaration of private _gst_foo_initialize() functions into
5757           our private header file where they should have been all along.
5758
5759 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5760
5761         * docs/plugins/gstreamer-plugins-sections.txt:
5762         * gst/gstdebugutils.h:
5763         * gst/gstxml.h:
5764         * plugins/elements/gstqueue.c:
5765           gtk-doc fixes; trailing-comma-in-enum fix.
5766
5767 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5768
5769         * gst/gst.c: (gst_deinit):
5770           Clean up on deinit (not the external ones though, doesn't seem to be
5771           needed for some reason).
5772
5773 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5774
5775         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
5776           Remove __declspec(dllimport) for MSVC that was copied over into core
5777           from a plugin, obviously without ever having been tested (note the
5778           single underscore in _declspec in the initial commit), and that doesn't
5779           really make sense.  See #492077.
5780
5781 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5782
5783         * gst/gst.c: (init_post):
5784         * gst/gstevent.c: (_gst_event_initialize):
5785         * gst/gstquery.c: (_gst_query_initialize):
5786         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
5787           g_type_class_ref() other types as well, see #349410 and #64764.
5788
5789         * gst/gstbuffer.c: (_gst_buffer_initialize):
5790         * gst/gstmessage.c: (_gst_message_initialize):
5791           Simplify existing g_type_class_ref().
5792
5793 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5794
5795         * gst/gstformat.c: (_gst_format_initialize):
5796           g_type_class_ref() our GstFormat type to make sure we avoid the
5797           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
5798           bug #64764. Should fix intermittent tee unit test failures (#474823).
5799
5800 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5801
5802         * tests/check/elements/tee.c: (test_num_buffers):
5803           Simplify, simplify, simplify - or not.  Rewrite unit test
5804           not to use gst_parse_launch(); allow N sub-streams. Increasing
5805           the number of sub-streams seems to reproduce #474823 more easily.
5806
5807 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
5808
5809         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
5810
5811         * gst/gsttrace.c:
5812         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
5813         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
5814         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
5815           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
5816           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
5817           so use _pipe() directly (#492077).
5818
5819         * win32/common/dirent.c: (_treaddir):
5820           Add a couple of casts to make it build without warnings with MSVC.
5821
5822         * win32/common/libgstreamer.def:
5823           Add some more symbols that need to be exported.
5824
5825 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
5826
5827         * tests/examples/metadata/read-metadata.c: (message_loop):
5828           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
5829           arriving in a second or third tag message are added to
5830           the tag list as well.
5831
5832 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
5833
5834         * libs/gst/base/gstbasesrc.c:
5835           Its "Since:" and not "@Since:". And remove an superflous cast.
5836
5837 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
5838
5839         * docs/libs/gstreamer-libs-sections.txt:
5840         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5841         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
5842         (gst_base_sink_get_property), (gst_base_sink_render_object),
5843         (gst_base_sink_preroll_object),
5844         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
5845         (gst_base_sink_change_state):
5846         * libs/gst/base/gstbasesink.h:
5847         Add a new last-buffer property that contains the last buffer used in
5848         basesink for preroll or rendering. useful for making snapshots.
5849         API: gst_base_sink_get_last_buffer()
5850         API: GstBaseSink::last-buffer
5851
5852 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
5853
5854         * docs/gst/running.xml:
5855         * gst/gst.c:
5856         * gst/gstdebugutils.c:
5857         * gst/gstdebugutils.h:
5858         * tools/gst-launch.c:
5859           Improve bin graph dumping, by using the envvar to specify a path.
5860           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
5861
5862 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
5863
5864         * plugins/elements/gsttypefindelement.c:
5865           (gst_type_find_element_handle_event),
5866           (gst_type_find_element_activate):
5867           Post special error message if we can't determine the type of a stream
5868           because it's empty.
5869
5870 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
5871
5872         * docs/gst/running.xml:
5873         * gst/gstdebugutils.c:
5874           Document new env-var. Add one log-line after dumpng a graph.
5875
5876 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
5877
5878         * configure.ac:
5879           Ugly hack to put the (recently removed and non-portable, apparently)
5880           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
5881           GNU ld, because without that 'make check' fails miserably on my debian
5882           stable box.  Someone with more knowledge of linker intricacies and
5883           portability issues than me fix this properly please.
5884
5885 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
5886
5887         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
5888         Reset last seen position after flushing so that we don't report the old
5889         position anymore.
5890
5891 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
5892
5893         * gst/gstelementfactory.c: (gst_element_register):
5894         * gst/gsturi.h:
5895         Patch from Alessandro Decina adding get_type_full and
5896         get_protocols_full private vfuncs to the URIHandler interface
5897         to allow bindings to support creating URI handlers. 
5898         Partially fixes: #339279
5899         API: GstURIHandlerInterface::get_type_full
5900         API: GstURIHandlerInterface::get_protocols_full
5901
5902 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
5903
5904         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
5905         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
5906         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
5907         Make it so that pads are considered linked until a buffer is pushed
5908         and discovered otherwise. This avoids problems with decodebin2 hanging
5909         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
5910         case.
5911
5912         Make sure we lock the multiqueue when updating the max-size properties.
5913         
5914         Fix a crash on Solaris in a debug statement in get_request_pad that
5915         passes a NULL string to GST_DEBUG. 
5916
5917         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
5918         (run_output_order_test):
5919         Fix the test to allow the first buffer on not-linked pads to come out
5920         of sequence while multiqueue discovers that they are not-linked.
5921
5922 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
5923
5924         * configure.ac:
5925         * libs/gst/check/Makefile.am:
5926         Use a custom export symbol regex for libgstcheck, as it needs
5927         to export symbols that don't match the standard GStreamer gst_*
5928         pattern, and  --export-dynamic is not portable (only works on 
5929         GNU ld)
5930
5931         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
5932         (gst_check_setup_sink_pad):
5933         Make sure to pass a message parameter to the fail_* macros.
5934
5935         * tests/check/gst/gstinfo.c: (GST_START_TEST):
5936         Fix some compiler warnings.
5937
5938 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
5939
5940         * tests/check/gst/gststructure.c: (test_to_string):
5941           Disable test that checks that white spaces are not allowed
5942           in structure names or field names, since we need to
5943           support that for now for backwards compatibility reasons.
5944
5945 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
5946
5947         * docs/gst/gstreamer-sections.txt:
5948         * gst/gsttaglist.c:
5949         * gst/gsttaglist.h:
5950           API: add GST_TAG_ARTIST_SORTNAME
5951           API: add GST_TAG_ALBUM_SORTNAME
5952           API: add GST_TAG_TITLE_SORTNAME
5953           Add tag variants for sorting (#414539).
5954
5955 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
5956
5957         * gst/gststructure.c:
5958           Also allow white space for names so we don't break
5959           backwards compatibility.
5960
5961 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
5962
5963         * docs/design/part-TODO.txt:
5964         * docs/design/part-segments.txt:
5965         * docs/design/part-streams.txt:
5966         Small updates.
5967
5968 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
5969
5970         * docs/gst/gstreamer-sections.txt:
5971          Fixed documentation from my previous commit (added new API add
5972          gst_value_set_structure(), add gst_value_get_structure() and
5973          GST_VALUE_HOLDS_STRUCTURE).
5974
5975 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
5976
5977         * gst/gstdebugutils.c:
5978           Reflow code to fix uninitialized variable warning.
5979
5980 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
5981
5982         * gst/gstcaps.c: (gst_caps_to_string),
5983         (gst_caps_from_string_inplace):
5984         * gst/gststructure.c: (gst_structure_get_abbrs),
5985         (gst_structure_to_string), (gst_structure_from_string):
5986         * gst/gstvalue.c: (gst_value_set_structure),
5987         (gst_value_get_structure), (gst_value_serialize_structure),
5988         (gst_value_deserialize_structure), (_gst_value_initialize):
5989         * gst/gstvalue.h:
5990         * tests/check/gst/gststructure.c: (GST_START_TEST),
5991         (gst_structure_suite):
5992         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5993          Added GstStructure to gst_value_table and its related functions.
5994          Changed gst_structure_to_string to print ';' in the end.
5995          Changed gst_caps_to_string to not print ';' beteween its
5996          fields (structures) anymore and remove the lastes ';' from latest
5997          structure. Now it is possible to have nested structures.
5998          In addition, backward compatibilty is assured by accepting '\0' as
5999          end delimiter. Fixes: #487969.
6000          API: add gst_value_set_structure()
6001          API: add gst_value_get_structure()
6002          API: add GST_VALUE_HOLDS_STRUCTURE
6003
6004 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
6005
6006         * gst/gstbus.c:
6007           When no GSource callback has been set up, tell developer
6008           to use a function that actually exists.
6009
6010 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
6011
6012         * docs/gst/gstreamer-sections.txt:
6013         * gst/Makefile.am:
6014         * gst/gst.c:
6015         * gst/gst.h:
6016         * gst/gstdebugutils.c:
6017         * gst/gstdebugutils.h:
6018         * gst/gstinfo.c:
6019         * gst/gstinfo.h:
6020         * tools/gst-launch.c:
6021           Allow dumping pipelines as dot graphs. Fixes #456573.
6022
6023 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6024
6025         * gst/gststructure.c:
6026           Allow '+' as well, it can be part of media or mime types
6027           such as image/svg+xml.
6028
6029 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6030
6031         * docs/gst/gstreamer-sections.txt:
6032         * gst/gstbus.c:
6033         * gst/gstbus.h:
6034           API: add gst_bus_pop_filtered
6035           API: add gst_bus_timed_pop_filtered
6036           Two new functions for waiting for specific message types on the
6037           bus for a specified amount of time without iterating any main
6038           loops or main contexts.
6039
6040         * tests/check/gst/gstbus.c:
6041           Some tests for the new functions.
6042
6043 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6044
6045         * docs/libs/gstreamer-libs-sections.txt:
6046           Make gtk-doc ignore stuff it should ignore.
6047
6048 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
6049
6050         * libs/gst/check/gstcheck.c:
6051         * libs/gst/check/gstcheck.h:
6052           Allow runtime selection of unit tests to run via the GST_CHECKS
6053           environment variable (test case function names, comma-separated).
6054
6055 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6056
6057         * gst/gststructure.c:
6058         * tests/check/gst/gststructure.c:
6059           Revert serialisation change and constrain structure-names after
6060           consensus on irc. Update api documentation to reflect the change.
6061
6062 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
6063
6064         * gst/gststructure.c:
6065           Improve serialization and fix tests.
6066
6067         * tests/check/gst/gststructure.c:
6068           Add another test that covers why I actually did the previous structure
6069           change.
6070
6071 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6072
6073         * tools/gst-inspect.c: (print_element_info):
6074         Don't crash when inspecting an element.
6075
6076 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6077
6078         * tests/check/gst/gststructure.c:
6079           Add unit test for escaping of structure name when serialising
6080           and deserialising to/from strings.
6081
6082 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6083
6084         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6085         (gst_single_queue_new):
6086         * plugins/elements/gstqueue.c: (gst_queue_init),
6087         (gst_queue_push_one):
6088         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
6089         upstream is tricked into thinking it can suggest a format downstream
6090         while downstream does not support that format. The real problem is that
6091         core calls acceptcaps when pushing a buffer with new caps, for which we
6092         do a little workaround by setting the caps on the srcpad ourselves
6093         before pushing the buffer (until this is figured out). Fixes #486758.
6094
6095 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6096
6097         * gst/gststructure.c:
6098         * gst/gstvalue.c:
6099           Add some more comments and debug output. Quote structure name to fix
6100           deserialisation of some strings.
6101
6102 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6103
6104         * gst/gstbuffer.h:
6105           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
6106           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
6107
6108 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6109
6110         * tools/gst-inspect.c:
6111           Save approx. 400 1 byte allocs when printing. Use API to acces element
6112           details.
6113
6114         * tools/gst-run.c:
6115           Avoid a strdup.
6116
6117         * tools/gst-xmlinspect.c:
6118           Use API to acces element details.
6119
6120 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6121
6122         * gst/gstinfo.c:
6123           Fix some spelling errors.
6124
6125 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
6126
6127         * gst/gstbin.c: (bin_handle_async_done):
6128         Correctly set the next state if all of our async children commited their
6129         state. This makes sure we can actually cancel the state change in
6130         progress. Fixes a regression in Rhythmbox when seeking.
6131
6132 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6133
6134         * gst/gstbin.c:
6135           Don't shadow local variable.
6136
6137         * gst/gstinfo.c:
6138           Don't shadow global function name.
6139
6140 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6141
6142         * gst/gstelementfactory.c:
6143         * gst/gstpluginfeature.c:
6144         * gst/gstpluginfeature.h:
6145         * gst/gstregistrybinary.c:
6146         * gst/gstregistryxml.c:
6147         * gst/gsttypefind.c:
6148           Use already-interned string for the private GstPluginFeature
6149           plugin_name field.
6150
6151 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6152
6153         * docs/libs/gstreamer-libs-sections.txt:
6154           Add new API to docs; fixes the build.
6155
6156 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
6157         
6158         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
6159
6160         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
6161         (gst_base_sink_event):
6162         * libs/gst/base/gstbasesink.h:
6163         Add function to wait for EOS, subclasses can use this to correctly wait
6164         for devices to drain before performing the EOS logic. Fixes #485343.
6165         API: gst_base_sink_wait_eos()
6166
6167 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6168
6169         * gst/gstplugin.h:
6170           Cast description string constants in GST_PLUGIN_DEFINE macros
6171           to a (gchar*) to make C++ code using these macros compile
6172           without warning with g++-4.2 (see #462737).  Even if slightly
6173           ugly, this seems preferable to putting the description strings
6174           into the GLib quark table or making the structure member a
6175           const gchar * and doing casts in core code that allocs and
6176           frees these strings, or requiring a cast in the C++ code.
6177
6178 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6179
6180         * gst/gstinfo.h:
6181           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
6182           to print the entire class/function signature into the log
6183           file for C++ code.  This only affects C++ code, for C code
6184           everything remains the same.
6185
6186 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
6187
6188         * gst/gstbin.c: (remove_from_queue):
6189         Work around a problem with pipelines containing (semi)loops until a
6190         proper, more complicated solution is ready. See #475455.
6191
6192 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6193
6194         * gst/gstplugin.c:
6195         * gst/gstplugin.h:
6196         * gst/gstregistrybinary.c:
6197         * gst/gstregistryxml.c:
6198           Put more strings into the GLib quark table. No need to keep
6199           a hundred-something copies of identical version strings,
6200           license strings, package name strings and package origin
6201           strings around. 
6202
6203 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6204
6205         * docs/manual/advanced-dataaccess.xml:
6206           Don't imply that it's okay to unconditionally change
6207           buffer data or buffer metadata in a pad probe callback,
6208           and a bunch of other comments. Fixes #430031.
6209
6210 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6211
6212         * win32/common/gstenumtypes.c:
6213         * win32/common/gstenumtypes.h:
6214         * win32/common/gstversion.h:
6215           Update generated files.
6216
6217 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6218
6219         * docs/manual/advanced-autoplugging.xml:
6220           Prefix section with broken code with a warning (see #342432).
6221
6222 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6223
6224         * docs/manual/appendix-integration.xml:
6225         * docs/manual/basics-init.xml:
6226           Call g_thread_init() before g_option_context_new() to
6227           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
6228
6229 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6230
6231         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6232         (gst_base_sink_queue_object_unlocked),
6233         (gst_base_sink_queue_object), (gst_base_sink_event),
6234         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
6235         When we received EOS and are waiting for when to post the EOS message,
6236         our state is prerolled and we should not return ASYNC.
6237         Reorganize some code paths to implement this behavior.
6238
6239         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6240         (gst_sinks_suite):
6241         Add unit test to verify above EOS fix.
6242
6243 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6244
6245         * plugins/elements/gsttypefindelement.c:
6246         (gst_type_find_element_have_type), (gst_type_find_element_init),
6247         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
6248         Move detecting the input caps of the sinkpad to the setcaps function.
6249         This allows us to update the output caps when we receive new input caps
6250         instead of always using the first detected caps.
6251
6252 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6253
6254         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6255         (gst_base_sink_get_position):
6256         Don't try to preroll non-async elements after a flush.
6257         Subtract latency form clock times when reporting position.
6258
6259 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6260
6261         * gst/gstpad.c: (gst_pad_pause_task):
6262         * gst/gstutils.c:
6263         Small comment and documentation update.
6264
6265 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6266
6267         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6268         (gst_base_src_set_live), (gst_base_src_is_live),
6269         (gst_base_src_query_latency), (gst_base_src_perform_seek),
6270         (gst_base_src_default_event), (gst_base_src_wait),
6271         (gst_base_src_do_sync), (gst_base_src_get_range),
6272         (gst_base_src_pad_get_range), (gst_base_src_loop),
6273         (gst_base_src_unlock), (gst_base_src_unlock_stop),
6274         (gst_base_src_set_flushing), (gst_base_src_set_playing),
6275         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6276         (gst_base_src_change_state):
6277         Rework the locking of basesrc in a similar fashion to basesink. We
6278         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
6279         us to handle live sources and semi live ones much better.
6280         Simplify flushing.
6281         Fix unlocking when seeking, shutting down and pausing in live sources.
6282
6283 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6284
6285         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
6286         Fix compilation again.
6287
6288 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6289
6290         * gst/gstelement.c:
6291           Use meaningful categories for the logs to clean the default one.
6292
6293 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6294
6295         * tests/check/pipelines/cleanup.c:
6296           Print message name and not just number.
6297
6298 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6299
6300         * docs/design/draft-tagreading.txt:
6301           Add some more thoughts.
6302
6303 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6304
6305         * tests/check/pipelines/simple-launch-lines.c:
6306           Print message name and not just number.
6307
6308 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6309
6310         * libs/gst/base/gsttypefindhelper.c:
6311           Speedup typefinding. This is work in progress (see #459862).
6312
6313 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6314
6315         * gst/gstplugin.c:
6316           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
6317           Spotted by Josep Torra Valles <josep@fluendo.com>.
6318
6319 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
6320
6321         * gst/gstclock.h:
6322           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
6323           field has moved to GstObject.
6324
6325 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
6326
6327         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
6328         (gst_base_src_get_range), (gst_base_src_change_state):
6329         Call unlock for live sources so that they can't get stuck in _create and
6330         produce a buffer before they are set back to PLAYING.
6331
6332 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
6333
6334         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6335         (gst_queue_locked_dequeue):
6336         Comment the segment-related code... in the PROPER function.
6337         See #482147 and my commit from yesterday.
6338
6339 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
6340
6341         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6342         Also initialize the counter that calculates the first timestamp on a
6343         buffer correctly for non-live sources.
6344
6345 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
6346
6347         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
6348         Disable code that's breaking the current-time-level reporting.
6349         See #482147
6350
6351 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
6352
6353         * docs/gst/gstreamer-sections.txt:
6354         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
6355         as they shouldn't show up. Fixes the docs build.
6356
6357 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
6358         
6359         * gst/gstinfo.h:
6360         Add an explicit variable importation needed on VS6 (only for MSC_VER)
6361         Define M_PI which is used in files which are including gstinfo.h. 
6362         VS6 includes doesn't define it.
6363         * win32/common/libgstbase.def:
6364         * win32/common/libgstcontroller.def:
6365         * win32/common/libgstreamer.def:
6366         Add new exported functions and variables.
6367         * win32/vs6/libgstcontroller.dsp:
6368         * win32/vs6/libgstreamer.dsp:
6369         Update the list of files to build.
6370         
6371 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6372
6373         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6374
6375         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
6376         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
6377         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
6378         Improve debugging. Fixes #480858.
6379
6380 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6381
6382         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6383
6384         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6385         First patch of code cleanups, use the macros and right arguments in the
6386         macros to signal and lock the queue. See #480858.
6387
6388 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
6389
6390         * gst/gstbus.c: (poll_func):
6391         Improve debugging when dealing with _poll().
6392
6393 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6394
6395         * gst/gstregistryxml.c:
6396           Fix memory leak I introduced a few days ago.
6397
6398 2007-09-26  Michael Smith <msmith@fluendo.com>
6399
6400         * gst/gstbuffer.c: (gst_buffer_finalize):
6401           Make it once again possible to free GstBuffers in the default
6402           build.
6403           The poisoning scribbles on parts of the miniobject we need in
6404           order to free it.
6405           Fixes #480341
6406
6407 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6408
6409         * docs/gst/gstreamer-sections.txt:
6410         * gst/gsttaglist.c:
6411         * gst/gsttaglist.h:
6412         API: add GST_TAG_COMPOSER, fixes #459809.
6413
6414 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
6415
6416         * gst/gstplugin.c:
6417         * gst/gstplugin.h:
6418         Add the 3-clause BSD license and the MIT/X11 license to the license
6419         list. Fixes #479784.
6420
6421 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6422
6423         * docs/faq/getting.xml:
6424           Add Q+A about different GStreamer versions (#364056).
6425
6426 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6427
6428         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6429         (gst_base_sink_event), (gst_base_sink_change_state):
6430         Return correct gboolean from query function.
6431
6432 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6433
6434         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6435         (gst_base_sink_event), (gst_base_sink_query),
6436         (gst_base_sink_change_state):
6437         Simplify latency query.
6438         When not synchronizing, we can report latency without querying the peer
6439         element.
6440
6441 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6442
6443         * gst/gstobject.h:
6444         * gst/gstvalue.c:
6445         Fix small typos in the docs.
6446
6447 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6448
6449         * docs/design/draft-latency.txt:
6450         * docs/design/draft-push-pull.txt:
6451         * docs/design/draft-tagreading.txt:
6452         * docs/design/part-MT-refcounting.txt:
6453         * docs/design/part-activation.txt:
6454         * docs/design/part-block.txt:
6455         * docs/design/part-element-source.txt:
6456         * docs/design/part-events.txt:
6457         * docs/design/part-gstbin.txt:
6458         * docs/design/part-gstelement.txt:
6459         * docs/design/part-gstobject.txt:
6460         * docs/design/part-gstpipeline.txt:
6461         * docs/design/part-messages.txt:
6462         * docs/design/part-preroll.txt:
6463         * docs/design/part-push-pull.txt:
6464         * docs/design/part-qos.txt:
6465         * docs/design/part-query.txt:
6466         * docs/design/part-scheduling.txt:
6467         * docs/design/part-seeking.txt:
6468         * docs/design/part-segments.txt:
6469         * docs/design/part-states.txt:
6470         Documentation updates and typo fixes.
6471
6472 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6473
6474         * plugins/elements/gstfakesink.c:
6475           Add some debug text to error message to indicate that
6476           we errored out on request.
6477
6478         * tools/gst-launch.c:
6479           When the state change to PLAYING fails, check for an
6480           error message on the bus and print it.
6481
6482 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6483
6484         translated by: Jorge González González <aloriel@gmail.com>
6485
6486         * po/LINGUAS:
6487         * po/es.po:
6488           Added Spanish translation.
6489
6490 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
6491
6492         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6493         Fix printf arguments.
6494
6495 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6496
6497         * tests/check/generic/states.c:
6498           Improved state change unit test.
6499
6500 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6501
6502         * gst/gstbin.h:
6503           Move priv to the right place.
6504
6505         * gst/gstsystemclock.c:
6506           Add FIXME: and improve log.
6507
6508         * tests/check/Makefile.am:
6509         * tests/examples/manual/Makefile.am:
6510           Work with all types of registries.
6511
6512 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
6513
6514         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6515         Don't unref the event after pushing it. Fixes #478401.
6516
6517 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6518
6519         * .cvsignore:
6520         * tests/examples/manual/.cvsignore:
6521           Ignore registries in any format.
6522
6523 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6524
6525         * gst/glib-compat-private.h:
6526           Add compatibility macro for g_intern_string() for
6527           GLib-2.8 (any reason we can't just bump the
6528           requirement to at least 2.10?)
6529
6530         * gst/gstpadtemplate.h:
6531         * gst/gstelementfactory.c:
6532         * gst/gstregistryxml.c:
6533         * gst/gstregistrybinary.c:
6534           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
6535           up the internal code accordingly.  This shouldn't be a problem, since
6536           there is no reason external code could ever assume the string in such
6537           a structure is dynamically allocated unless it did that itself;  the
6538           use of g_strdup() is private to element factories.  The new code also
6539           saves some memory by putting pad template name strings into the GLib
6540           quark table instead of allocating them dynamically.
6541           Declaring this field constant fixes warnings with g++-4.2 when using
6542           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
6543
6544 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6545
6546         * gst/gstelementfactory.c:
6547           Release static caps. Fixes #475723.
6548
6549 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
6550
6551         * gst/gstinfo.c:
6552         * gst/gstinfo.h:
6553           Make some internal API take const gchar * instead of just
6554           gchar * to avoid compiler warnings with g++-4.2.2 when
6555           passing string constants (partially fixes #478092).
6556
6557 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6558
6559         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
6560         A latency query fails when one of the sinks fail.
6561
6562         * gst/gstelement.c: (gst_element_set_base_time):
6563         Improve debugging.
6564
6565 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
6566
6567         * gst/gstbin.c: (gst_bin_continue_func):
6568         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6569         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
6570         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
6571
6572         Fix minor compilation warnings shown with Forte.
6573
6574 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6575
6576         * plugins/elements/gstqueue.c: (apply_buffer),
6577         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
6578         Measure queue level based on the diff between head and tail timestamps
6579         even when pushing the first buffer.
6580
6581 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6582
6583         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6584         (gst_base_sink_event), (gst_base_sink_change_state):
6585         Sinks that don't preroll can always be queried for the latency.
6586         Don't post ASYNC start when we are not async.
6587
6588 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6589
6590         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6591         (gst_queue_handle_sink_event), (gst_queue_chain),
6592         (gst_queue_push_one), (gst_queue_handle_src_query),
6593         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
6594         * plugins/elements/gstqueue.h:
6595         When downstream returns UNEXPECTED from pushing a buffer, don't try to
6596         push more buffers but allow pushing of EOS and NEWSEGMENT.
6597         Add some more debug info here and there. Fixes #476514.
6598
6599 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6600
6601         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6602         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
6603         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6604         (gst_base_sink_set_flushing), (gst_base_sink_query),
6605         (gst_base_sink_change_state):
6606         Latency query is allowed after we are prerolled. Introduce a new flag
6607         for this and stop abusing other variables.
6608
6609 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6610
6611         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6612         Push OOB events downstream when we get them in send_event. This allows
6613         the application to insert events in the pipeline.
6614         Add some more comments.
6615
6616 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6617
6618         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
6619         (do_bin_latency), (gst_bin_change_state_func):
6620         * gst/gstpipeline.c: (gst_pipeline_change_state):
6621         Move latency query from GstPipeline to GstBin so that we can also
6622         use it when async-handling is enabled on bins.
6623
6624 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6625
6626         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6627         (gst_base_src_do_sync), (gst_base_src_change_state):
6628         Update docs.
6629         Clean up the timestamping and syncing code for pseudo live sources.
6630
6631 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
6632
6633         Patch by: Steve Fink  <sphink gmail com>
6634
6635         * docs/manual/appendix-checklist.xml:
6636           Mention less -R switch in the section about debug output (#474055).
6637
6638 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6639
6640         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6641         Queue can latency to the pipeline up to the configured max size in time.
6642         Report this fact in the latency query.
6643
6644 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6645
6646         Patch by: Sebastien Moutte <sebastien at moutte dot net>
6647
6648         * libs/gst/controller/gstinterpolation.c:
6649         * libs/gst/controller/gstlfocontrolsource.c:
6650         Use gst_guint64_to_gdouble() when converting from a uint64 or
6651         GstClockTime to double to fix the build on win32. Fixes #474371.
6652
6653 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6654
6655         * gst/gstbuffer.c: (gst_buffer_finalize):
6656         Implement poisoning for GstBuffer if --enable-poisoning is specified.
6657         When finalizing a buffer the complete struct is filled with 0xff,
6658         thus making a use of the buffer after the final unref impossible.
6659
6660 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6661
6662         * tests/check/libs/controller.c: (GST_START_TEST):
6663         Use fail_unless_equals_int(a, b) instead of
6664         fail_unless_equals (a == b) to get better output on failures.
6665
6666 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
6667
6668         * tests/check/gst/gsturi.c:
6669           Also check for the other file URI variant on win32.
6670
6671 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
6672
6673         * gst/gsturi.c: (gst_uri_get_location):
6674           If there's no hostname, we want to return 'c:/foo/bar.txt'
6675           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
6676
6677         * tests/check/gst/gsturi.c:
6678           Unit test for the above and a few more things.
6679
6680 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
6681
6682         * docs/design/part-live-source.txt:
6683         Add docs on how live sources should timestamp.
6684
6685         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6686         Add some more debug info.
6687         For subclasses that are live and like to sync, add aditional startup
6688         latency to sync time and timestamps so that we timstamp according to the
6689         design doc.
6690
6691 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
6692
6693         * gst/gstbuffer.c:
6694           Also do a g_type_class_ref() for the subbuffer type in
6695           the init function.
6696
6697 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
6698
6699         * docs/gst/gstreamer-sections.txt:
6700         * gst/gstpad.c: (gst_pad_peer_query):
6701         * gst/gstpad.h:
6702         Add function to perform a query on the peer of a pad.
6703         API: gst_pad_peer_query()
6704
6705 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
6706
6707         * tests/check/gst/gstsystemclock.c:
6708           Cleanup the test a little (use gst-logging and not g_message). Improve
6709           test to check if a wait reached the target.
6710
6711 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
6712
6713         * docs/libs/gstreamer-libs-sections.txt:
6714           Add new API to docs and fix the build.
6715
6716 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
6717
6718         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6719         (gst_base_src_init), (gst_base_src_set_do_timestamp),
6720         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
6721         (gst_base_src_get_property), (gst_base_src_do_sync):
6722         * libs/gst/base/gstbasesrc.h:
6723         Add property to make the basesrc timestamp buffers based on the current
6724         running time.
6725         API: GstBaseSrc::do-timestamp
6726         API: gst_base_src_set_do_timestamp()
6727         API: gst_base_src_get_do_timestamp()
6728
6729 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
6730
6731         * docs/random/release:
6732           Really make sure translations are up-to-date before
6733           a release (#465010).
6734
6735 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
6736
6737         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6738         Always destroy the timer, also in error cases.
6739
6740 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
6741
6742         * docs/manual/highlevel-xml.xml:
6743         Fix XML example code. Fixes #472714.
6744
6745 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
6746
6747         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6748         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6749         (gst_base_sink_query):
6750         Protect eos and have_preroll with the OBJECT lock so we don't need to
6751         take the PREROLL lock when querying the latency. Fixes #473846.
6752
6753 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
6754
6755         * gst/gstelement.c:
6756           Give some log-messages a category.
6757
6758 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
6759
6760         * gst/gststructure.c:
6761         (gst_structure_fixate_field_nearest_fraction):
6762         Fix fraction list fixation code. Take the fraction with the smallest
6763         difference with the target instead of the first one in the list.
6764
6765         * tests/check/gst/gststructure.c: (GST_START_TEST),
6766         (gst_structure_suite):
6767         Added test to verify correct fraction list fixation behaviour.
6768
6769 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
6770
6771         * win32/common/libgstreamer.def:
6772           Export gst_bus_add_signal_watch too.
6773
6774 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
6775
6776         * docs/libs/gstreamer-libs-sections.txt:
6777         Add new methods to docs.
6778
6779         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6780         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
6781         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
6782         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
6783         * libs/gst/base/gstbasesink.h:
6784         Add ts-offset property to fine-tune the synchronisation.
6785         API: GstBaseSink::ts-offset property
6786         API: gst_base_sink_set_ts_offset()
6787         API: gst_base_sink_get_ts_offset()
6788
6789 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
6790
6791         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6792         (gst_base_sink_init), (gst_base_sink_set_sync),
6793         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
6794         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
6795         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
6796         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
6797         (gst_base_sink_get_property), (gst_base_sink_change_state):
6798         * libs/gst/base/gstbasesink.h:
6799         Add async property to instruct the sink never to inform the parent about
6800         ASYNC state changes, update docs.
6801         Check argument with g_return_* for the public functions.
6802         API: GstBaseSink::async property
6803         API: gst_base_sink_set_async_enabled()
6804         API: gst_base_sink_is_async_enabled()
6805
6806 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
6807
6808         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
6809         Improve debugging.
6810
6811         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6812         (gst_base_src_default_query), (gst_base_src_wait),
6813         (gst_base_src_do_sync), (gst_base_src_change_state):
6814         Rearrange some code so that we can add support for measuring the 
6815         startup latency.
6816
6817 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
6818
6819         * docs/random/ensonic/dynlink.txt:
6820           More thoughs on this.
6821
6822         * plugins/elements/gstcapsfilter.c:
6823           Add bugzilla ticket number to FIXME comment.
6824
6825 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
6826
6827         * docs/design/part-TODO.txt:
6828         * docs/design/part-block.txt:
6829         Update some docs.
6830
6831 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6832
6833         * gst/Makefile.am:
6834           Revert patch which uses $(gst_headers) instead of $^ because it
6835           breaks make dist.
6836
6837 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6838
6839         * tests/check/gst/gstbin.c: (GST_START_TEST):
6840           Fix leaks in the new unit test.
6841
6842 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
6843
6844         * gst/gst.c:
6845           Don't use GST_INFO before the debug system is actually initialised
6846           (shouldn't do any harm, but won't print anything either, so we can
6847           just as well remove it).
6848
6849         * gst/gstinfo.h:
6850           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
6851           compilers that don't support variadic macros (such as MSVC), should
6852           check for debug_level <= __gst_debug_min as well, since that's the
6853           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
6854           inline helper functions. Should improve performance a bit, but also
6855           makes sure uses of GST_INFO et.al are ignored if the debugging
6856           system isn't initialised yet (instead of printing an assertion
6857           failure).
6858
6859 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
6860
6861         patch by: David Nečas <yeti@physics.muni.cz>
6862
6863         * gst/Makefile.am:
6864           Replace some non portable makefile constructs.
6865
6866 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
6867
6868         * common/gtk-doc-plugins.mak:
6869           Grrrrr. Don't remove the types file on make clean.
6870
6871 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
6872
6873         * tools/gst-launch.1.in:
6874         Add colorspace to example pipeline. Fixes #458274.
6875
6876 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
6877
6878         * docs/random/release:
6879           The release manager should run 'make download-po' before making a
6880           release to make sure translations are up-to-date.
6881
6882         * po/LINGUAS:
6883         * po/be.po:
6884         * po/pl.po:
6885         * po/rw.po:
6886           Add some new translations.
6887
6888 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
6889
6890         * tools/gst-launch.c: (event_loop), (main):
6891         Don´t try to do any state management when a live pipeline posts
6892         buffering messages.
6893         Also make the buffering string translatable.
6894
6895 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
6896
6897         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
6898         (bin_handle_async_start), (gst_bin_handle_message_func):
6899         Improve debugging.
6900         When adding elements, insert messages into the bus of the newly added
6901         element and make sure the element is the source of the message. This
6902         allows the parent bin to intercept the message and do the
6903         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
6904         messages to the app (which is not allowed).
6905         Update some docs.
6906
6907         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6908         Fix testsuite so that is does not work around messages that should not
6909         have been posted in the first place.
6910
6911 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
6912
6913         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
6914         (update_degree), (gst_bin_sort_iterator_next):
6915         Fix annoying bug in the sorted iterator where a sink that is not really
6916         a sink (when it has downstream links) screwed up the iterator.
6917
6918         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6919         Unit test to verify the fix.
6920
6921 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
6922
6923         * gst/gstmessage.h:
6924         Add some more docs for the messages.
6925
6926         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6927         (gst_base_sink_query):
6928         Add some more debugging.
6929
6930         * tools/gst-launch.c: (event_loop):
6931         When interrupting, don't try to set pipeline to PAUSED twice.
6932
6933 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
6934
6935         
6936         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
6937         (bin_handle_async_start), (gst_bin_handle_message_func):
6938         Move ASYNC_START message posting to where it belongs, similar to
6939         async_done. 
6940         Don't post ASYNC_START when we are in error. 
6941         Post ASYNC_START when we added an async element to a bin.
6942
6943 2007-08-14  Julien MOUTTE  <julien@moutte.net>
6944
6945         * gst/gstindex.c: (gst_index_add_association): Fix index entry
6946         generation from vargs. Fixes #466595.
6947
6948 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
6949
6950         * gst/gstbin.c: (gst_bin_element_set_state):
6951         Always change the state of a NO_PREROLL element even if it has ASYNC
6952         elements inside (in case of a bin).
6953
6954         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
6955         Unit test for this case.
6956
6957 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
6958
6959         * libs/gst/check/gstbufferstraw.c:
6960         * libs/gst/check/gstcheck.h:
6961         * libs/gst/controller/gstcontroller.c:
6962         * libs/gst/controller/gstcontrolsource.h:
6963         * libs/gst/controller/gstlfocontrolsource.h:
6964         * plugins/elements/gstcapsfilter.h:
6965         * plugins/elements/gstfdsink.h:
6966         * plugins/elements/gstfdsrc.h:
6967           Add more missing docs.
6968
6969 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
6970
6971         * gst/gststructure.c:
6972         Add Since tag to docs.
6973
6974 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
6975
6976         * docs/gst/gstreamer-sections.txt:
6977         * gst/gststructure.c: (gst_structure_get_uint):
6978         * gst/gststructure.h:
6979         Add function to get uint from a structure.
6980         API: gst_structure_get_uint()
6981
6982 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
6983
6984         * gst/gstcaps.c: (gst_caps_set_simple_valist),
6985         (gst_caps_intersect):
6986         Fix proper check for simple caps.
6987
6988 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
6989
6990         * docs/gst/Makefile.am:
6991         * docs/libs/Makefile.am:
6992           Remove cruft and do some cleanups.
6993
6994         * docs/gst/gstreamer-docs.sgml:
6995         * docs/libs/gstreamer-libs-docs.sgml:
6996           Prepare for comming gtkdoc features (rebase against online docs).
6997
6998 2007-08-10  Michael Smith <msmith@fluendo.com>
6999
7000         * docs/gst/gstreamer-sections.txt:
7001           Add gst_registry_add_path to docs.
7002
7003 2007-08-10  Michael Smith <msmith@fluendo.com>
7004
7005         * gst/gstregistry.h:
7006           Add gst_registry_add_path, which was missing from this header.
7007
7008 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
7009
7010         * libs/gst/controller/gstlfocontrolsource.c:
7011           Printf format fix.
7012
7013 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
7014
7015         * libs/gst/base/gstbasesink.c:
7016           Don't send an async_start message during downwards state change if 
7017           target state is less than READY
7018
7019 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7020
7021         translated by: Gabor Kelemen <kelemeng@gnome.hu>
7022
7023         * po/LINGUAS:
7024         * po/hu.po:
7025           Added Hungarian translation.
7026
7027 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
7028
7029         * po/fi.po:
7030         * po/it.po:
7031         * po/nl.po:
7032         * po/sv.po:
7033         * po/uk.po:
7034           Updated translations.
7035
7036 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7037
7038         * libs/gst/controller/Makefile.am:
7039         Dist gstlfocontrolsourceprivate.h
7040
7041 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
7042
7043         * docs/libs/gstreamer-libs.types:
7044         Don't register the enum type gst_lfo_waveform_get_type() in the
7045         .types file - only GObject derived types belong.
7046
7047 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7048
7049         Patch by: <arenevier at fdn dot fr>
7050
7051         * gst/gstbuffer.h:
7052         Remove comma from last element in enum to avoid compile errors when
7053         using -pendantic. Fixes #464366.
7054
7055 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
7056
7057         * docs/design/part-TODO.txt:
7058         Add some more TODO items
7059
7060         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
7061         Improve debugging.
7062
7063         * gst/gstcaps.c: (gst_caps_intersect):
7064         Optimize trivial intersection case between identical caps pointers.
7065
7066         * gst/gstelement.c: (gst_element_continue_state),
7067         (gst_element_set_state_func):
7068         * gst/gstpad.c:
7069         Fix spelling and grammar mistakes.
7070
7071 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
7072
7073         * po/POTFILES.in:
7074         * po/POTFILES.skip:
7075           Update POTFILES. Fixes #461599.
7076
7077 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7078
7079         * gst/gst.c:
7080         Fix confusing typo in debug output.
7081
7082 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7083
7084         reviewed by: Stefan Kost <ensonic@users.sf.net>
7085
7086         * libs/gst/controller/Makefile.am:
7087         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
7088         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
7089         (gst_lfo_control_source_new),
7090         (gst_lfo_control_source_set_waveform),
7091         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
7092         (gst_lfo_control_source_finalize),
7093         (gst_lfo_control_source_dispose),
7094         (gst_lfo_control_source_set_property),
7095         (gst_lfo_control_source_get_property),
7096         (gst_lfo_control_source_class_init):
7097         * libs/gst/controller/gstlfocontrolsource.h:
7098         * libs/gst/controller/gstlfocontrolsourceprivate.h:
7099         API: Add GstLFOControlSource, a control source that gives values
7100         for specific timestamps based on several periodic waveforms.
7101         Fixes #459717.
7102
7103         * tests/check/libs/controller.c: (GST_START_TEST),
7104         (gst_controller_suite):
7105         * docs/libs/gstreamer-libs-docs.sgml:
7106         * docs/libs/gstreamer-libs-sections.txt:
7107         * docs/libs/gstreamer-libs.types:
7108         Add documentation and unit tests for GstLFOControlSource.
7109
7110 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
7111
7112         * configure.ac:
7113         Back to CVS
7114
7115 === release 0.10.14 ===
7116
7117 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
7118
7119         * configure.ac:
7120           releasing 0.10.14, "Breathing Vacuum"
7121
7122 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
7123
7124         * gst/gstelement.c: (gst_element_class_set_details_simple):
7125         * gst/gstelement.h:
7126           Make strings passed to gst_element_class_set_details_simple()
7127           constant, as they should be (#462752).
7128
7129 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
7130
7131         * gst/gstbin.c: (gst_bin_change_state_func),
7132         (bin_handle_async_done), (gst_bin_handle_message_func):
7133         Don't forget about the fact that some element went ASYNC even after a
7134         resync. This makes us post the ASYNC_DONE message correctly.
7135         Fixes #462558.
7136
7137 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7138
7139         * gst/gstregistry.c: (gst_registry_add_feature):
7140         When replacing an existing feature in the registry, make sure to
7141         continue holding a reference until we've replaced the name string
7142         within our feature hash table. Make sure to use g_hash_table_replace
7143         instead of g_hash_table_insert to ensure the new name string is used
7144         as a key instead of the old one that we're about to free.
7145         Fixes: #462085
7146
7147 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7148
7149         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7150         (gst_plugin_feature_set_name):
7151         Revert patch from #459466 until after the release and we can work
7152         out exactly what the problem is (if any).
7153
7154 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7155
7156         * docs/gst/gstreamer-sections.txt:
7157         * gst/gsttaglist.c:
7158         * gst/gsttaglist.h:
7159           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
7160
7161 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7162
7163         * docs/libs/Makefile.am:
7164         Include our build-prefix libs and includes before the generic ones to
7165         avoid linking against the installed libs when we want the build-tree
7166         ones.
7167
7168 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7169
7170         Patch by: Steve Fink  <sphink gmail com>
7171
7172         * docs/pwg/building-testapp.xml:
7173           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
7174           if people try to build or install the example from the plugin
7175           template against a GStreamer from package using the configure
7176           defaults.
7177
7178 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
7179
7180         Patch by: Steve Fink  <sphink gmail com>
7181
7182         * tools/gst-inspect.1.in:
7183           Document --print-all and --print-plugin-auto-install-info command
7184           line options in man page.
7185
7186 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7187
7188         * docs/gst/gstreamer-sections.txt:
7189         Add docs for new api function.
7190
7191 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7192
7193         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
7194         * gst/gstelementfactory.h:
7195         API: gst_element_factory_has_interface()
7196         Added method to check if an element factory implements a named
7197         interface.
7198
7199 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
7200
7201         * configure.ac:
7202         * docs/gst/gstreamer.types.in:
7203           Another conditional doc check.
7204
7205         * gst/gstmessage.c:
7206         * gst/gstparamspecs.h:
7207         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7208         * gst/gstvalue.c:
7209         * gst/gstxml.h:
7210           API-doc fixes.
7211
7212 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7213
7214         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
7215         (gst_registry_binary_load_feature),
7216         (gst_registry_binary_load_plugin),
7217         (gst_registry_binary_read_cache):
7218           Print error just once and with additional info.
7219
7220 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7221
7222         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7223         (helper_find_suggest), (helper_find_get_length),
7224         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
7225         (gst_type_find_helper_for_buffer):
7226           Cleanup the typefindhelper code and add private doc comments.
7227
7228 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
7229
7230         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7231         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
7232         Fix capsfilter for cases where the caps set on capsfilter will provide
7233         additional information.
7234         Fixes #449197
7235
7236 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7237
7238         * gst/gsttypefindfactory.c:
7239           Fix docs that recommened wrong function to use.
7240
7241 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7242
7243         * tools/gst-inspect.c: (print_plugin_features):
7244           Also give media-type for typefinders in element output.
7245
7246 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7247
7248         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
7249         (gst_registry_remove_features_for_plugin_unlocked),
7250         (gst_registry_add_feature), (gst_registry_remove_feature),
7251         (gst_registry_lookup_feature_locked):
7252         * gst/gstregistry.h:
7253           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
7254           Fixes #459501.
7255
7256 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7257
7258         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7259         (gst_plugin_feature_set_name):
7260           Avoid double memory usage for pluginfeature names. Fixes #459466.
7261
7262 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7263
7264         * gst/gstpad.h:
7265           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
7266           driving the pipeline may need to explicitly check for NOT_LINKED as
7267           well, since IS_FATAL doesn't cover that.
7268
7269 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7270
7271         * docs/pwg/advanced-types.xml:
7272           Fix typo and duplicate entry in video formats list.
7273
7274 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
7275
7276         * libs/gst/controller/gstinterpolation.c:
7277         Also round to the nearest int when using cubic interpolation.
7278
7279 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
7280
7281         * libs/gst/controller/gstinterpolation.c:
7282         When linearly interpolating integer types, round to the nearest int
7283         by adding 0.5. Don't do it for float/double types.
7284         Fixes the failing controller test on my machine, which is somehow
7285         rounding differently than on the buildbots.
7286
7287 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7288
7289         * tools/gst-plot-timeline.py:
7290           Better log parsing (categories can have -). Adjust text vs. lines, so
7291           that they span the same y-range.        
7292
7293 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7294
7295         * docs/random/ensonic/audiobaseclasses.txt:
7296         * docs/random/ensonic/dynlink.txt:
7297         * docs/random/ensonic/profiling.txt:
7298           Save my thoughts.
7299
7300         * docs/random/moving-plugins:
7301           Add note to use g_assert type macros.
7302
7303 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7304
7305         * configure.ac:
7306         * libs/gst/check/Makefile.am:
7307           Add libm check as we use in for plugins.
7308
7309 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
7310
7311         * gst/gstbin.c: (gst_bin_continue_func):
7312         Check that the state_cookie hasn't changed since the continue_func
7313         was scheduled. Avoids problems where the state changes back to
7314         something it shouldn't be because it was changed in the meantime.
7315
7316 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
7317
7318         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
7319         (gst_registry_binary_save_string),
7320         (gst_registry_binary_save_pad_template),
7321         (gst_registry_binary_save_feature),
7322         (gst_registry_binary_save_plugin),
7323         (gst_registry_binary_load_feature),
7324         (gst_registry_binary_load_plugin),
7325         (gst_registry_binary_read_cache):
7326           Fix memory leak. Be less verbose in the log.
7327
7328 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7329
7330         * tests/check/elements/.cvsignore:
7331         Add file to cvsignore as commanded.
7332
7333 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7334
7335         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
7336         (mq_dummypad_event), (run_output_order_test):
7337         Use a GStaticMutex to protect all cases where libcheck
7338         fail_if/fail_unless macros might be called from multiple threads
7339         simultaneously to avoid errors like:
7340           "check_pack.c:107: :-1081725400:Bad message type arg"
7341
7342 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7343
7344         * tests/check/pipelines/stress.c: (GST_START_TEST):
7345         Make sure we set the pipeline back to the NULL state before
7346         dropping our final reference.
7347
7348 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7349
7350         * tests/check/elements/tee.c: (GST_START_TEST):
7351         Make the tee stress-test a little less stressful so it doesn't just
7352         time out on slow-machines, and remove a small race when it's starting 
7353         up by adding a get_state() call.
7354
7355 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
7356
7357         * gst/gst.c:
7358           Avoid reading registry twice on startup. Fixes #457322.
7359
7360 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7361
7362         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7363         * pkgconfig/gstreamer-check.pc.in:
7364         Substitute the CFLAGS for libcheck into our .pc file too so that
7365         dependent modules will pick it up properly if libcheck is installed
7366         into some other prefix.
7367
7368 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7369
7370         * configure.ac:
7371         Revert the pkg-config check for libcheck, since it pulls in the
7372         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
7373         a proper solution, either from the check project, or something else.
7374
7375 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
7376
7377         * configure.ac:
7378           Use pkg-config to locate check.
7379
7380 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
7381
7382         * gst/gsttaglist.c:
7383           Fix doc syntax.
7384
7385         * gst/gstutils.c:
7386         * gst/gstutils.h:
7387           Add deprecation guards.
7388
7389         * libs/gst/base/gstcollectpads.h:
7390           Don't document object (this is implicitly private).
7391
7392 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
7393
7394         * gst/gststructure.c: (gst_structure_parse_value):
7395           When deserialising foo=bar without a type cast, check if it's a
7396           boolean before falling back to a string type, otherwise things like
7397           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
7398           because the filtercaps end up having a signed=(string)true field,
7399           which causes problems later when intersection caps.
7400
7401         * tests/check/gst/gststructure.c: (GST_START_TEST):
7402           Add a unit test for this.
7403
7404 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
7405
7406         Reviewed by: Stefan Kost <ensonic@users.sf.net>
7407
7408         * libs/gst/controller/Makefile.am:
7409         * libs/gst/controller/gstcontroller.c:
7410         (gst_controlled_property_add_interpolation_control_source),
7411         (gst_controlled_property_new), (gst_controlled_property_free),
7412         (gst_controller_find_controlled_property),
7413         (gst_controller_new_valist), (gst_controller_new_list),
7414         (gst_controller_new), (gst_controller_remove_properties_valist),
7415         (gst_controller_remove_properties_list),
7416         (gst_controller_remove_properties),
7417         (gst_controller_set_property_disabled),
7418         (gst_controller_set_disabled), (gst_controller_set_control_source),
7419         (gst_controller_get_control_source), (gst_controller_get),
7420         (gst_controller_sync_values), (gst_controller_get_value_array),
7421         (_gst_controller_dispose), (gst_controller_get_type),
7422         (gst_controlled_property_set_interpolation_mode),
7423         (gst_controller_set), (gst_controller_set_from_list),
7424         (gst_controller_unset), (gst_controller_unset_all),
7425         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
7426         * libs/gst/controller/gstcontroller.h:
7427         * libs/gst/controller/gstcontrollerprivate.h:
7428         * libs/gst/controller/gstcontrolsource.c:
7429         (gst_control_source_class_init), (gst_control_source_init),
7430         (gst_control_source_get_value),
7431         (gst_control_source_get_value_array), (gst_control_source_bind):
7432         * libs/gst/controller/gstcontrolsource.h:
7433         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7434         (gst_object_get_control_source):
7435         * libs/gst/controller/gstinterpolation.c:
7436         (gst_interpolation_control_source_find_control_point_node),
7437         (gst_interpolation_control_source_get_first_value),
7438         (_interpolate_none_get), (interpolate_none_get),
7439         (interpolate_none_get_boolean_value_array),
7440         (interpolate_none_get_enum_value_array),
7441         (interpolate_none_get_string_value_array),
7442         (_interpolate_trigger_get), (interpolate_trigger_get),
7443         (interpolate_trigger_get_boolean_value_array),
7444         (interpolate_trigger_get_enum_value_array),
7445         (interpolate_trigger_get_string_value_array):
7446         * libs/gst/controller/gstinterpolationcontrolsource.c:
7447         (gst_control_point_free), (gst_interpolation_control_source_reset),
7448         (gst_interpolation_control_source_new),
7449         (gst_interpolation_control_source_set_interpolation_mode),
7450         (gst_interpolation_control_source_bind),
7451         (gst_control_point_compare), (gst_control_point_find),
7452         (gst_interpolation_control_source_set_internal),
7453         (gst_interpolation_control_source_set),
7454         (gst_interpolation_control_source_set_from_list),
7455         (gst_interpolation_control_source_unset),
7456         (gst_interpolation_control_source_unset_all),
7457         (gst_interpolation_control_source_get_all),
7458         (gst_interpolation_control_source_get_count),
7459         (gst_interpolation_control_source_init),
7460         (gst_interpolation_control_source_finalize),
7461         (gst_interpolation_control_source_dispose),
7462         (gst_interpolation_control_source_class_init):
7463         * libs/gst/controller/gstinterpolationcontrolsource.h:
7464         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
7465         API: Refactor GstController into the core controller which can take
7466         a GstControlSource for providing actual values for timestamps.
7467         Implement a interpolation control source and use this for backward
7468         compatibility, deprecate a bunch of functions that are now handled
7469         by GstControlSource or GstInterpolationControlSource.
7470         Make it possible to disable the controller completely or only for
7471         specific properties. Fixes #450711.
7472         * docs/libs/gstreamer-libs-docs.sgml:
7473         * docs/libs/gstreamer-libs-sections.txt:
7474         * docs/libs/gstreamer-libs.types:
7475         Add new functions and classes to the docs.
7476         * tests/check/libs/controller.c: (GST_START_TEST),
7477         (gst_controller_suite):
7478         * tests/examples/controller/audio-example.c: (main):
7479         Port unit test and example to the new API and add some new
7480         unit tests.
7481
7482 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
7483
7484         Patch by: Mark Nauwelaerts <manauw at skynet be>
7485
7486         * plugins/elements/gstmultiqueue.c:
7487         (gst_multi_queue_get_internal_links), (apply_buffer),
7488         (single_queue_overrun_cb), (gst_single_queue_new):
7489         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
7490         the pipeline layout can be tracked correctly. Fixes #453732.
7491
7492 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
7493
7494         * docs/gst/Makefile.am:
7495         * docs/libs/Makefile.am:
7496         * docs/plugins/Makefile.am:
7497           Simplify --extra-dir as gtkdoc scans recursively.
7498
7499 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7500
7501         * tools/gst-launch.c: (main):
7502         When we got an error, there is no point in waiting for preroll when
7503         shutting down.
7504
7505 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7506
7507         * plugins/elements/gsttee.c: (gst_tee_base_init),
7508         (gst_tee_request_new_pad), (gst_tee_release_pad),
7509         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
7510         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
7511         (gst_tee_chain):
7512         Be a lot smarter when deciding what srcpad to use for proxying
7513         the buffer_alloc. Also handle pad added/removed when doing so.
7514         Fixes #357959.
7515         Keep track of what pads we already pushed on in case we have pads
7516         added/removed while pushing. Fixes #374639 
7517
7518         * tests/check/Makefile.am:
7519         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
7520         (tee_suite):
7521         Added unit test for pad resync.
7522
7523 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7524
7525         * po/nl.po:
7526         * po/sv.po:
7527           Updated translations.
7528
7529 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7530
7531         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
7532
7533         * po/LINGUAS:
7534         * po/fi.po:
7535           Added new Finnish translation.
7536
7537 2007-06-28  Wim Taymans  <wim@fluendo.com>
7538
7539         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7540         (single_queue_overrun_cb):
7541         When figuring out when a queue is filled, use our internal time estimate
7542         based on segments, just like check_full does.
7543
7544 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7545
7546         * gst/gstminiobject.c: (gst_mini_object_get_type):
7547           Remove 3 do-nothing methods.
7548
7549 2007-06-27  Wim Taymans  <wim@fluendo.com>
7550
7551         Patch by: Tim Angus <tim at ngus dot net>
7552
7553         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7554         (gst_capsfilter_set_property):
7555         Take a reference instead of a copy when setting "caps".
7556         Fix documentation to clarify this behaviour. Fixes #449414.
7557
7558 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7559
7560         * gst/gstindexfactory.c: (gst_index_factory_get_type):
7561         * gst/gstplugin.c: (gst_plugin_init):
7562         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
7563         * gst/gstquery.c: (gst_query_get_type):
7564         * gst/gstregistry.c: (gst_registry_init):
7565         * gst/gsturi.c: (gst_uri_handler_base_init):
7566           Remove empty instance_init() functions to save relocs and lessen the
7567           noise. Remove some of the function prototypes that are doubled by
7568           G_DEFINE_TYPE.
7569           
7570 2007-06-27  Wim Taymans  <wim@fluendo.com>
7571
7572         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
7573
7574         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
7575         Add peer and direction in the XML serialisation of ghostpads.
7576         Fixes #449226.
7577
7578 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7579
7580         * configure.ac:
7581           Preserve useful information, thanks Tim.
7582
7583 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
7584
7585         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7586         (gst_single_queue_flush), (apply_segment), (apply_buffer),
7587         (gst_single_queue_push_one), (gst_multi_queue_loop),
7588         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7589         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
7590         (compute_high_id), (gst_single_queue_new):
7591         * plugins/elements/gstmultiqueue.h:
7592         Take the multiqueue lock when updating the fill level so we don't get
7593         confused. 
7594
7595         After applying a buffer or event on the src pad segment, make sure to
7596         call gst_data_queue_limits_changed() to get the data queue to unblock
7597         and check the filled state again.
7598         
7599         Rework the not-linked pad handling so the logic is that not-linked 
7600         pads can push as fast as they like, but only so they never get 
7601         ahead of any linked pads.
7602
7603         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
7604         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
7605         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
7606
7607         Add a test to check that not-linked pads always stay behind
7608         linked pads.
7609
7610         Fixes: #430682
7611
7612 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
7613
7614         * docs/random/release:
7615           Some updates to the release procedure.
7616
7617 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7618
7619         * gst/gstelementfactory.c: (__gst_element_details_clear):
7620           Microoptimization that saves stunning 80 bytes.
7621
7622 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
7623
7624         * docs/plugins/gstreamer-plugins.args:
7625         * docs/plugins/inspect/plugin-coreelements.xml:
7626         * docs/plugins/inspect/plugin-coreindexers.xml:
7627           Update docs with caps info.
7628
7629 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7630
7631         * po/it.po:
7632           Updated Italian translation.
7633
7634 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7635
7636         * ChangeLog:
7637         * po/vi.po:
7638           Update Vietnamese translations.
7639
7640 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7641
7642         * libs/gst/base/gstbasesink.c:
7643           Remove unused signal enum.
7644
7645 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
7646
7647         * docs/gst/gstreamer-sections.txt:
7648         * gst/gstelement.c:
7649         * gst/gstutils.c: (gst_type_register_static_full):
7650         Beef up and include the docs for gst_type_register_static_full and
7651         gst_element_class_set_details_simple and add the API keyword
7652         in the ChangeLog.
7653
7654 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
7655
7656         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
7657         (update_time_level), (gst_single_queue_push_one),
7658         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
7659         (single_queue_overrun_cb), (single_queue_underrun_cb),
7660         (single_queue_check_full):
7661         Fix setting max-* properties after adding queues.
7662         Use IS_FILLED for checking visible items.
7663         Signal overrun if multiple queues overrun.
7664         Add extra debug output.
7665         Patch by: Wim Taymans <wim@fluendo.com>
7666
7667 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
7668
7669         * gst/gstelement.c: (gst_element_class_set_details_simple):
7670         * gst/gstelement.h:
7671         * gst/gstutils.c: (gst_type_register_static_full):
7672         * gst/gstutils.h:
7673         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
7674         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
7675         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
7676         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
7677         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
7678         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
7679         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
7680         * plugins/elements/gstidentity.c: (gst_identity_base_init):
7681         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
7682         * plugins/elements/gstqueue.c: (gst_queue_base_init),
7683         (apply_buffer), (gst_queue_chain):
7684         * plugins/elements/gsttee.c: (gst_tee_base_init):
7685         * plugins/elements/gsttypefindelement.c:
7686         (gst_type_find_element_base_init),
7687         (gst_type_find_element_class_init):
7688           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
7689           API: add gst_type_register_static_full
7690           API: add gst_element_class_set_details_simple
7691
7692 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7693
7694         * docs/pwg/advanced-types.xml:
7695           Fix typo in iana.org URI.
7696
7697 2007-06-19  Andy Wingo  <wingo@pobox.com>
7698
7699         * tests/check/pipelines/simple-launch-lines.c
7700         (test_state_change_returns): Enable pull-mode tests now that
7701         basesink has been fixed.
7702
7703         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
7704         Changed from gst_base_sink_is_prerolled, reversing the sense of
7705         the return value. Returns FALSE also if the sink is in pull mode,
7706         in which case it needs no preroll.
7707         (gst_base_sink_query, gst_base_sink_change_state): Update for
7708         needs_preroll change.
7709         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
7710         chaining up, in which we return SUCCESS directly if we activated
7711         in pull mode instead of ASYNC. Involves countering an async_start
7712         message sent before chaining up; not sure if this is correct, in
7713         an ideal world we only send async-start when activating in push
7714         mode.
7715
7716         * tests/check/pipelines/simple-launch-lines.c
7717         (test_state_change_returns): New test, partially disabled until
7718         basesink is fixed.
7719
7720 2007-06-19  Wim Taymans  <wim@fluendo.com>
7721
7722         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7723         (gst_multi_queue_sink_event):
7724         Fix event leak.
7725
7726 2007-06-19  Wim Taymans  <wim@fluendo.com>
7727
7728         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7729         (gst_bin_change_state_func), (bin_push_state_continue),
7730         (bin_handle_async_start), (bin_handle_async_done),
7731         (gst_bin_handle_message_func):
7732         Move the common code for posting state-change messages into
7733         one function.
7734         Broadcast the state signal after we posted the messages.
7735         Mark the bin as busy when it's doing a state-change.
7736         Make sure async-start/done messages don't interfere with the bin's
7737         state when it's busy.
7738         After the state change, let the bin check which elements completed the
7739         state change while it was busy so that it can update its state.
7740
7741 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
7742
7743         * docs/random/release:
7744         Add a note about updating the doap file to the release checklist
7745
7746 2007-06-18  Wim Taymans  <wim@fluendo.com>
7747
7748         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7749         (gst_single_queue_push_one), (gst_multi_queue_chain),
7750         (gst_multi_queue_sink_event):
7751         Make sure we don't reference the buffer/event after we have given away
7752         ownership in the queue.
7753
7754 2007-06-18  Wim Taymans  <wim@fluendo.com>
7755
7756         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7757         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
7758         Update queue state _after_ adding the item in the queue because else we
7759         could end up being full without the element added yet.
7760
7761 2007-06-18  Wim Taymans  <wim@fluendo.com>
7762
7763         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
7764         (gst_bin_remove_func), (gst_bin_get_state_func),
7765         (gst_bin_element_set_state), (gst_bin_continue_func),
7766         (bin_push_state_continue), (bin_handle_async_start),
7767         (bin_handle_async_done), (gst_bin_handle_message_func):
7768         * gst/gstbin.h:
7769         Immediatly commit the toplevel bin state when receiving an async-done
7770         message. This enables us to avoid spawning a thread to commit the state
7771         in some common cases and it also avoids some races.
7772         Avoid spawning a state thread when adding/removing async elements to a
7773         toplevel bin. Instead we immediatly update the bin state.
7774         Get rid of iterating all the children when getting the state in the bin
7775         because it is now always up-to-date.
7776         Fix bug where locked elements would always return _SUCCESS even it they
7777         returned NO_PREROLL before being locked.
7778         Fix the order of the state_change, async-start/done messages that was
7779         sometimes incorrect.
7780         Mark the state_dirty field as deprecated, we don't need it anymore as we
7781         are always up-to-date.
7782
7783         * gst/gstelement.c: (gst_element_get_state_func),
7784         (gst_element_continue_state):
7785         Small debug inprovements.
7786         Return the previous element state return when nothing is pending instead
7787         of blindly returning SUCCESS.
7788
7789         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
7790         (gst_sinks_suite):
7791         Add a whole bunch of new testcases.
7792
7793 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7794
7795         * po/uk.po:
7796         * po/vi.po:
7797           Update translations.
7798
7799 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
7800
7801         * gst/gstpad.c:
7802         Fix typo in the docs.
7803
7804 2007-06-15  Wim Taymans  <wim@fluendo.com>
7805
7806         * docs/libs/gstreamer-libs-sections.txt:
7807         Add docs for new methods.
7808
7809 2007-06-15  Wim Taymans  <wim@fluendo.com>
7810
7811         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
7812         (gst_multi_queue_item_new):
7813         Don't use GSlice because we don't depend on >= 2.10 yet.
7814
7815 2007-06-15  Wim Taymans  <wim@fluendo.com>
7816
7817         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7818         (update_time_level), (apply_segment), (apply_buffer),
7819         (gst_single_queue_push_one), (gst_multi_queue_item_new),
7820         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
7821         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
7822         (single_queue_underrun_cb), (single_queue_check_full):
7823         Remove debug printf.
7824
7825 2007-06-15  Wim Taymans  <wim@fluendo.com>
7826
7827         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
7828         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
7829         (gst_data_queue_set_flushing), (gst_data_queue_push),
7830         (gst_data_queue_pop), (gst_data_queue_drop_head),
7831         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
7832         * libs/gst/base/gstdataqueue.h:
7833         Various cleanups.
7834         Added methods to get the current levels and to inform the queue that the
7835         'full' limits changed.
7836
7837         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7838         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
7839         (gst_single_queue_flush), (update_time_level), (apply_segment),
7840         (apply_buffer), (gst_single_queue_push_one),
7841         (gst_multi_queue_item_steal_object),
7842         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
7843         (gst_multi_queue_loop), (gst_multi_queue_chain),
7844         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7845         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
7846         (gst_multi_queue_src_query), (single_queue_overrun_cb),
7847         (single_queue_underrun_cb), (single_queue_check_full),
7848         (gst_single_queue_new):
7849         Keep track of time in the queue by measuring the difference between
7850         running_time on input and output. This gives more accurate results and
7851         can compensate for segments correctly.
7852         Make a queue by default only 5 buffers deep. We will now increase the
7853         buffer size depending on the filledness of the other queues.
7854         Factor out commong flush code.
7855         Make sure we don't add additional refcounts to buffers when we can avoid
7856         it.
7857         Propagate GstFlowReturn differently.
7858         Use GSlice for intermediate GstMultiQueueItems.
7859         Keep track of EOS.
7860         Resize queues on over and underruns based on filled level of other
7861         queues.
7862         When checking if the queue is filled, prefer to measure in time if we
7863         can and fall back to bytes when no time is known.
7864
7865         * plugins/elements/gstqueue.c:
7866         Fix return value.
7867
7868 2007-06-15  Wim Taymans  <wim@fluendo.com>
7869
7870         * libs/gst/base/gstbasetransform.c:
7871         (gst_base_transform_sink_event):
7872         Work around the brokenness of the event vmethod in basetransform. Prefer
7873         to return TRUE when the subclass returned FALSE (meaning don't forward
7874         the event). 
7875
7876         * libs/gst/base/gstbasetransform.h:
7877         Clarify the docs.
7878
7879 2007-06-15  Wim Taymans  <wim@fluendo.com>
7880
7881         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
7882         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7883         (gst_base_src_default_query), (gst_base_src_get_range),
7884         (gst_base_src_start):
7885         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
7886         Improve debugging.
7887
7888 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
7889
7890         * docs/pwg/advanced-types.xml:
7891           Added more formats to caps table.
7892
7893 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
7894
7895         * tools/gst-launch.c: (main):
7896           Remove crufy code. GOption does not need this workaround.
7897
7898 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
7899
7900         * libs/gst/controller/gstcontroller.c:
7901         (gst_controlled_property_set_interpolation_mode):
7902           Fix wrong getter for enums in controller.
7903
7904 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
7905
7906         * libs/gst/check/gstcheck.c: (gst_check_init):
7907           Intercept criticals and warnings in the Gst-Phonon log domain, so
7908           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
7909           well.
7910         
7911 2007-06-14  Edward Hervey  <edward@fluendo.com>
7912
7913         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
7914         Since this file doesn't include "gst.h" it will not go through the
7915         macros that disable GST_LOG if debugging was disabled.
7916
7917 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
7918
7919         * libs/gst/check/Makefile.am:
7920         * libs/gst/check/gstcheck.h:
7921         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7922         * pkgconfig/gstreamer-check.pc.in:
7923           Ugly 'fix' for the controller unit test on the p5 bot: in
7924           fail_unless_equals_float() check whether the values are 'almost
7925           equal' by allowing a small absolute error, which should be good
7926           enough for our use cases (normal numbers and values close to 0).
7927           Proper fixage left to floating point arithmetic aficionados.
7928
7929 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
7930
7931         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
7932         (gst_base_sink_render_object), (gst_base_sink_get_position):
7933           Add two breaks thats where missing.
7934
7935 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
7936
7937         * docs/libs/gstreamer-libs-sections.txt:
7938         * libs/gst/check/gstcheck.h:
7939           API: add fail_unless_equals_float() and assert_equals_float().
7940           Add documentation for some of the macros.
7941
7942         * tests/check/libs/controller.c: (GST_START_TEST):
7943           Use newly-added asserts.
7944
7945 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
7946
7947         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
7948           Show the caps change in the log to help spotting the case of not
7949           exactly matching caps.
7950
7951 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
7952
7953         * docs/pwg/building-boiler.xml:
7954           Fix typos, spotted by Thijs Vermeir (#447190).
7955
7956 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
7957
7958         * docs/plugins/tmpl/.cvsignore:
7959         Ignore file to keep the buildbots happy
7960
7961 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
7962
7963         * docs/plugins/Makefile.am:
7964         * docs/plugins/gstreamer-plugins-docs.sgml:
7965         * docs/plugins/gstreamer-plugins-sections.txt:
7966         Pull fdsink into the docs too.
7967
7968 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
7969
7970         * libs/gst/controller/gstinterpolation.c:
7971         Actually use the new functions with min/max checks for the trigger and
7972         none interpolation modes for get() and get_value_array() instead of
7973         just the latter.
7974
7975 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
7976
7977         * libs/gst/controller/gstcontroller.c:
7978         (gst_controlled_property_free):
7979         Unset the minimum and maximum GValues when freeing the corresponding
7980         GstControllerProperty struct.
7981
7982 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
7983
7984         * libs/gst/controller/gstcontroller.c:
7985         (gst_controlled_property_new):
7986         * libs/gst/controller/gstcontrollerprivate.h:
7987         * libs/gst/controller/gstinterpolation.c:
7988         (gst_controlled_property_find_control_point_node),
7989         (interpolate_none_get), (interpolate_none_get_enum_value_array),
7990         (interpolate_none_get_string_value_array),
7991         (interpolate_trigger_get),
7992         (interpolate_trigger_get_enum_value_array),
7993         (interpolate_trigger_get_string_value_array):
7994         Protect against values larger or smaller than the minimum or maximum
7995         allowed value for the property when using values that can be compared.
7996
7997         Optimize trigger interpolator a bit by taking the last requested value
7998         into account instead of always looping through the complete list.
7999
8000         Fix coding style a bit, everywhere else we use "return foo" instead
8001         of "return (foo)".
8002         
8003         * tests/check/libs/controller.c: (GST_START_TEST),
8004         (gst_controller_suite):
8005         Add unit test for the protection against too large or too small
8006         values.
8007
8008 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
8009
8010         * docs/random/slomo/controller.txt:
8011         Add some thoughts about the future of the controller.
8012
8013 2007-06-08  Wim Taymans  <wim@fluendo.com>
8014
8015         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
8016         Don't overflow in retimestamping code.
8017
8018 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
8019
8020         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
8021         Use gst_util_guint64_to_gdouble for conversions.
8022         * win32/common/libgstreamer.def:
8023         Add new exported functions.
8024
8025 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
8026
8027         * gst/gstutils.c:
8028           Small docs addition.
8029
8030 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8031
8032         * README:
8033           Remove that test line again.
8034
8035 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8036
8037         * README:
8038           Test commit mail sending.
8039
8040 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8041
8042         * configure.ac:
8043           Fix typo and test commit mail sending.
8044
8045 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
8046
8047         * tests/examples/controller/audio-example.c:
8048           Improve comment and test commit mail sending.
8049
8050 2007-06-07  Wim Taymans  <wim@fluendo.com>
8051
8052         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
8053         (gst_bin_remove_func), (gst_bin_element_set_state),
8054         (bin_handle_async_start), (bin_handle_async_done),
8055         (gst_bin_handle_message_func):
8056         Add helper function to find messages.
8057         Generate the async-done messages together with the state change
8058         messages.
8059         Small cleanups in handling toplevel bins.
8060
8061 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8062
8063         * libs/gst/base/gstdataqueue.c:
8064         * libs/gst/base/gstdataqueue.h:
8065         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
8066         (gst_multi_queue_item_new), (gst_multi_queue_chain),
8067         (gst_multi_queue_sink_event):
8068         * tests/check/elements/multiqueue.c: (multiqueue_suite):
8069           Fix multiqueue leaking buffers and events when downstream or the
8070           queue are flushing. Make refcounting assumptions explicit and
8071           document them (shouldn't break existing code that uses it other than
8072           maybe leak miniobjects, but that already happens anyway). Add unit
8073           test for the most common flushing case. Fixes #423700.
8074           
8075 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8076
8077         * libs/gst/controller/gstcontroller.c:
8078         Clarify docs: The get_all, get_value_array(s) functions
8079         don't modify the GObject properties.
8080
8081 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8082
8083         * libs/gst/controller/gstcontroller.c:
8084         (gst_controlled_property_set_interpolation_mode),
8085         (gst_controlled_property_prepend_default),
8086         (gst_controlled_property_new), (gst_controller_set_unlocked),
8087         (gst_controller_set), (gst_controller_set_from_list),
8088         (gst_controller_unset), (gst_controller_unset_all):
8089         * libs/gst/controller/gstcontrollerprivate.h:
8090         * libs/gst/controller/gstinterpolation.c:
8091         Factor out the 'set' logic into gst_controller_set_unlocked for the
8092         gst_controller_set and gst_controller_set_from_list functions.
8093
8094         To make life of the interpolators easier always add a control point
8095         at timestamp zero with the default value.
8096
8097         In the linear interpolator make things more obvious by better variable
8098         naming (slope).
8099
8100         Implement cubic interpolation mode (by using a natural cubic spline)
8101         and map the quadratic interpolation mode to this too (as quadratic
8102         doesn't make much sense, see discussion on the list).
8103
8104         * tests/check/libs/controller.c: (GST_START_TEST),
8105         (gst_controller_suite):
8106         Add unit test for the cubic interpolation mode and check everywhere
8107         if the interpolation mode could be set as expected.
8108
8109 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8110
8111         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
8112           Don't use GLib-2.10 functions, we still depend on
8113           GLib-how-old-is-it-again-2.8.
8114
8115 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8116
8117         * docs/gst/gstreamer-sections.txt:
8118         * gst/Makefile.am:
8119         * gst/gst.c:
8120         * gst/gst.h:
8121         * gst/gstparamspecs.c: (_gst_param_fraction_init),
8122         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
8123         (_gst_param_fraction_values_cmp),
8124         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
8125         * gst/gstparamspecs.h:
8126         * gst/gstvalue.c:
8127         * tests/check/Makefile.am:
8128         * tests/check/gst/.cvsignore:
8129         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
8130         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
8131         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
8132         (GST_START_TEST), (gst_param_spec_suite):
8133           API: add GstParamSpecFraction, so elements can have fraction
8134           properties without lots of painful string parsing (#444648).
8135
8136 2007-06-05  Wim Taymans  <wim@fluendo.com>
8137
8138         * gst/gstobject.c: (gst_object_class_init):
8139         Fix signal signature.
8140
8141         * gst/gstsegment.c:
8142         Add small clarification in the api docs.
8143
8144         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
8145         States are protected with object lock.
8146
8147 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8148
8149         * AUTHORS:
8150         I should probably be listed as an author by now.
8151
8152         * docs/random/release:
8153         Update the release doc
8154
8155 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
8156
8157         * gst/gstvalue.c:
8158           Make docs for gst_value_compare() mention return enums that
8159           actually exist.
8160
8161 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8162
8163         * configure.ac:
8164           Back to CVS
8165
8166 === release 0.10.13 ===
8167
8168 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
8169
8170         * configure.ac:
8171           releasing 0.10.13, "With or without you"
8172
8173 2007-05-25  Wim Taymans  <wim@fluendo.com>
8174
8175         * gst/gstbin.c: (bin_handle_async_done):
8176         Make sure that the child bin stops after completing the async state
8177         change so that the parent can continue the state change to PLAYING.
8178         Fixes #441159.
8179
8180 2007-05-25  Wim Taymans  <wim@fluendo.com>
8181
8182         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8183         (unref_data), (gst_collect_pads_remove_pad),
8184         (gst_collect_pads_check_pads):
8185         Use additional refcounting to avoid crashes when dynamically adding and
8186         removing pads. Fixes #420206.
8187
8188 2007-05-24  Wim Taymans  <wim@fluendo.com>
8189
8190         * tools/gst-launch.c: (event_loop):
8191         When buffering goes from a two digit to a single digit number, make sure
8192         to remove the old second digit by writing a blank over it.
8193
8194 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8195
8196         * libs/gst/base/gstdataqueue.c:
8197           Eliminate tabs and trailing comma in enum list; fix some typos.
8198
8199 2007-05-24  Wim Taymans  <wim@fluendo.com>
8200
8201         * tests/check/gst/gstbin.c: (GST_START_TEST):
8202         Allow refcount of 3 and 4 because some state thread might still be busy
8203         with it.
8204
8205 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8206
8207         * plugins/elements/Makefile.am:
8208         * plugins/elements/gstmultiqueue.h:
8209         * plugins/elements/gstqueue.h:
8210           These are not installed headers, no need for padding.
8211
8212 2007-05-24  Wim Taymans  <wim@fluendo.com>
8213
8214         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8215         (gst_bin_continue_func):
8216         Enable latency for next release.
8217         Restore STATE_LOCK around recalc_state that was left out during the
8218         rewrite and could result in racy behaviour when _get_state and
8219         recalc_state are run concurrently. See #440463.
8220
8221 2007-05-23  Wim Taymans  <wim@fluendo.com>
8222
8223         * tests/check/gst/gstsystemclock.c: (store_callback),
8224         (GST_START_TEST):
8225         Improve test_async_order to also work when both timers are already
8226         expired when we get scheduled to check it.
8227
8228 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8229
8230         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
8231         (gst_bin_set_property), (gst_bin_get_property),
8232         (gst_bin_remove_func), (gst_bin_handle_message_func):
8233         * gst/gstbin.h:
8234           'private' is a c++ keyword, let's not use that in header files,
8235           otherwise c++ compilers will throw a tantrum.
8236
8237 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8238
8239         * plugins/elements/gstelements.c:
8240         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
8241         (gst_file_sink_get_current_offset):
8242         * plugins/indexers/gstindexers.c: (plugin_init):
8243           Use #ifdef for HAVE_XYZ for consistency.
8244
8245         * tests/check/Makefile.am:
8246         * tests/check/elements/.cvsignore:
8247         * tests/check/elements/filesink.c: (setup_filesink),
8248         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
8249           Add some unit tests for filesink.
8250
8251 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8252
8253         Patch by: Mark Nauwelaerts <manauw at skynet be>
8254
8255         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8256         (gst_file_sink_query), (gst_file_sink_do_seek),
8257         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8258         * plugins/elements/gstfilesink.h:
8259           Fix position reporting; rename data_written member to current_pos to
8260           reflect its real meaning (fixes #412648).
8261
8262 2007-05-22  Edward Hervey  <edward@fluendo.com>
8263
8264         * docs/gst/gstreamer-sections.txt:
8265         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8266         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
8267         (gst_bin_remove_func), (gst_bin_handle_message_func):
8268         * gst/gstbin.h:
8269         Add a property for bins that handle the state change of their childs.
8270         Fixes #435880
8271
8272 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
8273
8274         * libs/gst/controller/gstinterpolation.c:
8275         Use an array of the correct type when using _get_value_array with
8276         linear interpolation.
8277
8278 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
8279
8280         * gst/gstelement.c (gst_element_requires_clock,
8281           gst_element_provides_clock, gst_element_request_pad,
8282           gst_element_class_set_details, gst_element_class_set_details_simple,
8283           gst_element_default_send_event, gst_element_abort_state,
8284           gst_element_continue_state, gst_element_set_state,
8285           gst_element_set_state_func, iterator_activate_fold_with_resync):
8286         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
8287           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
8288           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
8289           gst_pad_get_range, gst_pad_pull_range):
8290         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
8291           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
8292           GstPadActivateModeFunction, GstPadChainFunction,
8293           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
8294           GstPadFixateCapsFunction, GstPadTemplate):
8295         * gst/gstpipeline.c (gst_pipeline_change_state,
8296           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
8297           gst_pipeline_set_clock, gst_pipeline_auto_clock,
8298           gst_pipeline_get_delay):
8299           Whitespace and docs fixes.
8300
8301 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8302
8303         * libs/gst/controller/gstinterpolation.c:
8304         (interpolate_trigger_get_enum_value_array),
8305         (interpolate_trigger_get_string_value_array):
8306         Add support for retrieving value arrays when using the trigger
8307         interpolation mode. 
8308
8309 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8310
8311         * libs/gst/controller/gstcontroller.c:
8312         (gst_controller_get_value_array):
8313         * libs/gst/controller/gstcontroller.h:
8314         Clarify the docs of gst_controller_get_value_array(): The array where
8315         the values should be written to must be allocated as there seems to be
8316         no way to get the size of a random GType. This doesn't change any
8317         behaviour. Also fix some typos all over the place and remove an unused,
8318         commented function that is not necessary as g_object_set() could be
8319         used instead.
8320         * tests/check/libs/controller.c: (GST_START_TEST),
8321         (gst_controller_suite):
8322         Add unit test for gst_controller_get_value_array().
8323
8324 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
8325
8326         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8327
8328         Disable part of the gst_buffer_try_new_and_alloc test, because
8329         it can happily succeed on 64-bit systems where there's more address
8330         space available.
8331
8332 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8333
8334         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8335         Add unit test for the improved caps checking from bug #421543.
8336
8337 2007-05-21  Wim Taymans  <wim@fluendo.com>
8338
8339         * docs/design/part-synchronisation.txt:
8340         Small addition.
8341
8342         * gst/gstbin.c: (gst_bin_query):
8343         * plugins/elements/gstqueue.c: (apply_segment):
8344         Improve debugging.
8345
8346         * gst/gstmessage.h:
8347         Improve docs.
8348
8349 2007-05-21  Wim Taymans  <wim@fluendo.com>
8350
8351         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8352         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
8353         (gst_pad_configure_src):
8354         Added simple version of improved caps checking. It was previously
8355         assumed that a setcaps function would check the validity of the caps but
8356         people prefer us to check caps against the template automatically. 
8357         Fixes #421543.
8358
8359 2007-05-21  Wim Taymans  <wim@fluendo.com>
8360
8361         * libs/gst/base/gstbasetransform.h:
8362         Fix macro for locking/unlocking the transform lock.
8363
8364 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
8365
8366         * docs/plugins/tmpl/.cvsignore:
8367           Ignore more.
8368
8369 2007-05-18  Edward Hervey  <edward@fluendo.com>
8370
8371         * plugins/elements/gstqueue.c: (gst_queue_loop):
8372         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
8373         for the subtle art of warning a potentially blocking thread that it
8374         should check the source pad return value, and relay the information
8375         upstream.
8376
8377 2007-05-18  Edward Hervey  <edward@fluendo.com>
8378
8379         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8380         Release the queue lock !
8381
8382 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8383
8384         * docs/libs/gstreamer-libs-sections.txt:
8385         Add the two new controller functions to the appropiate places.
8386
8387 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8388
8389         reviewed by: Stefan Kost <ensonic@users.sf.net>
8390
8391         * libs/gst/controller/gstcontroller.c:
8392         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
8393         (_gst_controller_get_property), (_gst_controller_set_property),
8394         (_gst_controller_init), (_gst_controller_class_init):
8395         * libs/gst/controller/gstcontroller.h:
8396         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
8397         (gst_object_get_control_rate), (gst_object_set_control_rate):
8398         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
8399         Add API that provides sync suggestion timestamps for elements that
8400         call gst_object_sync_values() from which those elements can subdivide
8401         their processing loop to get the best results for the controlled
8402         properties. For now it just suggests last_sync + control_rate as
8403         new timestamp but this will be improved in the future.
8404
8405         While doing that change the control-rate property to a GstClockTime
8406         from guint and change it's meaning from samples to nanoseconds as
8407         the GstController doesn't know anything about sampling rate. Strictly
8408         speaking this breaks ABI but as the control-rate property didn't do
8409         anything in the past and as such couldn't be used this should be no
8410         problem.        
8411
8412 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8413
8414         reviewed by: Stefan Kost <ensonic@users.sf.net>
8415
8416         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8417         (gst_controller_unset_all):
8418         * libs/gst/controller/gstcontrollerprivate.h:
8419         * libs/gst/controller/gstinterpolation.c:
8420         (gst_controlled_property_find_control_point_node):
8421         Save last synced value from the list to continue searching from there
8422         in future syncs. This speeds everything up a bit.
8423         
8424 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8425
8426         reviewed by: Stefan Kost <ensonic@users.sf.net>
8427
8428         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
8429         (gst_control_point_find), (gst_controlled_property_new),
8430         (gst_control_point_free), (gst_controlled_property_free),
8431         (gst_controller_set), (gst_controller_set_from_list),
8432         (gst_controller_unset), (gst_controller_unset_all),
8433         (gst_controller_sync_values):
8434         * libs/gst/controller/gstcontroller.h:
8435         * libs/gst/controller/gstcontrollerprivate.h:
8436         * libs/gst/controller/gstinterpolation.c:
8437         (gst_controlled_property_find_control_point_node),
8438         (interpolate_none_get), (interpolate_trigger_get):
8439         Add a new private GstControlPoint struct which "inherits" from
8440         GstTimedValue to allow different interpolators to store internal
8441         values next to each control point. From the outside everything is
8442         still a GstControlPoint so we don't loose binary compatibility.
8443         Also fixup all the GValue handling to not leak GValues or list nodes.
8444         * tests/check/libs/controller.c: (GST_START_TEST):
8445         Free the list nodes and GValues in the controller_misc test.
8446
8447 2007-05-17  Edward Hervey  <edward@fluendo.com>
8448
8449         * gst/gstsegment.c:
8450         Small doc fix.
8451
8452 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
8453
8454         * gst/gstplugin.c: (gst_plugin_load_file):
8455           If we fail to load a plugin because of unresolved symbols or missing
8456           libraries and spew a warning to stderr, we may just as well mention
8457           which plugin it was that failed to load.
8458
8459 2007-05-13  David Schleef  <ds@schleef.org>
8460
8461         * docs/Makefile.am: the gtk-doc makefile snippet correctly
8462           handles the case when ENABLE_GTK_DOC is false, and installs
8463           the prebuilt documentation.  So gtk-doc subdirs are 
8464           unconditionally enabled.  Fixes: #349099.
8465
8466 2007-05-13  David Schleef  <ds@schleef.org>
8467
8468         * gst/gstutils.h: Reword some documentation.
8469
8470 2007-05-12  David Schleef  <ds@schleef.org>
8471
8472         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
8473           do anything with the passed "module" parameter, so remove it.
8474           Allows removal of additional vestigal code.
8475
8476 2007-05-12  David Schleef  <ds@schleef.org>
8477
8478         * gst/gstplugin.c:
8479           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
8480           Switch to using g_stat() because it's more portable.
8481
8482 2007-05-12  David Schleef  <ds@schleef.org>
8483
8484         * gst/gst.c:
8485           Add GST_DISABLE_OPTION_PARSING, in order to disable option
8486           parsing for embedded systems.
8487         * gst/gstelementfactory.c:
8488           Allow gst_element_register() to be called with plugin==NULL.
8489           Did nobody notice that static elements were broken?
8490
8491 2007-05-12  Wim Taymans  <wim@fluendo.com>
8492
8493         * tools/gst-launch.c: (event_loop):
8494         Give more interesting info when buffering starts and stops.
8495         Fix case where buffering starts but we fail to update the buffering flag
8496         because the target state is not PLAYING.
8497
8498 2007-05-12  Wim Taymans  <wim@fluendo.com>
8499
8500         * plugins/elements/gstqueue.c: (gst_queue_init),
8501         (gst_queue_finalize), (update_time_level), (apply_segment),
8502         (apply_buffer), (gst_queue_locked_flush),
8503         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
8504         (gst_queue_handle_sink_event), (gst_queue_chain),
8505         (gst_queue_push_one), (gst_queue_loop):
8506         * plugins/elements/gstqueue.h:
8507         Refactor an cleanup queue a bit.
8508         Do better time level calculations that also work when the srcpad is not
8509         yet running.
8510         Remove some unneeded debug lines.
8511
8512         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
8513         Added testcase for time level measurement.
8514         Try to make some stuff more racefree.
8515
8516 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8517
8518         * gst/gsturi.c: (gst_element_make_from_uri):
8519           Don't leak plugin feature.
8520
8521         * tests/check/Makefile.am:
8522         * tests/check/gst/.cvsignore:
8523         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
8524           Add brain-dead unit test.
8525
8526 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8527
8528         Patch by: Jeroen Wouters <woutersj at gmail com>
8529
8530         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
8531           Treat protocol strings in a case-insensitive way (#437563).
8532
8533 2007-05-11  Michael Smith <msmith@fluendo.com>
8534
8535         * gst/gstplugin.c: (gst_plugin_load_file):
8536         * gst/gstregistry.c: (gst_registry_scan_path_level):
8537           Don't print a g_warning for any failure to load a shared object.
8538           Instead, push this down into gstplugin.c, and warn _only_ if we
8539           failed to open the module (i.e. failure to link).
8540           Avoids warnings on normal, working, non-plugin .so files.
8541
8542 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
8543
8544         * gst/gstplugin.c (gst_plugin_load_file):
8545         * gst/gstregistry.c (GST_CAT_DEFAULT,
8546           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
8547           Print a g_warning if there was an error when loading a plugins during
8548           registry scan. The shuld help beginners starting with gst-plugin
8549           template.
8550
8551 2007-05-10  Wim Taymans  <wim@fluendo.com>
8552
8553         * plugins/elements/gstqueue.c: (gst_queue_class_init),
8554         (update_time_level), (gst_queue_locked_flush),
8555         (gst_queue_handle_sink_event), (gst_queue_chain),
8556         (gst_queue_push_one), (gst_queue_loop):
8557         * plugins/elements/gstqueue.h:
8558         Be smarter when calculating the current amount of data in the queue by
8559         measuring the difference between start and end timestamps (in running
8560         time) inside the queue. Fixes #432876.
8561         API: GstQueue::pushing to notify elements that we are pushing data again
8562         since the running signal is rather broken for this purpose.
8563
8564 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
8565
8566         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
8567           gst_queue_base_init, gst_queue_init):
8568           use GST_BOILERPLATE
8569
8570 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
8571
8572         * win32/common/libgstreamer.def:
8573         Add new exported functions.
8574         * win32/vs6/grammar.dsp:
8575         Use grammar pre-generated files.
8576
8577 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8578
8579         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
8580
8581         * gst/Makefile.am:
8582         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
8583         * gst/gstparse.h:
8584         * gst/gstutils.c: (gst_parse_bin_from_description):
8585         * gst/gstutils.h:
8586           Maintain API and ABI when --disable-parse is used. Now that
8587           we have an appropriate error code, we can just return NULL and the
8588           appropriate error when gst_parse_launch() is used despite it having
8589           been disabled (#342564).
8590
8591         * tests/check/Makefile.am:
8592         * tests/check/pipelines/.cvsignore:
8593         * tests/check/pipelines/parse-disabled.c:
8594           Make sure these functions exist and return NULL plus a GError when
8595           --disable-parse is used.
8596
8597 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8598
8599         * tests/benchmarks/complexity.c: (main):
8600         * tests/benchmarks/mass-elements.c: (main):
8601           Set a good example and don't leak messages.
8602
8603 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
8604
8605         * docs/gst/Makefile.am:
8606         * docs/libs/Makefile.am:
8607           Correct fixxrefs options.
8608
8609         * docs/plugins/Makefile.am:
8610         * docs/plugins/gstreamer-plugins-docs.sgml:
8611         * docs/plugins/gstreamer-plugins-sections.txt:
8612         * plugins/elements/Makefile.am:
8613         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
8614         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
8615           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
8616           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
8617           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
8618           _GstCapsFilterClass, trans_class):
8619         * plugins/elements/gstelements.c (name, rank, type, _elements):
8620         * plugins/elements/gstidentity.c
8621           (gst_identity_check_imperfect_timestamp,
8622           gst_identity_check_imperfect_offset):
8623           Document capsfilter and add doc-blurb to identity.
8624
8625 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
8626
8627         * libs/gst/controller/gstcontroller.c:
8628         (gst_controlled_property_set_interpolation_mode):
8629         * libs/gst/controller/gstinterpolation.c:
8630           Don't crash if someone tries to set an interpolation mode that
8631           is invalid or that isn't supported yet. Fixes #422295.
8632
8633         * tests/check/libs/controller.c: (GST_START_TEST),
8634         (gst_controller_suite):
8635           Add a test case for the above.
8636
8637 2007-05-03  Edward Hervey  <edward@fluendo.com>
8638
8639         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8640         Properly set the last_stop position on GstSegment. This will only happen
8641         if there is a buffer to push out.
8642
8643 2007-05-03  Wim Taymans  <wim@fluendo.com>
8644
8645         * libs/gst/base/gstbasetransform.c:
8646         (gst_base_transform_buffer_alloc):
8647         always_in_place does not mean that the sink and source caps are the
8648         same! Make sure we don't blindly proxy the buffer_alloc in this case.
8649
8650 2007-05-03  Wim Taymans  <wim@fluendo.com>
8651
8652         * docs/libs/gstreamer-libs-sections.txt:
8653         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8654         (gst_base_src_default_query), (gst_base_src_get_range):
8655         * libs/gst/base/gstbasesrc.h:
8656         API: gst_base_src_query_latency(). Added method so that subclasses can
8657         easily get the latency values of the base source class.
8658
8659 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
8660
8661         * tools/gst-inspect.c (print_implementation_info):
8662         Remove 0.8 cruft.
8663
8664 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
8665
8666         * tools/Makefile.am:
8667         * tools/gst-launch.1.in:
8668           Don't create a customised man page based on the host architecture,
8669           describe the default registry path generically. That way the man
8670           page is the same for all architectures and packagers have one
8671           multilib issue less to deal with. Fixes #434926.
8672
8673 2007-05-02  Wim Taymans  <wim@fluendo.com>
8674
8675         * gst/gstpad.c:
8676         Fix documentation as spotted by rg on IRC. 
8677
8678 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
8679
8680         * gst/gstutils.c:
8681           Improve docs for gst_element_{link,unlink}.
8682
8683 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
8684
8685         * docs/design/part-events.txt:
8686         * docs/design/part-overview.txt:
8687         * gst/gstevent.c:
8688         * gst/gsturi.c:
8689         * gst/gsturi.h:
8690         * libs/gst/base/gstbasesink.c:
8691           Typo fixes; minor docs addition.
8692
8693 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8694
8695         * docs/gst/gstreamer-sections.txt:
8696         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
8697         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
8698         * gst/gsturi.h:
8699         API: Add gst_uri_protocol_is_supported(), which checks if a sink
8700         or src that supports a given URI protocol exists.
8701
8702 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8703
8704         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8705         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8706         Set the location to NULL if "file://" is set as URI. Otherwise
8707         some random previous URI would still be set if "file://" is
8708         set on an already used filesink/filesrc.
8709
8710 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8711
8712         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8713         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8714         Special case the "file://" URI as as this is used by some
8715         applications to test with gst_element_make_from_uri if there's
8716         an element that supports the URI protocol.
8717         Also move the g_path_is_absolute() check for the location part
8718         of the URI to also check this for "file://localhost/bla" URIs.
8719
8720 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
8721
8722         * docs/gst/gstreamer-sections.txt:
8723         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
8724         * gst/gstbuffer.h:
8725         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
8726         (gst_buffer_suite):
8727           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
8728
8729 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
8730
8731         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
8732         (gst_registry_binary_load_pad_template),
8733         (gst_registry_binary_load_plugin),
8734         (gst_registry_binary_read_cache):
8735         * gst/gstregistrybinary.h:
8736           Implement no-mmap alternative for registry reading. Do code cleanups.
8737           Add more comments about avoiding strdups for all text data. Comments
8738           welcome.
8739
8740 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
8741
8742         * gst/gstregistrybinary.h (GstBinaryPluginElement,
8743           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
8744           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
8745           Comment structs and reformat to fix the build (that stuff should go
8746           into a priv. header).
8747
8748 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
8749
8750         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
8751         (gst_registry_binary_load_feature):
8752         * gst/gstregistrybinary.h:
8753           Refactor so that we can implement multiple features. Add support for
8754           TypeFindFactory features.
8755
8756 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
8757
8758         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
8759
8760         * configure.ac:
8761           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
8762
8763 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
8764
8765         * gst/gstbin.c: (gst_bin_element_set_state),
8766         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
8767         (bin_handle_async_done), (gst_bin_handle_message_func):
8768           Fix build with --gst-disable-gst-debug
8769
8770 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
8771
8772         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
8773           Make sure streaming has finished before calling the ::stop() vfunc,
8774           since that vfunc might clear state which is being used in the
8775           streaming thread. This fixes a race that caused crashes in
8776           audioresample when shutting down a pipeline (#420106).
8777
8778 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
8779
8780         * docs/gst/gstreamer-sections.txt:
8781           That was one byte missing.
8782
8783 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
8784
8785         * configure.ac:
8786         * docs/gst/gstreamer-sections.txt:
8787         * gst/Makefile.am:
8788         * gst/gstconfig.h.in:
8789         * gst/gstobject.c: (gst_object_class_init),
8790         (gst_signal_object_class_init):
8791         * gst/gstobject.h:
8792           2nd attempt to have a xml-less build as a joined effort of #413123
8793           and #421480.
8794
8795 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
8796
8797         * docs/design/draft-tagreading.txt:
8798           Added open issues/thoughts to draft.
8799
8800 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
8801
8802         * gst/parse/grammar.tab.pre.c:
8803         * gst/parse/grammar.tab.pre.h:
8804         * gst/parse/lex._gst_parse_yy.pre.c:
8805         Update the prebuild parser sources.
8806
8807 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
8808
8809         * gst/parse/Makefile.am:
8810         And now fix the building of the flex sources. Now everything should
8811         work as expected.
8812
8813 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
8814
8815         * gst/parse/Makefile.am:
8816         Now hopefully fix the build failures by setting proper rule
8817         dependencies and moving instead of copying.
8818
8819 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
8820
8821         * tests/benchmarks/complexity.gnuplot:
8822         * tests/benchmarks/complexity.scm:
8823         * tests/benchmarks/mass-elements.gnuplot:
8824         * tests/benchmarks/mass-elements.scm:
8825           Total licensification.
8826
8827 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
8828
8829         * gst/parse/Makefile.am:
8830           Fix the build by correcting the rule that gave wrong files to flex.
8831
8832 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
8833
8834         * tests/benchmarks/complexity.c:
8835         * tests/benchmarks/mass-elements.c:
8836           Change licence to LGPL as granted by Benjamin and Andy.
8837
8838 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
8839
8840         * gst/parse/Makefile.am:
8841         Add correct grammar.tab.h dependency if compiling without new enough
8842         flex. Fixes #431150.
8843
8844 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
8845
8846         * gst/parse/Makefile.am:
8847         Fix typo and use outdated sources if the flex/bison sources are newer
8848         than the pregenerated ones but flex is too old. Print a warning in
8849         that case. This should fix the build on the build bot.
8850
8851 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
8852
8853         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
8854         * gst/parse/Makefile.am:
8855         * gst/parse/grammar.y:
8856         * gst/parse/parse.l:
8857         Make the parser reentrant and recursively callable. This requires flex
8858         >= 2.5.31, for older versions pregenerated sources are used as we
8859         can't bump the build dependency. Finally fixes #349180.
8860
8861         * gst/gstparse.c: (gst_parse_launch):
8862         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
8863         now anyway.
8864
8865         * docs/gst/Makefile.am:
8866         * docs/gst/Makefile.am:
8867         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
8868         (__gst_parse_strfree), (__gst_parse_link_new),
8869         (__gst_parse_link_free), (__gst_parse_chain_new),
8870         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
8871         (gst_parse_element_set), (gst_parse_free_link),
8872         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
8873         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
8874         (_gst_parse_launch):
8875         * gst/parse/grammar.tab.pre.h:
8876         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
8877         (yy_get_previous_state), (yy_try_NUL_trans), (input),
8878         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
8879         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
8880         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
8881         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
8882         (_gst_parse_yypop_buffer_state),
8883         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
8884         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
8885         (yy_fatal_error), (_gst_parse_yyget_extra),
8886         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
8887         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
8888         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
8889         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
8890         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
8891         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
8892         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
8893         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
8894         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
8895         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
8896         (_gst_parse_yyfree):
8897         If the installed flex version is too old use pre-generated parser
8898         sources. These pre-generated parser sources are always updated when
8899         the actual flex/bison sources change but require everybody who wants
8900         to change something in the parser to have flex >= 2.5.31 installed.
8901
8902 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
8903
8904         * common/m4/gst-gettext.m4:
8905         * gst/gst-i18n-lib.h:
8906           Make --disable-nls to work
8907
8908 2007-04-17  Wim Taymans  <wim@fluendo.com>
8909
8910         * gst/gstconfig.h.in:
8911         Revert previous change that broke the build.
8912
8913 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
8914
8915         * configure.ac:
8916         * gst/Makefile.am:
8917         * gst/gstconfig.h.in:
8918           Drop libxml2 dependency when building with 
8919           --enable-binary-registry --disable-loadsave
8920
8921 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
8922
8923         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
8924         (gst_registry_binary_read_cache):
8925         * gst/gstregistrybinary.h:
8926           Remove unnecessary <sys/mman.h> include which broke the win32 build
8927           with MingW; move includes from header file to .c file, even if the
8928           header file isn't installed; use g_strerror() where UTF-8 strings
8929           are expected, such as in GST_DEBUG messages.
8930
8931 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
8932
8933         * docs/libs/gstreamer-libs-sections.txt:
8934         Remove bogus addition for API I didn't end up keeping.
8935
8936         * libs/gst/base/gstbasesrc.h:
8937         Mention Since: 0.10.13 in the documentation.
8938
8939         Add the API keyword to the previous ChangeLog entry.
8940
8941 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
8942
8943         * docs/libs/gstreamer-libs-sections.txt:
8944         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8945         (gst_base_src_default_prepare_seek_segment),
8946         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
8947         * libs/gst/base/gstbasesrc.h:
8948         Allow basesrc derived classes to execute seeks in other formats
8949         by providing a prepare_seek_segment vmethod. Sub-classes can choose
8950         to prepare the GstSegment in any format that their perform_seek method
8951         will be able to understand. The default implementation provides the
8952         old behaviour of attempting to convert the seek offsets to the 
8953         configured native format.
8954
8955         API: basesrc::prepare_seek_segment vmethod.
8956
8957 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
8958
8959         * gst/gstelement.c: (gst_element_get_state_func):
8960         Don't output the same debug statement twice.
8961
8962         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
8963         (gst_adapter_peek), (gst_adapter_take_buffer):
8964         Optimise the case where we have buffers at the head of the queue that
8965         can be joined quickly (because they're contiguous sub-buffers) by
8966         merging them together rather than copying data out into new memory.
8967
8968         * gst/parse/grammar.y:
8969         * tests/check/pipelines/parse-launch.c:
8970         Fix a leak in an error path for parse_launch, and add a check 
8971         for it to the testsuite.
8972
8973 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
8974
8975         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
8976           Don't deadlock when releasing a pad - gst_pad_set_active may try
8977           and take the multiqueue lock too.
8978
8979 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
8980
8981         * gst/gsterror.c: (_gst_core_errors_init):
8982         * gst/gsterror.h:
8983           API: add GST_CORE_ERROR_DISABLED (#392804).
8984
8985 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8986
8987         * docs/faq/gst-uninstalled:
8988           don't get empty paths on the PATH variables
8989         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
8990           Don't format for the uncommon terminal width of 84 characters.
8991
8992 2007-04-06  Wim Taymans  <wim@fluendo.com>
8993
8994         * gst/gstpipeline.c: (reset_stream_time),
8995         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
8996         Only try to select a different pipeline clock when we went back to
8997         PAUSED and not when we merely got flushed.
8998
8999 2007-04-05  Michael Smith  <msmith@fluendo.com>
9000
9001         * tools/gst-launch.1.in:
9002           fractions are better supported in gstreamer than ractions, so
9003           suggest using those.
9004
9005 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9006
9007         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
9008
9009         * po/LINGUAS:
9010         * po/da.po:
9011           Added Danish translation.
9012
9013 2007-04-05  Wim Taymans  <wim@fluendo.com>
9014
9015         * libs/gst/base/gstbasesink.c:
9016         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
9017         Fix leak caused when refusing newsegment after EOS.
9018
9019         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
9020         (gst_fake_sink_init), (gst_fake_sink_set_property),
9021         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
9022         (gst_fake_sink_render), (gst_fake_sink_change_state):
9023         * plugins/elements/gstfakesink.h:
9024         Add num-buffers property to make the element generate EOS after a
9025         configurable amount of buffers.
9026         API: fakesink::num-buffers property.
9027
9028         * tests/check/elements/fakesink.c: (GST_START_TEST),
9029         (fakesink_suite):
9030         Fix GstBus leak in test.
9031         Test for fakesink num-buffers.
9032
9033 2007-04-05  Wim Taymans  <wim@fluendo.com>
9034
9035         * libs/gst/base/gstbasesink.c:
9036         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
9037         (gst_base_sink_change_state):
9038         Don't accept anything after an EOS, return UNEXPECTED instead.
9039
9040         * tests/check/elements/fakesink.c: (GST_START_TEST),
9041         (fakesink_suite):
9042         Unit test for new EOS behaviour.
9043
9044 2007-04-05  Wim Taymans  <wim@fluendo.com>
9045
9046         * gst/gstelement.c: (gst_element_get_request_pad):
9047         Make padtemplates also work when they don't contain %s or %d.
9048
9049 2007-04-05  Wim Taymans  <wim@fluendo.com>
9050
9051         * docs/gst/gstreamer-sections.txt:
9052         * gst/gstclock.c: (gst_clock_adjust_unlocked),
9053         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
9054         * gst/gstclock.h:
9055         Improve _adjust_unlocked() so that it overflows less.
9056         Add gst_clock_unadjust_unlocked to convert from external time to
9057         internal time based on calibration.
9058         Add some more debug.
9059         API: GstClock::gst_clock_unadjust_unlocked()
9060
9061 2007-04-03  Wim Taymans  <wim@fluendo.com>
9062
9063         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
9064
9065         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
9066         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
9067         when releasing sink pad. Fixes #425400.
9068
9069 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
9070
9071         * docs/random/ensonic/dynlink.txt:
9072           More work on proposal for new core api.
9073
9074         * docs/libs/gstreamer-libs-sections.txt:
9075         * libs/gst/base/gstbasetransform.h:
9076           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
9077           
9078         * libs/gst/controller/gstcontroller.c:
9079         (on_object_controlled_property_changed),
9080         (gst_controller_sync_values),
9081         (gst_controller_set_interpolation_mode):
9082         * libs/gst/controller/gstcontroller.h:
9083           Less verbose logging add docs for unimplemented parts and correctly
9084           return when using unavailable parts.
9085
9086 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9087
9088         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
9089         Move all the debug to the CLOCK category, and associate it with
9090         the clock object.
9091
9092 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9093
9094         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
9095         Make take_buffer a bit quicker by removing redundant checks
9096         caused by calling gst_adapter_take.
9097
9098 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9099
9100         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
9101           Don't leak GCond.
9102
9103         * tests/check/Makefile.am:
9104         * tests/check/elements/.cvsignore:
9105         * tests/check/elements/multiqueue.c: (setup_multiqueue),
9106         (GST_START_TEST), (multiqueue_suite):
9107           Add some dead simple unit tests for the 'multiqueue' element
9108           (some bits don't work yet and are disabled for now).
9109
9110 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9111
9112         * gst/gstelement.c: (gst_element_get_request_pad),
9113         (gst_element_class_get_request_pad_template):
9114           Make gst_element_get_request_pad() create request pads only for
9115           request pad templates and not for, say, sometimes pad templates.
9116
9117 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
9118
9119         * docs/design/draft-klass.txt:
9120           Add example that needs more thinking.
9121         
9122         * docs/design/draft-missing-plugins.txt:
9123           More thoughts about wrapper plugins.
9124         
9125         * docs/random/ensonic/embedded.txt:
9126         * docs/random/ensonic/profiling.txt:
9127           More design work.
9128
9129 2007-03-25  Wim Taymans  <wim@fluendo.com>
9130
9131         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
9132         (gst_base_src_loop):
9133         Only push the segment events in the PLAYING state for live sources.
9134
9135 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
9136
9137         * gst/gstpipeline.c: (gst_pipeline_change_state):
9138         Modify the clock distribution path in PAUSED->PLAYING so that we 
9139         never attempt to choose a new clock unless we're actually leaving
9140         the PAUSED state for the first time. This prevents choosing a
9141         different clock when the state_change gets called for a 2nd time due
9142         to some element doing an async state change.
9143
9144 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9145
9146         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
9147         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
9148         (gst_pad_chain_unchecked), (gst_pad_push):
9149         Revert last commit. This needs some more thoughts.
9150
9151 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9152
9153         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
9154         (gst_pad_chain_unchecked), (gst_pad_push):
9155         Check in set_caps if the caps are compatible with the pad and remove
9156         two functions that are redundant now. Fixes #421543.
9157
9158 2007-03-22  Wim Taymans  <wim@fluendo.com>
9159
9160         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9161         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
9162         Unref some more to make valgrind happy.
9163
9164 2007-03-22  Wim Taymans  <wim@fluendo.com>
9165
9166         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
9167         (gst_system_clock_id_wait_jitter),
9168         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9169         Fix anoying regression that survived a few releases. When adding an
9170         async entry while blocking on a sync entry, the sync entry will unblock
9171         but still be busy, so it should continue to wait instead of returning
9172         _BUSY to the app.
9173         Add some comments here and there.
9174
9175         * tests/check/gst/gstsystemclock.c: (mixed_thread),
9176         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
9177         Add testcase for this.
9178
9179 2007-03-22  Wim Taymans  <wim@fluendo.com>
9180
9181         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9182         Handle errors from the clock sync better, only UNSCHEDULED indicates a
9183         WRONG_STATE and can silently pause the task. All other cases should
9184         error out.
9185
9186 2007-03-22  Wim Taymans  <wim@fluendo.com>
9187
9188         Patch by: Ville Syrjala <syrjala at sci dot fi>
9189
9190         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
9191         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
9192         Improve debugging.
9193
9194 2007-03-21  Michael Smith  <msmith@fluendo.com>
9195
9196         * docs/pwg/advanced-types.xml:
9197           Fix some errors in the typefinding docs pointed out on irc.
9198
9199 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
9200
9201         * libs/gst/base/gstbasesrc.c:
9202         Clarify FIXME comment in the face of having added unlock_stop()
9203
9204 2007-03-21  Wim Taymans  <wim@fluendo.com>
9205
9206         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
9207         Prepare for release where we warn against possible app breakage in the
9208         case of live pipelines along with an env var to enable/disable live
9209         preroll mode (GST_COMPAT=[no-]live-preroll).
9210
9211 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9212
9213         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
9214         So we should use correct constants for checking for None offset.
9215
9216 2007-03-20  Wim Taymans  <wim@fluendo.com>
9217
9218         * docs/design/part-block.txt:
9219         Mention the fact that the newly switched element should be set to at
9220         least PAUSED.
9221
9222 2007-03-20  Wim Taymans  <wim@fluendo.com>
9223
9224         * gst/gst.c:
9225         Fix compilation with registry disabled as spotted by Saur.
9226
9227 2007-03-20  Wim Taymans  <wim@fluendo.com>
9228
9229         Patch by: Olivier Crete <tester at tester dot ca>
9230
9231         * gst/gstelement.c: (gst_element_sync_state_with_parent):
9232         Look at the pending state too when syncing the element state to the
9233         parent. Fixes #420133.
9234
9235 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
9236
9237         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9238         (gst_base_sink_change_state):
9239         * libs/gst/base/gstbasesink.h:
9240         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9241         (gst_base_src_default_event), (gst_base_src_unlock_stop),
9242         (gst_base_src_deactivate):
9243         * libs/gst/base/gstbasesrc.h:
9244         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
9245         for sub-classes to correctly clear any state they set trying to
9246         unlock, such as clearing out unlock commands from a command fd.
9247         API: basesrc::unlock_stop
9248         API: basesink::unlock_stop
9249
9250         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
9251         (gst_fd_sink_render), (gst_fd_sink_unlock),
9252         (gst_fd_sink_unlock_stop):
9253         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
9254         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
9255         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
9256
9257         Implement unlock_stop in fdsrc and fdsink.
9258         Implement seeking in fdsrc when a seekable fd is passed, as in
9259         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
9260
9261 2007-03-19  Wim Taymans  <wim@fluendo.com>
9262
9263         Patch by: Evan Nemerson <evan at coeus dash group dot com>
9264
9265         * gst/gstelement.c: (gst_element_class_init):
9266         Fix pad-added and pad-removed signal signatures so that the pad type is
9267         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
9268
9269 2007-03-19  Wim Taymans  <wim@fluendo.com>
9270
9271         * docs/gst/gstreamer-sections.txt:
9272         Add new element field and method.
9273
9274         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9275         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
9276         (gst_bin_recalc_state), (gst_bin_get_state_func),
9277         (gst_bin_element_set_state), (gst_bin_change_state_func),
9278         (gst_bin_continue_func), (bin_bus_handler),
9279         (bin_push_state_continue), (bin_handle_async_start),
9280         (bin_handle_async_done), (gst_bin_handle_message_func):
9281         Make async state changes a bit smarter by using new ASYNC_START and
9282         ASYNC_DONE messages. This reduces the number of times we run the state
9283         recalculation thread.
9284         Don't change state of element with a pending ASYNC_START message.
9285         Deprecate STATE_DIRTY messages.
9286         
9287         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
9288         (gst_element_get_state_func), (gst_element_continue_state),
9289         (gst_element_lost_state), (gst_element_set_state_func),
9290         (gst_element_change_state):
9291         * gst/gstelement.h:
9292         Keep the state that was last set by the app in a new element field.
9293         Don't allow state changes when handling an element event.
9294         Post ASYNC_START and ASYNC_DONE messages.
9295         Change lost_state so that we go to PAUSED and wait for the parent to set
9296         us to PLAYING again (so latency calculation can be performed)
9297         Export gst_element_change_state() method so that subclasses can use it.
9298         API: gst_element_change_state()
9299         API: GST_STATE_TARGET
9300
9301         * gst/gstpipeline.c: (gst_pipeline_class_init),
9302         (reset_stream_time), (gst_pipeline_change_state),
9303         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
9304         Using the new ASYNC_START message we can reset the base_time when
9305         needed. This can then be used to implement base_time redistribution in
9306         flushing seeks so that we can remove the explicit seek handling.
9307         Perform latency query and configuration when going to PLAYING.
9308
9309         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9310         (gst_base_sink_query), (gst_base_sink_change_state):
9311         Post new ASYNC_START/ASYNC_DONE messages.
9312
9313         * tests/check/generic/sinks.c: (GST_START_TEST):
9314         Fix test because the bin will not set the async element to PLAYING right
9315         away.
9316
9317         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
9318         Make the message check a little stronger.
9319         Handle ASYNC messages.
9320
9321         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
9322         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
9323         Expect ASYNC_DONE messages.
9324
9325 2007-03-19  Wim Taymans  <wim@fluendo.com>
9326
9327         * docs/gst/gstreamer-sections.txt:
9328         * gst/gstmessage.c: (gst_message_new_async_start),
9329         (gst_message_new_async_done), (gst_message_parse_info),
9330         (gst_message_parse_async_start):
9331         * gst/gstmessage.h:
9332         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
9333         support.
9334
9335 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
9336
9337         * tools/gst-inspect.c:
9338         (print_plugin_automatic_install_info_codecs):
9339           Now that we don't check for the 'Codec' keyword any longer in the
9340           klass, we shouldn't spew a warning if the klass isn't a decoder or
9341           encoder (since it might be a Source/Network, for example).
9342
9343 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
9344
9345         * tools/gst-inspect.c:
9346         (print_plugin_automatic_install_info_codecs):
9347           Don't require decoder/demuxer/depayloader elements or
9348           encoder/muxer/paylader elements to have 'Codec' as part of their
9349           factory class string when introspecting a plugin's capabilities.
9350           draft-klass.txt mentions that it might be removed in future, and
9351           flump3dec doesn't have it as part of its class string, so chances
9352           are others might also not have it.
9353
9354 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9355
9356         * po/af.po:
9357         * po/az.po:
9358         * po/bg.po:
9359         * po/ca.po:
9360         * po/cs.po:
9361         * po/de.po:
9362         * po/en_GB.po:
9363         * po/fr.po:
9364         * po/it.po:
9365         * po/nb.po:
9366         * po/nl.po:
9367         * po/ru.po:
9368         * po/sq.po:
9369         * po/sr.po:
9370         * po/sv.po:
9371         * po/tr.po:
9372         * po/uk.po:
9373         * po/vi.po:
9374         * po/zh_CN.po:
9375         * po/zh_TW.po:
9376           Update translations from translation project
9377
9378 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
9379
9380         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
9381         (gst_child_proxy_set_property):
9382           Invert precondition check to be alike the ones in the mimiced gobject
9383           api.
9384
9385 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
9386
9387         * docs/design/draft-tagreading.txt:
9388         * docs/random/ensonic/audiobaseclasses.txt:
9389           Do some Architect work.
9390
9391         * gst/gstobject.c: (gst_object_set_name):
9392           Add a WARNING.
9393
9394         * gst/gstpad.c:
9395           Add docs that point from gst_pad_get_range to gst_pad_pull_range
9396
9397 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
9398
9399         * gst/gstsystemclock.c: (gst_system_clock_init),
9400         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
9401         Defer starting the async system clock thread until the first async
9402         wait is scheduled. Fixes #414986.
9403
9404 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
9405
9406         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
9407         (gst_single_queue_free):
9408           Fix small leak (free GstSingleQueue structure too, not only contents).
9409
9410 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
9411
9412         * gst/gstbin.c:(gst_bin_add):
9413         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
9414         * win32/common/libgstbase.def:
9415         * win32/common/libgstreamer.def:
9416         Add new exported functions.
9417
9418 2007-03-09  Wim Taymans  <wim@fluendo.com>
9419
9420         * docs/plugins/gstreamer-plugins-sections.txt:
9421         Fix GstTee docs.
9422
9423 2007-03-09  Wim Taymans  <wim@fluendo.com>
9424
9425         * docs/gst/gstreamer-sections.txt:
9426         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
9427         * gst/gstbuffer.h:
9428         Add metadata copy functions. Fixes #393099.
9429         API: gst_buffer_copy_metadata()
9430
9431         * gst/gstutils.c: (gst_buffer_stamp):
9432         * libs/gst/base/gstbasetransform.c:
9433         (gst_base_transform_prepare_output_buffer):
9434         Use new metadata copy functions.
9435
9436 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9437
9438         * plugins/elements/gstidentity.c: (gst_identity_class_init),
9439         (gst_identity_init), (gst_identity_check_perfect),
9440         (gst_identity_check_imperfect_timestamp),
9441         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9442         (gst_identity_set_property), (gst_identity_get_property):
9443         * plugins/elements/gstidentity.h:
9444         Separate out check-imperfect-timestamp and check-imperfect-offset.
9445         Put back check-perfect as it was to keep compatibility.
9446
9447 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
9448
9449         * gst/gstelement.c: (gst_element_dispose):
9450         There's no need to warn if VOID_PENDING is not NONE here, as
9451         long as the state is NULL it's ok, and that's checked immediately
9452         above.
9453
9454 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9455
9456         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9457         Fix check for perfect stream to ignore buffers with -1 
9458         offsets/offset ends when checking data contiguity.
9459
9460 2007-03-08  Wim Taymans  <wim@fluendo.com>
9461
9462         * tools/gst-launch.c: (event_loop):
9463         Print INFO messages.
9464
9465 2007-03-08  Wim Taymans  <wim@fluendo.com>
9466
9467         * libs/gst/base/gstbasetransform.c:
9468         (gst_base_transform_sink_eventfunc),
9469         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9470         (gst_base_transform_activate):
9471         * libs/gst/base/gstbasetransform.h:
9472         Add support for dropping buffers with custom GstFlowReturn.
9473         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
9474         buffers or dropped buffers.
9475
9476         * docs/libs/gstreamer-libs-sections.txt:
9477         docs for new custom return code.
9478
9479         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9480         Use drop support in base class to implement drop-probability.
9481
9482 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
9483
9484         * gst/gst.c: (load_plugin_func):
9485         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
9486         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9487         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9488           Remove newlines at end of debug log strings.
9489
9490 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9491
9492         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9493         Only post bus message at max, once per buffer received.
9494
9495 2007-03-07  Wim Taymans  <wim@fluendo.com>
9496
9497         * docs/design/Makefile.am:
9498         * docs/design/part-synchronisation.txt:
9499         Add doc about synchronisation
9500
9501         * docs/design/draft-latency.txt:
9502         * docs/design/part-TODO.txt:
9503         * docs/design/part-clocks.txt:
9504         * docs/design/part-events.txt:
9505         * docs/design/part-gstbus.txt:
9506         * docs/design/part-gstpipeline.txt:
9507         * docs/design/part-live-source.txt:
9508         * docs/design/part-messages.txt:
9509         * docs/design/part-overview.txt:
9510         * docs/design/part-streams.txt:
9511         * docs/design/part-trickmodes.txt:
9512         Documentation updates.
9513
9514 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9515
9516         * gstreamer.doap:
9517         Update the doap file.
9518
9519 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9520
9521         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9522         Rename non-perfect to imperfect for Mike and for the sanctity of the
9523         language.
9524         Also make sure bus message gets emitted for data-incontiguities.
9525
9526 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9527
9528         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
9529         (gst_identity_start):
9530         * plugins/elements/gstidentity.h:
9531         Emit bus message if check-perfect is true and we encounter a
9532         non-perfect stream between 2 consecutive buffers.
9533         Fixes #415394.
9534
9535 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9536
9537         * configure.ac:
9538         Back to CVS
9539
9540 === release 0.10.12 ===
9541
9542 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
9543
9544         * configure.ac:
9545           releasing 0.10.12, "Inevitable Demise"
9546
9547 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
9548
9549         * configure.ac:
9550          Version 0.10.11.2 (0.10.12 pre-release)
9551          Bump libtool versioning.
9552
9553 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
9554
9555         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9556           Log flow-names and not numbers.
9557
9558 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9559
9560         * configure.ac:
9561           Convert to new AG_GST style.
9562
9563 2007-02-28  Wim Taymans  <wim@fluendo.com>
9564
9565         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
9566         Don't unref query twice.
9567
9568 2007-02-28  Wim Taymans  <wim@fluendo.com>
9569
9570         * gst/gstvalue.c: (gst_value_transform_object_string),
9571         (_gst_value_initialize):
9572         Implement GstObject -> string transform so we print object names
9573         when serializing GValues containing GstObjects.
9574
9575 2007-02-28  Wim Taymans  <wim@fluendo.com>
9576
9577         * docs/gst/gstreamer-sections.txt:
9578         Add new stuff to docs.
9579
9580 2007-02-28  Wim Taymans  <wim@fluendo.com>
9581
9582         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
9583         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
9584         (gst_base_sink_change_state):
9585         Improve latency query code.
9586         Don't leak latency events.
9587
9588         * tests/check/gst/gstbin.c: (GST_START_TEST):
9589         Improve debugging.
9590
9591 2007-02-28  Wim Taymans  <wim@fluendo.com>
9592
9593         * gst/gstelement.c: (gst_element_message_full),
9594         (gst_element_get_state_func):
9595         * gst/gstelement.h:
9596         Improve docs a little. Added Since: for new macro.
9597
9598         * gst/gstobject.c: (gst_object_sink):
9599         * gst/gstpipeline.c: (gst_pipeline_change_state),
9600         (gst_pipeline_set_new_stream_time):
9601         * gst/gstpipeline.h:
9602         Improve debugging and docs.
9603
9604         * gst/gstutils.c: (gst_element_state_change_return_get_name):
9605         Improve debugging.
9606
9607 2007-02-28  Wim Taymans  <wim@fluendo.com>
9608
9609         * gst/gstelement.c: (gst_element_message_full),
9610         (gst_element_set_locked_state), (gst_element_get_state_func),
9611         (gst_element_change_state):
9612         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
9613         Documentation updates.
9614         Small code cleanups.
9615
9616         * gst/gstmessage.c: (gst_message_new_info),
9617         (gst_message_parse_info):
9618         * gst/gstmessage.h:
9619         API: gst_message_new_info()
9620         API: gst_message_parse_info()
9621         Add INFO message create and parse code.
9622
9623 2007-02-28  Wim Taymans  <wim@fluendo.com>
9624
9625         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
9626         (bin_query_latency_done):
9627         Also report the live parameter of a latency query.
9628
9629 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9630
9631         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
9632           Copy the current generic/states example from -base and adapt so
9633           we can use the exact same code everywhere.
9634           Check a STATES_IGNORE_ELEMENTS env var which can be used
9635           to ignore certain element factories for this test, which is
9636           what is being done in -base
9637         * tests/check/Makefile.am:
9638           Mention this environment variable.
9639
9640 2007-02-27  Wim Taymans  <wim@fluendo.com>
9641
9642         * docs/gst/gstreamer-sections.txt:
9643         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9644         (gst_bus_timed_pop), (gst_bus_pop):
9645         * gst/gstbus.h:
9646         API: gst_bus_timed_pop()
9647         Implement gst_bus_timed_pop() to do a blocking timed wait for a
9648         message to arrive on the bus.
9649
9650         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
9651         (gst_bus_suite):
9652         Two unit tests for new _timed_pop() function.
9653
9654 2007-02-23  Wim Taymans  <wim@fluendo.com>
9655
9656         * gst/gstpipeline.c: (gst_pipeline_change_state),
9657         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
9658         Don't ref a NULL clock in _provide_clock_func().
9659         Don't allow an INVALID delay.
9660         Don't try to calculate base_time with an invalid start_time.
9661         Also distribute and notify a NULL clock when it was selected.
9662
9663         * tools/gst-launch.c: (event_loop):
9664         Don't crash when a NULL clock was selected in the pipeline.
9665
9666 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
9667
9668         * docs/design/Makefile.am:
9669         * docs/design/draft-missing-plugins.txt:
9670         * docs/random/draft-missing-plugins.txt:
9671           Some small updates: update plugin system identifier prefix
9672           ('gstreamer.net' to 'gstreamer'), mention our new install
9673           API in libgstbaseutils rather than libgimme-codec, add
9674           reference to the online docs.
9675
9676 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9677
9678         * win32/common/config.h:
9679           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
9680           use moap cl ci to only check in what is mentioned in the ChangeLog.
9681
9682 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9683
9684         * docs/gst/gstreamer-sections.txt:
9685         * gst/gstelement.h:
9686           Fix up documentation to link to the correct GstGError section.
9687           Add GST_ELEMENT_INFO macro since someone else added a Info message.
9688
9689 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9690
9691         * tools/gst-launch.c: (event_loop):
9692           Make sure that we actually show the important message part of a
9693           warning message.
9694           No need to check if the gerror is not NULL to free; first of all
9695           g_free accepts NULL; and second the default error handler would
9696           segfault if gerror was NULL.
9697
9698 2007-02-21  Wim Taymans  <wim@fluendo.com>
9699
9700         * docs/gst/gstreamer-sections.txt:
9701         Removed docs as well.
9702
9703 2007-02-21  Wim Taymans  <wim@fluendo.com>
9704
9705         * gst/gstmessage.c: (gst_message_parse_duration):
9706         * gst/gstmessage.h:
9707         Remove new messages for release.
9708
9709 2007-02-20  Wim Taymans  <wim@fluendo.com>
9710
9711         * docs/design/part-gstghostpad.txt:
9712         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
9713         (gst_ghost_pad_new_full):
9714         Make the ghostpad a parent of the internal pad again for better backward
9715         compatibility. Don't write code that relies on this however.
9716
9717         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
9718         (gst_pad_link_check_hierarchy):
9719         Require that parents should be GstElements in the hierarchy check.
9720
9721 2007-02-20  Wim Taymans  <wim@fluendo.com>
9722
9723         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
9724         (gst_bin_change_state_func), (bin_query_min_max_init),
9725         (bin_query_latency_fold), (bin_query_latency_done),
9726         (gst_bin_query):
9727         Improve debug info.
9728         Implement latency query.
9729
9730 2007-02-20  Wim Taymans  <wim@fluendo.com>
9731
9732         * docs/design/part-gstghostpad.txt:
9733         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
9734         (gst_ghost_pad_internal_do_activate_push),
9735         (gst_ghost_pad_internal_do_activate_pull),
9736         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9737         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
9738         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
9739         Do not set the internal pad as a parent anymore so we can avoid
9740         hierarchy linking errors when the ghostpad has no parent yet. This also
9741         fixes failed activation because of unlinked internal pads, which in
9742         turn fixes the impossible case where you have to activate a pad before
9743         you can add it to a running element.
9744         Also fix the docs.
9745
9746         * gst/gstpad.c: (pre_activate), (post_activate),
9747         (gst_pad_set_active), (gst_pad_activate_pull),
9748         (gst_pad_activate_push), (gst_pad_check_pull_range):
9749         Add some more debug info.
9750         Mark activation mode in pre_activate so that we don't try to activate in
9751         endless loops. Fixes #385084.
9752
9753 2007-02-19  Wim Taymans  <wim@fluendo.com>
9754
9755         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
9756         (gst_base_transform_check_get_range):
9757         Implement a checkgetrange function instead of relying on the default
9758         core behaviour that assumes we can operate in pull mode if we have a
9759         getrange function. First step at fixing #385084.
9760
9761 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
9762
9763         * gst/gstchildproxy.h:
9764         * libs/gst/base/gstbasesink.h:
9765         * libs/gst/base/gstbasesrc.h:
9766         * libs/gst/base/gstbasetransform.h:
9767         More docs coverage and some ChangeLog surgery (add missing names)
9768
9769 2007-02-15  Wim Taymans  <wim@fluendo.com>
9770
9771         * docs/design/part-TODO.txt:
9772         * docs/design/part-activation.txt:
9773         * docs/design/part-block.txt:
9774         * docs/design/part-buffering.txt:
9775         * docs/design/part-clocks.txt:
9776         * docs/design/part-element-source.txt:
9777         * docs/design/part-events.txt:
9778         * docs/design/part-gstbin.txt:
9779         * docs/design/part-gstbus.txt:
9780         * docs/design/part-gstpipeline.txt:
9781         * docs/design/part-live-source.txt:
9782         * docs/design/part-messages.txt:
9783         * docs/design/part-overview.txt:
9784         * docs/design/part-qos.txt:
9785         * docs/design/part-query.txt:
9786         * docs/design/part-states.txt:
9787         * docs/design/part-trickmodes.txt:
9788         Some doc updates. Start renaming from stream_time to running_time where
9789         it was used wrongly.
9790
9791 2007-02-15  Wim Taymans  <wim@fluendo.com>
9792
9793         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
9794         Answer LATENCY query.
9795
9796 2007-02-15  Wim Taymans  <wim@fluendo.com>
9797
9798         * tests/check/gst/gstevent.c: (event_probe), (test_event),
9799         (GST_START_TEST):
9800         Improve debugging.
9801
9802 2007-02-15  Wim Taymans  <wim@fluendo.com>
9803
9804         * gst/gstpad.c: (gst_pad_get_internal_links_default),
9805         (gst_pad_dispatcher):
9806         Improve debugging of default pad dispatcher and query functions.
9807
9808 2007-02-15  Wim Taymans  <wim@fluendo.com>
9809
9810         * docs/gst/gstreamer-sections.txt:
9811         Remove old unused method.
9812
9813 2007-02-13  Wim Taymans  <wim@fluendo.com>
9814
9815         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9816         Fix check
9817
9818 2007-02-13  Wim Taymans  <wim@fluendo.com>
9819
9820         * docs/design/part-seeking.txt:
9821         Some small update.
9822
9823         * gst/gstsegment.c: (gst_segment_set_seek):
9824         Revert old bogus change that should make seeking work again.
9825
9826 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
9827
9828         * docs/random/ensonic/dynlink.txt:
9829         * docs/random/ensonic/interfaces.txt:
9830         * docs/random/ensonic/receipies.txt:
9831           Possible dynamic reconnection api, plus some type fixes the other two
9832           docs.
9833
9834 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
9835
9836         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9837         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9838         Also check for an absolute path following file:// in the filesrc
9839         element. Remove redundant check and call g_path_is_absolute() on the
9840         unescaped location.
9841
9842 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
9843
9844         * docs/design/draft-klass.txt:
9845           Add existing category analysis.
9846           
9847         * gst/gstcaps.c:
9848           Fix doc example, framerate is a fraction.
9849
9850 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
9851
9852         * configure.ac:
9853         * docs/gst/Makefile.am:
9854         * docs/gst/gstreamer-sections.txt:
9855         * docs/libs/Makefile.am:
9856           Erm, forgot a bunch of --extra-dir.
9857
9858 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
9859
9860         * configure.ac:
9861         * docs/gst/Makefile.am:
9862         * docs/libs/Makefile.am:
9863         * docs/plugins/Makefile.am:
9864           Add crossreferences to glib/gobject docs.
9865
9866 2007-02-12  Wim Taymans  <wim@fluendo.com>
9867
9868         * docs/design/draft-latency.txt:
9869         Small update.
9870
9871         * docs/libs/gstreamer-libs-sections.txt:
9872         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
9873         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
9874         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
9875         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
9876         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
9877         (gst_base_sink_get_position), (gst_base_sink_query),
9878         (gst_base_sink_change_state):
9879         * libs/gst/base/gstbasesink.h:
9880         API: gst_base_sink_query_latency() to let subclasses query the upstream
9881         latency.
9882         API: gst_base_sink_get_latency() to let subclasses query the configured
9883         latency in the sink.
9884         Implement query and set latency.
9885         Update some docs.
9886         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
9887         don't continue preroll when we are flushing. Fixes #405284.
9888
9889         * tests/check/pipelines/stress.c: (change_state_timeout),
9890         (quit_timeout), (GST_START_TEST), (stress_suite):
9891         Test for #405284.
9892
9893 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
9894
9895         Patch by: René Stadler <mail at renestadler de>
9896
9897         * docs/gst/gstreamer-sections.txt:
9898         * gst/gsttaglist.c: (_gst_tag_initialize):
9899         * gst/gsttaglist.h:
9900           API: add GST_TAG_REFERENCE_LEVEL (#403597).
9901
9902 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
9903
9904         * docs/libs/Makefile.am:
9905           Fix path to core docs.
9906
9907         * gst/gstbin.c: (gst_bin_get_by_interface),
9908         (gst_bin_iterate_all_by_interface):
9909           Refix docs by also renaming 'interface' to 'iface' in implementation.
9910
9911         * docs/gst/gstreamer-sections.txt:
9912         * gst/gstcaps.c:
9913         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
9914         * gst/gstchildproxy.h:
9915         * gst/gstelementfactory.c:
9916         * gst/gstpadtemplate.h:
9917         * libs/gst/controller/gstcontroller.c:
9918         (gst_controlled_property_new):
9919           Document more.
9920
9921 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
9922
9923         * gst/gstbin.h:(gst_bin_get_by_interface),
9924         (gst_bin_iterate_all_by_interface):
9925         Replace interface parameter name by iface as interface is 
9926         a reserved keyword in Visual Studio for C++ projects so it removes
9927         a build error for application developpers using VS.
9928         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
9929         Fix a bug on Windows in uri format check. Now the prefix checked
9930         is file:// and next we check if the path after file:// is absolute.
9931         * win32/common/libgstbase.def:
9932         * win32/common/libgstdataprotocol.def:
9933         * win32/common/libgstgstreamer.def:
9934         Add new exported functions.
9935
9936 2007-02-09  Andy Wingo  <wingo@pobox.com>
9937
9938         * tests/check/pipelines/simple-launch-lines.c
9939         (simple_launch_lines_suite, test_tee): Disable tee test until I
9940         have time to fix it :-(
9941
9942         * tests/check/Makefile.am (noinst_HEADERS): 
9943         * tests/check/libs/libsabi.c: 
9944         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
9945         * tests/check/gst/gstabi.c: 
9946         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
9947
9948         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
9949         tests for push and pull tee behavior.
9950
9951         * plugins/elements/gsttee.h: 
9952         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
9953         mark as deprecated as well as unimplemented. It was a crack idea.
9954         Add support for tee operating in pull mode, off by default.
9955
9956         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
9957         normal-case logs down to LOG, raise errors to WARNING.
9958         (gst_registry_xml_read_cache): Don't log before calling a function
9959         that logs.
9960
9961         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
9962         exit (registry finalize).
9963         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
9964         DEBUG log when we emit signals that people don't even have the
9965         chance to connect to.
9966         (gst_registry_scan_path_level): Less logging in the normal case.
9967
9968 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
9969
9970         Patch by: Michal Benes <michal dot benes at itonis dot tv>
9971
9972         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
9973         Correctly generate EOS for non-seekable files. We don't have a total
9974         length for them and would get an unexpected end of file if we only
9975         special-cased for regular files. (Fixes: #404569)
9976
9977 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
9978
9979         * tests/check/elements/filesrc.c: (GST_START_TEST),
9980         (filesrc_suite):
9981         Add unit test for the GstURIHandler interface in filesrc. This also
9982         tests the newly added file://localhost/foo/bar support.
9983
9984 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
9985
9986         * gst/gstelementfactory.h:
9987           The klass string is not a hierarchy. Add reference to the design doc
9988           for more information and common types.
9989
9990 2007-02-02  Wim Taymans  <wim@fluendo.com>
9991
9992         * gst/gstquery.c: (gst_query_new_latency):
9993         Remove old structure field.
9994
9995 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
9996
9997         * tools/gst-launch.1.in:
9998           Give example for network streaming (#351998)
9999
10000 2007-02-02  Wim Taymans  <wim@fluendo.com>
10001
10002         * docs/gst/gstreamer-sections.txt:
10003         Add docs for new methods.
10004
10005         * gst/gstevent.c: (gst_event_new_latency),
10006         (gst_event_parse_latency):
10007         * gst/gstevent.h:
10008         Add new LATENCY event to configure latency in a pipeline.
10009         API: gst_event_new_latency
10010         API: gst_event_parse_latency
10011
10012         * gst/gstmessage.c: (gst_message_new_buffering),
10013         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
10014         (gst_message_new_latency), (gst_message_parse_buffering),
10015         (gst_message_parse_lost_preroll):
10016         * gst/gstmessage.h:
10017         Added messages used in draft-latency.
10018         API: gst_message_new_lost_preroll
10019         API: gst_message_parse_lost_preroll
10020         API: gst_message_new_prerolled
10021         API: gst_message_new_latency
10022
10023         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
10024         (gst_query_parse_latency):
10025         * gst/gstquery.h:
10026         Implemented new latency query as in design doc.
10027         API: gst_query_new_latency
10028         API: gst_query_set_latency
10029         API: gst_query_parse_latency
10030
10031 2007-02-02  Wim Taymans  <wim@fluendo.com>
10032
10033         * docs/design/draft-latency.txt:
10034         Slight redesign to allow for dynamic latency adjustments.
10035
10036         * docs/design/part-negotiation.txt:
10037         Fix some typos.
10038
10039 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
10040
10041         reviewed by: Wim Taymans <wim@fluendo.com>
10042
10043         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
10044         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
10045         Allow file://localhost/foo/bar URLs and correctly fail for every other
10046         hostname that one sets. This was gnomevfssrc is linked for those if
10047         installed as it can handle it (#403172)
10048
10049 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10050
10051         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
10052
10053         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10054         (unref_data), (gst_collect_pads_add_pad_full):
10055         * libs/gst/base/gstcollectpads.h:
10056         Don't put the previously added destroy notify in the GstCollectData
10057         struct as all it's padding is already used and we don't want to break
10058         ABI. Instead put in the pad's GObject data for now. This should be
10059         cleaned up for 0.11 (#402393).
10060
10061 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
10062
10063         reviewed by: Wim Taymans <wim@fluendo.com>
10064
10065         * docs/libs/gstreamer-libs-sections.txt:
10066         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
10067         (unref_data), (gst_collect_pads_add_pad),
10068         (gst_collect_pads_add_pad_full):
10069         * libs/gst/base/gstcollectpads.h:
10070         API: Add function to specify a destroy notification for custom
10071         GstCollectData when adding new pads in GstCollectPads (#402393).
10072
10073 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
10074
10075         * po/sv.po:
10076           Update Swedish translation (#378255).
10077
10078 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10079
10080         * docs/design/draft-klass.txt:
10081           Fix the previous change, this is a list of categories and not a hierarchy.
10082
10083 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10084
10085         * docs/design/draft-klass.txt:
10086           Add info about how to get a list of used classes.
10087
10088 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
10089
10090         * plugins/elements/gsttypefindelement.c:
10091         (gst_type_find_element_chain_do_typefinding),
10092         (gst_type_find_element_change_state):
10093           Don't leak found caps in chain function (no idea why that never
10094           showed up as a leak anywhere).
10095
10096 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
10097
10098         * gst/gstplugin.h:
10099           Fix and expand GstPluginDesc API docs.
10100
10101 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10102
10103         * gst/gstcaps.c:
10104         * gst/gstelementfactory.c:
10105         * gst/gstpadtemplate.h:
10106           api doc fixes
10107
10108         * libs/gst/controller/gstcontroller.c:
10109         (gst_controlled_property_new):
10110         * tests/examples/controller/audio-example.c:
10111           comment fixes
10112
10113 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10114
10115         * configure.ac:
10116           comment about refining the xml deps
10117
10118         * docs/manuals.mak:
10119           comments about moving away from jade for docs
10120         
10121         * gst/gst.c:
10122           recommit the ifdefs to use the binary registry
10123         
10124         * gst/gstbin.c: (gst_bin_change_state_func):
10125           this break is obsolete
10126
10127         * gst/gstelementfactory.h:
10128           better GST_ELEMENT_DETAILS docs, add comment about translation
10129
10130         * gst/gstinfo.h:
10131           remove eol slash
10132
10133         * gst/gstobject.c: (gst_signal_object_get_type):
10134           add G_UNLIKELY as usual
10135
10136         * gst/gstpad.c: (gst_pad_event_default):
10137           add fall trhu comment
10138
10139         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10140         (gst_registry_binary_initialize_magic),
10141         (gst_registry_binary_save_string),
10142         (gst_registry_binary_save_pad_template),
10143         (gst_registry_binary_save_feature),
10144         (gst_registry_binary_save_plugin),
10145         (gst_registry_binary_write_cache),
10146         (gst_registry_binary_check_magic),
10147         (gst_registry_binary_load_pad_template),
10148         (gst_registry_binary_load_feature),
10149         (gst_registry_binary_load_plugin),
10150         (gst_registry_binary_read_cache):
10151           comment typo and formatting
10152
10153         * gst/gstutils.c: (gst_element_state_get_name),
10154         (gst_element_state_change_return_get_name):
10155           remove obsolete breaks
10156
10157         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10158           add FIXME 0.11 and remove cpp comment
10159
10160 2007-01-29  Edward Hervey  <edward@fluendo.com>
10161
10162         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10163         Fix print statement in an even more portable way.
10164
10165 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
10166
10167         * docs/gst/gstreamer-sections.txt:
10168         * gst/gstutils.h:
10169           API: add GST_ROUND_DOWN_* macros (#401781).
10170
10171 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
10172
10173         * docs/gst/gstreamer.types.in:
10174         * gst/gstregistry.c: (gst_registry_class_init):
10175           Document registry signals and make gtk-doc pick them up (#401381).
10176
10177 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10178
10179         * docs/pwg/building-testapp.xml:
10180           Add some audioconverts and audioresample to the pipeline, and some
10181           more comments and error handling.
10182
10183 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10184
10185         * docs/manual/manual.xml:
10186         * docs/pwg/pwg.xml:
10187           Fix typo (#400987).
10188
10189 2007-01-26  Wim Taymans  <wim@fluendo.com>
10190
10191         * gst/gstcaps.c: (gst_static_caps_get):
10192         Init caps flags too.
10193
10194 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
10195
10196         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
10197
10198         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10199         If not using mmap'ed files try to seek to the end instead of the
10200         start to determine whether we can seek at all. This fixes the case
10201         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
10202         seeks for everything afterwards fail. Fixes #400656
10203
10204 2007-01-25  Wim Taymans  <wim@fluendo.com>
10205
10206         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
10207         Add some refcount debugging.
10208         Make gst_static_caps_get threadsafe, which is needed when autoplugging
10209         in multiple streaming threads.
10210
10211 2007-01-25  Wim Taymans  <wim@fluendo.com>
10212
10213         Patch by: David Schleef <ds at schleef dot org>
10214
10215         * docs/libs/gstreamer-libs-sections.txt:
10216         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
10217         * libs/gst/base/gstadapter.h:
10218         API: gst_adapter_copy() that can reduce the amount of memcpy when
10219         getting data from the adapter. Fixes #388201.
10220
10221 2007-01-25  Edward Hervey  <edward@fluendo.com>
10222
10223         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10224         In print statements, "%x" is for guint. Fixes build on macosx.
10225
10226 2007-01-24  Edward Hervey  <edward@fluendo.com>
10227
10228         * plugins/elements/gstmultiqueue.c:
10229         (gst_multi_queue_loop):
10230         Small fix.
10231         (single_queue_overrun_cb), (single_queue_underrun_cb),
10232         (single_queue_check_full), (gst_single_queue_new):
10233         Implement single queue growth system.
10234         This uses the extra-size properties, and will grow single queues by
10235         that much if one goes full whereas there are others empty. This is
10236         called extra-mode in the code.
10237         When a single queue's levels go back below the initial max-size
10238         limits, it is no longer in extra-mode. This is to ensure we don't
10239         consume too much memory.
10240         Fixes #399875
10241
10242 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
10243
10244         * gst/gst.c: (gst_init_get_option_group):
10245           Make warning about late g_thread_init() calls a bit more explicit,
10246           so that it's more obvious to application developers what they need
10247           to do if a user files a bug against their application.
10248
10249 2007-01-22  Edward Hervey  <edward@fluendo.com>
10250
10251         * plugins/elements/gstmultiqueue.c:
10252         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
10253         Remove previous hack of unsetting the flushing flag for the source pad
10254         instead of activating it. Instead, fix the source pad activate function
10255         so that it no longer depends on having a parent set or not.
10256
10257 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
10258
10259         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
10260
10261         * docs/manual/basics-bus.xml:
10262           Fix example code, gst_element_unref() doesn't exist any longer.
10263
10264 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
10265
10266         Patch by: Mark Nauwelaerts <manauw at skynet be>
10267
10268         * gst/gstpad.c:
10269           Fix two docs typoes (#399094).
10270
10271 2007-01-19  Edward Hervey  <edward@fluendo.com>
10272
10273         * docs/faq/gst-uninstalled:
10274         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
10275         depending on libgstbaseutils can work in uninstalled environment.
10276
10277 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
10278
10279         * gst/gsttaglist.h:
10280         * gst/gsttagsetter.c:
10281         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
10282         statement for new tag.
10283
10284 2007-01-17  Edward Hervey  <edward@fluendo.com>
10285
10286         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
10287         When dynamically creating single queues, activate sinkpad before adding
10288         it.
10289         We should be doing the same thing for the source pad, but we can't
10290         since it would call a method which needs the parent to be set in order
10291         to work propertly. Instead of activating the source pad, we just unset
10292         the flushing flag, which is the minimal requirement for adding a pad
10293         to an element in a state greater than READY.
10294
10295 2007-01-17  Edward Hervey  <edward@fluendo.com>
10296
10297         * docs/faq/gst-uninstalled:
10298         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
10299         Mac OS X.
10300
10301 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
10302
10303         * tests/check/gst/gstabi.c:
10304         * tests/check/gst/struct_hppa.h:
10305         * tests/check/libs/libsabi.c:
10306         * tests/check/libs/struct_hppa.h:
10307           Add ABI structs for HPPA (see #393796).
10308
10309 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
10310
10311         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10312           Actually write ABI structs to the file specified in the GST_ABI
10313           environment variable, as the message we print claims we would.
10314
10315 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10316
10317         * tests/check/gst/gsttask.c:
10318           Fix header comment.
10319
10320 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10321
10322         * gst/gsttaglist.c: (_gst_tag_initialize):
10323           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
10324           previous two entries.
10325
10326 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10327
10328         * docs/gst/gstreamer-sections.txt:
10329         * gst/gsttaglist.c: (_gst_tag_initialize):
10330         * gst/gsttaglist.h:
10331           Add tag support for beat-per-minute.
10332
10333 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10334
10335         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10336         (gst_registry_binary_initialize_magic),
10337         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
10338         (gst_registry_binary_save_pad_template),
10339         (gst_registry_binary_save_feature),
10340         (gst_registry_binary_save_plugin),
10341         (gst_registry_binary_write_cache),
10342         (gst_registry_binary_check_magic),
10343         (gst_registry_binary_load_pad_template),
10344         (gst_registry_binary_load_feature),
10345         (gst_registry_binary_load_plugin),
10346         (gst_registry_binary_read_cache):
10347         * gst/gstregistrybinary.h:
10348           Use glib types, cleanup comments, impement interfaces and uri-types.
10349
10350 2007-01-13  Andy Wingo  <wingo@pobox.com>
10351
10352         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
10353         getrange() to return buffers with other caps, while we fix
10354         demuxers and typefind, or otherwise change part-negotiation.txt.
10355
10356 2007-01-12  Andy Wingo  <wingo@pobox.com>
10357
10358         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
10359         Factor start/stop into this private function instead of partially
10360         in activate functions and partially in the change_state function.
10361         Fixes setup before the element has changed from READY->PAUSED, as
10362         is the case in pull-mode pipelines.
10363         (gst_base_transform_sink_activate_push)
10364         (gst_base_transform_src_activate_pull): Refactor to use
10365         gst_base_transform_activate().
10366         (gst_base_transform_change_state): Removed, not needed any more.
10367
10368         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10369         Truncate before fixating.
10370         
10371         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10372         Don't set_caps() if the result of fixating is ANY, as it's not
10373         supported, and not necessary in the case of a link with no
10374         template caps on either side. Fixes tests/check/libs/basesrc in
10375         some pull-mode tests.
10376
10377         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
10378         (gst_base_transform_init, gst_base_transform_sink_activate_push)
10379         (gst_base_transform_src_activate_pull): 
10380         Track the activation mode.
10381         (gst_base_transform_setcaps): In pull mode, when activating the
10382         src pad, after activating the sink pad, activate the sink pad's
10383         peer, as discussed in part-negotiation.txt.
10384
10385         * libs/gst/base/gstbasesrc.h: 
10386         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
10387         vmethod, as in basesink.
10388
10389         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
10390
10391         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
10392         mode, first proxy the setcaps to the peer pad.
10393         (gst_base_sink_pad_fixate): Add a fixate function that calls the
10394         new fixate vmethod.
10395         (gst_base_sink_default_activate_pull): Rename from
10396         gst_base_sink_activate_pull.
10397         (gst_base_sink_negotiate_pull): New function, performs negotiation
10398         in pull mode before calling ::activate_pull().
10399         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
10400         vmethod instead of the default implementation. I have no idea how
10401         this worked before. Negotiate before calling activate_pull.
10402
10403         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
10404         sink pads in pull mode. In addition to being correct, fixes
10405         filesrc ! decodebin ! identity ! fakesink.
10406         (gst_pad_get_range, gst_pad_pull_range): Don't call
10407         gst_pad_set_caps() if the caps changes; instead error out with
10408         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
10409
10410 2007-01-12  Andy Wingo  <wingo@pobox.com>
10411
10412         * docs/design/part-negotiation.txt: Update with more policy.
10413
10414 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10415
10416         * libs/gst/check/gstbufferstraw.h:
10417         * libs/gst/check/gstcheck.h:
10418           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
10419           belongs.
10420
10421 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10422
10423         * tests/check/Makefile.am:
10424         * tests/check/gst/.cvsignore:
10425         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
10426         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
10427         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
10428         (GST_START_TEST), (gst_tag_setter_suite):
10429           Add minimal unit test for beforementioned GstTagSetter bug.
10430
10431 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10432
10433         Patch by: René Stadler <mail at renestadler dot de>
10434
10435         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10436           gst_tag_list_merge() returns a new list, so it's not the best idea
10437           to ingore its return value. Effectively meant that tags could only
10438           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10439           Also add function guard to require a non-NULL taglist as input (has
10440           always been so due to gst_tag_list_copy(), just making it explicit).
10441
10442 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10443
10444         * docs/random/draft-missing-plugins.txt:
10445           Some additions: mention new API that is supposed to be used at the
10446           various stages; short blob about new gst-inspect introspection
10447           option; mention potential future problem with plugins that have
10448           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
10449
10450 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10451
10452         * tools/gst-inspect.c:
10453         (print_plugin_automatic_install_info_codecs),
10454         (print_plugin_automatic_install_info_protocols),
10455         (print_plugin_automatic_install_info), (main):
10456         Add --print-plugin-auto-install-info option to gst-inspect, so we can
10457         introspect plugin files and get machine-parsable output that corresponds
10458         to the last bit of the missing-plugin installer string (small gotcha:
10459         doesn't take into account ranks).
10460
10461 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
10462
10463         * configure.ac:
10464         * docs/gst/gstreamer-sections.txt:
10465         * gst/Makefile.am:
10466         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
10467         (gst_registry_lookup_locked):
10468         * gst/gstregistry.h:
10469         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10470         (gst_registry_binary_initialize_magic),
10471         (gst_registry_binary_save_string),
10472         (gst_registry_binary_save_pad_template),
10473         (gst_registry_binary_save_feature),
10474         (gst_registry_binary_save_plugin),
10475         (gst_registry_binary_write_cache),
10476         (gst_registry_binary_check_magic),
10477         (gst_registry_binary_load_pad_template),
10478         (gst_registry_binary_load_feature),
10479         (gst_registry_binary_load_plugin),
10480         (gst_registry_binary_read_cache):
10481         * gst/gstregistrybinary.h:
10482         * gst/gstregistryxml.c: (load_feature),
10483         (gst_registry_xml_read_cache):
10484           commit binary registry (disabled by default, see #359653)
10485
10486 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10487
10488         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
10489           Fix 'make check' too.
10490
10491 2007-01-10  Andy Wingo  <wingo@pobox.com>
10492
10493         * docs/design/part-negotiation.txt: Fix a typo, add a couple
10494         notes.
10495         
10496         * docs/design/part-negotiation.txt: Update with, um, one way that
10497         pull-mode negotiation might work?
10498
10499         * gst/gstpad.h: 
10500         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
10501         that the pad must be a src pad; makes sense to call it the other
10502         way in pull mode, and the logic is symmetric anyway.
10503
10504 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
10505
10506         * plugins/elements/gstfilesink.c:
10507           Include <stdio.h> for fseeko().
10508
10509 2007-01-10  Wim Taymans  <wim@fluendo.com>
10510
10511         * gst/gstevent.c:
10512         * gst/gstevent.h:
10513         Reserve LATENCY event.
10514
10515 2007-01-09  Wim Taymans  <wim@fluendo.com>
10516
10517         * docs/design/draft-latency.txt:
10518         Updates.
10519
10520 2007-01-09  Wim Taymans  <wim@fluendo.com>
10521
10522         * docs/design/draft-latency.txt:
10523         Updates.
10524
10525         * gst/gstelement.h:
10526         * gst/gststructure.c:
10527         * gst/gsttrace.c:
10528         Small typo fixes.
10529
10530 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
10531
10532         * tests/check/.cvsignore:
10533           Ignore test-registry.xml as well.
10534
10535 2007-01-09  Wim Taymans  <wim@fluendo.com>
10536
10537         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10538         unref data at the end when we are done with the pad.
10539
10540 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10541
10542         * docs/gst/gstreamer-sections.txt:
10543         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
10544         (init_post), (gst_deinit), (gst_update_registry):
10545         * gst/gst.h:
10546           API: add gst_update_registry() (#391296).
10547
10548         * tests/check/Makefile.am:
10549         * tests/check/gst/gstregistry.c:
10550         * tests/check/gst/.cvsignore:
10551           Simple unit test for the above.
10552
10553 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10554
10555         * gst/gstregistry.c: (gst_registry_scan_path_level):
10556           Plugin extension on HP-UX is .sl, add that to the list of approved
10557           plugin extensions (see #393796).
10558
10559         * tests/check/gst/gstpad.c: (GST_START_TEST):
10560           ulong => gulong. Fixes compilation with HP-UX compiler.
10561
10562         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10563           Fix compilation if valgrind headers are not available.
10564
10565 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
10566
10567         * win32/common/libgstreamer.def: 
10568           Add new exported function.
10569         * win32/vs6/libgstbase.dsp: 
10570           Add gstdataqueue.c to the build.
10571         * win32/vs6/libgstcoreelements.dsp:
10572           Add gstmultiqueue.c to the build.
10573         
10574 2007-01-06  Andy Wingo  <wingo@pobox.com>
10575
10576         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
10577         activate_pull(), providing for a way to specialize the process of
10578         spawning a thread to pull on the sink pad. There is a default
10579         implementation.
10580
10581         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
10582         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
10583         (gst_base_sink_init): Renamed pad activation functions (inserting
10584         "_pad" in their names). Refactor to use the new activate_pull
10585         vmethod, as appropriate.
10586         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
10587         default activate_pull function to start a task pulling from the
10588         sink pad, as before.
10589
10590         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
10591         on the pads if necessary, as in push()/chain(). Update docs.
10592         Shouldn't affect existing pull() usage as it is currently only
10593         being used on buffers without caps.
10594
10595 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10596
10597         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10598         (init_pre):
10599           Call g_thread_init() first thing in gst_init() / gst_check_init().
10600           When initialisation is done via gst_init_get_option_group() and
10601           GOption parsing, issue a warning if the GLib thread system has not
10602           been initialised yet by the time gst_init_get_option_group() is
10603           called, as it's quite likely other GLib functions such as
10604           g_option_context_new() have been called already then, and
10605           g_thread_init() must be called before any other GLib function. The
10606           application in question must be fixed in that case, since memory
10607           corruption might happen otherwise.
10608           We issue the warning because even if the GLib folks decide to work
10609           around the problem on their end in future, this is still an issue
10610           with all GLib versions >= 2.10.0, so we should warn until we depend
10611           on a GLib version we know to be safe.
10612           Update documentation as well.
10613           Closes bug #391278.
10614
10615 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10616
10617         * tools/gst-inspect.c: (main):
10618         * tools/gst-launch.c: (main):
10619         * tools/gst-typefind.c: (main):
10620         * tools/gst-xmlinspect.c: (main):
10621           Call g_thread_init() really really early, before any other GLib
10622           function (see #342564 and recent discussion on gtk-devel-list).
10623
10624 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10625
10626         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
10627
10628         * gst/gst_private.h:
10629         * gst/gstconfig.h.in:
10630         * gst/gstinfo.h:
10631           On win32, all the __declspec stuff for symbol exporting is
10632           apparently only needed with MSVC, but doesn't work with MingW.
10633           Fixes compilation with MingW and #391909.
10634
10635 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10636
10637         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
10638           Change some GST_ERROR_OBJECT that aren't really errors to
10639           GST_WARNING_OBJECT in order to reduce terminal spam.
10640
10641 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10642
10643         * tests/check/Makefile.am:
10644           disable test again, as there seem to be still race problems
10645
10646 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10647
10648         * tests/check/Makefile.am:
10649         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10650         (GST_START_TEST), (queue_suite):
10651           enable queue test again, add tests for the leaky behaviour
10652
10653 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
10654
10655         * configure.ac:
10656         * tests/examples/Makefile.am:
10657           Compile adapter test/example only if the required headers are
10658           available (fixes #391915).
10659
10660 2007-01-01  David Schleef  <ds@schleef.org>
10661
10662         * gst/gstplugin.c:
10663           Restore the previous signal handler for SIGSEGV instead of
10664           setting to default, since we may have stolen it away from
10665           someone.  (i.e., Mono)
10666
10667 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
10668
10669         * docs/random/draft-missing-plugins.txt:
10670           Some small additions and clarifications.
10671
10672 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
10673
10674         * gst/gstregistryxml.c: (gst_registry_save_escaped):
10675           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
10676           since that can lead to random memory corruptions and crashes
10677           (may or may not be related to #383244, #386711, and #386711).
10678
10679 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10680
10681         * tests/check/.cvsignore:
10682         * tests/check/Makefile.am:
10683           sync .cvsignome and CLEANFILES
10684
10685 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10686
10687         * tests/check/Makefile.am:
10688           fix distcheck
10689
10690 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10691
10692         * docs/design/part-states.txt:
10693           two tiny additional comments
10694         
10695         * gst/gststructure.c:
10696           doc fixing
10697
10698         * tests/check/Makefile.am:
10699         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10700         (GST_START_TEST):
10701           disable test for now, unless it gets fixed
10702
10703 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10704
10705         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10706         (GST_START_TEST):
10707           fix race in underrun test
10708
10709 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10710
10711         * tests/check/elements/.cvsignore:
10712           ignore more
10713
10714         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10715         (GST_START_TEST):
10716           try to narrow test failure
10717
10718 2006-12-21  David Schleef  <ds@schleef.org>
10719
10720         * plugins/elements/gstfakesrc.c:
10721           Use g_random_int_range(), since it produces better random
10722           numbers in a range than almost-correct floating point code.
10723
10724 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10725
10726         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
10727         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
10728         (gst_check_teardown_sink_pad):
10729           do not automatically (de)activate pads
10730
10731         * tests/check/Makefile.am:
10732         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10733         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
10734           add new, yet simple tests for queue
10735
10736         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
10737         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
10738         * tests/check/elements/filesrc.c: (cleanup_filesrc),
10739         (GST_START_TEST):
10740         * tests/check/elements/identity.c: (cleanup_identity):
10741           consistent pad (de)activation
10742
10743 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
10744
10745         Patch by: Sebastian Dröge  <slomo ubuntu com>
10746
10747         * libs/gst/base/gstcollectpads.c:
10748           Fix two doc typos (#387866).
10749
10750 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
10751
10752         * docs/manual/advanced-dparams.xml:
10753           Fix typo (g_object_control_properties() doesn't exist).
10754
10755 2006-12-19  Edward Hervey  <edward@fluendo.com>
10756
10757         * gst/gstsegment.c: (gst_segment_set_seek):
10758         Fine tune the cases where the segment start/stop values are really
10759         updated.
10760         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10761         Add tests for the return values of gst_segment_set_seek().
10762
10763 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
10764
10765         * gst/gst.c:
10766           Docs typo fix.
10767
10768         * plugins/elements/gstqueue.c: (gst_queue_class_init),
10769         (gst_queue_init):
10770           Fix incorrect documentation and flesh it out a bit more.
10771           Set default values for the max properties on the GParamSpec as well,
10772           so it shows up correctly in gst-inspect.
10773
10774 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
10775
10776         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
10777           Correct docs of queue, add more detail and crosslink it more.
10778
10779 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
10780
10781         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
10782           Print additional debug info when the stream isn't perfectly
10783           timestamped; don't try to use invalid durations.
10784
10785 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
10786
10787         * docs/design/Makefile.am:
10788           Dist new design docs.
10789
10790 2006-12-16  Wim Taymans  <wim@fluendo.com>
10791
10792         Patch by: Sjoerd Simons <sjoerd at luon dot net>
10793
10794         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
10795         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
10796         (gst_collect_pads_stop), (gst_collect_pads_event),
10797         (gst_collect_pads_chain):
10798         * libs/gst/base/gstcollectpads.h:
10799         Add refcounting to the collectpads data so we can track when it's safe
10800         to free the data. Fixes #383382.
10801
10802 2006-12-15  Wim Taymans  <wim@fluendo.com>
10803
10804         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
10805         (gst_collect_pads_remove_pad):
10806         Automatically activate/deactivate pads when they are added to a
10807         started/stoped collectpads.
10808
10809 2006-12-15  Wim Taymans  <wim@fluendo.com>
10810
10811         * gst/gstelement.c: (gst_element_add_pad):
10812         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
10813         * gst/gstpad.c: (gst_pad_init):
10814         Set pads to FLUSHING when they are created. Check, warn and fix when a
10815         demuxer adds an inactive pad to itself when running. Fixes #339326.
10816
10817 2006-12-15  Wim Taymans  <wim@fluendo.com>
10818
10819         * gst/gstelement.c: (gst_element_class_init),
10820         (gst_element_default_send_event), (gst_element_send_event),
10821         (gst_element_default_query), (gst_element_query):
10822         Expose default element send_event and query handling as vmethods that
10823         subclasses can chain up to.
10824
10825 2006-12-15  Wim Taymans  <wim@fluendo.com>
10826
10827         * gst/gstelement.c: (gst_element_set_state_func):
10828         Small documentation fixes.
10829
10830 2006-12-15  Wim Taymans  <wim@fluendo.com>
10831
10832         * docs/design/draft-latency.txt:
10833         Checked in draft for handling latency in pipelines.
10834
10835 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10836
10837         * Makefile.am:
10838         * gstreamer.doap:
10839         * gstreamer.spec.in:
10840           adding .doap file
10841
10842 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
10843
10844         * gst/gst.c: (init_pre), (init_post):
10845           init_pre() and init_post() might be called via our GOptionGroup or
10846           from gst_init(), and we should skip both of them if we've already
10847           been initialised, otherwise we will init some things twice or add
10848           two default log functions.
10849
10850 2006-12-13  Edward Hervey  <edward@fluendo.com>
10851
10852         * docs/manual/basics-bus.xml:
10853         No, gst_main_loop does not exist. Its g_main_loop.
10854         Discovered by somebody who abused the copy-paste technique of coding :)
10855
10856 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
10857
10858         * gst/gstghostpad.c:
10859           Log ghostpad debug stuff to the GST_PADS category as well rather
10860           than just to the default category.
10861
10862 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
10863
10864         * configure.ac:
10865         * gst/gst.c: (init_pre):
10866           Add some basic system details such as OS and architecture
10867           to the debug output if possible, courtesy of uname().
10868
10869 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
10870
10871         * docs/gst/running.xml:
10872           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
10873           environment variables.
10874
10875 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
10876
10877         * tests/check/gst/gstbin.c: (GST_START_TEST):
10878         It is acceptable to have a refcount of 2 or 3 at this point in the
10879         test, because the pipeline might be just posting its state_change
10880         message. The next line then waits for that message to appear using
10881         bus_poll, so that should be fine too.
10882
10883 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
10884
10885         * gst/gst.c: (ensure_current_registry_forking):
10886         Ignore EINTR when reading from the child registry pipe.
10887         Explicitly ignore the return value from close, since it makes no
10888         difference.
10889
10890         * gst/gstminiobject.c: (gst_mini_object_ref),
10891         (gst_mini_object_unref):
10892         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
10893
10894         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
10895         When removing cached plugins, remove their features too, so they're
10896         not visible after they've disappeared.
10897
10898         * gst/gstutils.c: (prepare_link_maybe_ghosting):
10899         In the unlikely case that we are linking pads with no parents, don't
10900         crash trying to get the non-existent parent bin.
10901
10902         * gst/parse/grammar.y:
10903         Output debug in the PIPELINE category
10904
10905 2005-03-08  Wim Taymans  <wim@fluendo.com>
10906
10907         Patch by: René Stadler <mail at renestadler dot de>
10908
10909         * gst/gstclock.c: (gst_clock_new_periodic_id):
10910         Reject invalid clock times for interval of periodic ids.
10911         Fixes ##383506.
10912
10913 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
10914
10915         * gst/gstelementfactory.c: (gst_element_factory_create):
10916         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10917         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
10918         * tools/gst-inspect.c: (print_element_info):
10919         Fix refcounting of gst_plugin_feature_load to match the docs. 
10920         Fixes: #380129
10921
10922 2006-12-07  Wim Taymans  <wim@fluendo.com>
10923
10924         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
10925         (gst_base_sink_get_position):
10926         Improve debugging of events.
10927
10928 2006-12-07  Wim Taymans  <wim@fluendo.com>
10929
10930         Patch by: René Stadler <mail at renestadler dot de>
10931
10932         * gst/gstclock.c: (gst_clock_id_wait):
10933         Make period ids add the interval to the origial requested time instead
10934         of the possibly updated time which can be wrong when there are multiple
10935         waiters for the same id. Fixes #382592.
10936
10937         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
10938         (gst_system_clock_id_wait_jitter_unlocked),
10939         (gst_system_clock_id_wait_jitter):
10940         Fix restart in the async notify thread when an async entry is added to
10941         the front of the list. Fixes #381492. 
10942
10943         * tests/check/gst/gstsystemclock.c: (store_callback),
10944         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
10945         Added test for multiple async waits.
10946         Added test for async wait order.
10947
10948 2006-12-07  Wim Taymans  <wim@fluendo.com>
10949
10950         * gst/gstbin.c: (gst_bin_query):
10951         Add some more docs about the POSITION query.
10952
10953 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
10954
10955         * configure.ac:
10956         Bump version nano - back to CVS.
10957
10958 === release 0.10.11 ===
10959
10960 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
10961
10962         * configure.ac:
10963           releasing 0.10.11, "Love never runs on time"
10964
10965 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
10966
10967         * win32/common/libgstbase.def:
10968         * win32/common/libgstreamer.def:
10969         * win32/vs8/libgstbase.vcproj:
10970         * win32/vs8/libgstcoreelements.vcproj:
10971         * win32/vs8/libgstreamer.vcproj:
10972         Fix compilation on win32 under VS8
10973         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
10974         Partially fixes #381175
10975
10976 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
10977
10978         * gst/gstvalue.c: (gst_value_compare_fraction):
10979         If someone is foolish enough to compare 2 fractions with denominator =
10980         0, return UNORDERED rather than aborting.
10981
10982 2006-11-28  Edward Hervey  <edward@fluendo.com>
10983
10984         * libs/gst/base/Makefile.am:
10985         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
10986         (gst_data_queue_base_init), (gst_data_queue_class_init),
10987         (gst_data_queue_init), (gst_data_queue_new),
10988         (gst_data_queue_cleanup), (gst_data_queue_finalize),
10989         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
10990         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
10991         (gst_data_queue_is_empty), (gst_data_queue_is_full),
10992         (gst_data_queue_set_flushing), (gst_data_queue_push),
10993         (gst_data_queue_pop), (gst_data_queue_drop_head),
10994         (gst_data_queue_set_property), (gst_data_queue_get_property):
10995         * libs/gst/base/gstdataqueue.h:
10996         New GstDataQueue object for threadsafe queueing. Most useful for
10997         elements that need some queueing functionnality.
10998         * docs/libs/gstreamer-libs-docs.sgml:
10999         * docs/libs/gstreamer-libs-sections.txt:
11000         Insert documentation for GstDataQueue
11001         * plugins/elements/Makefile.am:
11002         * plugins/elements/gstelements.c:
11003         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
11004         (gst_multi_queue_class_init), (gst_multi_queue_init),
11005         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
11006         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
11007         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
11008         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
11009         (gst_multi_queue_loop), (gst_multi_queue_chain),
11010         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
11011         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
11012         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
11013         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
11014         (wake_up_next_non_linked), (compute_next_non_linked),
11015         (single_queue_overrun_cb), (single_queue_underrun_cb),
11016         (single_queue_check_full), (gst_single_queue_new):
11017         * plugins/elements/gstmultiqueue.h:
11018         New multiqueue element, using GstDataQueue. Used for queuing multiple
11019         streams.
11020         Closes #344639 and #347785
11021
11022 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
11023
11024         * docs/pwg/advanced-types.xml:
11025           add more missing type details
11026
11027         * tools/gst-run.c: (main):
11028           remove unused variable
11029
11030 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
11031
11032         * docs/libs/Makefile.am:
11033         * docs/libs/gstreamer-libs.types:
11034           add types of base classes to enable gobject specific stuff in the docs
11035
11036         * docs/random/ensonic/embedded.txt:
11037           more ideas about isolating platform specific things
11038
11039 2006-11-20  Wim Taymans  <wim@fluendo.com>
11040
11041         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
11042
11043         * libs/gst/check/gstcheck.h:
11044         Fix compilation and running against 0.9.4. Fixes #377332.
11045
11046 2006-11-20  Wim Taymans  <wim@fluendo.com>
11047
11048         * gst/gstsegment.c: (gst_segment_set_seek),
11049         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
11050         (gst_segment_to_running_time):
11051         Fix boundary checking in to_running_time() and to_stream_time().
11052         Fixes #377183.
11053
11054         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11055         stream and running time can now be calculated for the complete
11056         clipped segment.
11057
11058 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
11059
11060         * gst/gstpad.c: (gst_pad_push_event):
11061           Can't access event structure after giving away ownership of
11062           the event.
11063
11064 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
11065
11066         * docs/random/ensonic/embedded.txt:
11067         * docs/random/ensonic/profiling.txt:
11068         * docs/random/ensonic/receipies.txt:
11069           more thinking
11070
11071 2006-11-13  Wim Taymans  <wim@fluendo.com>
11072
11073         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11074
11075         * gst/gstpad.c:
11076         Fix documentation for gst_pad_dispatcher. Fixes #374475.
11077
11078 2006-11-13  Wim Taymans  <wim@fluendo.com>
11079
11080         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
11081
11082         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11083         Store new length in segment duration so we don't keep on calling the
11084         potentially expensize get_size() call. Fixes #370865.
11085
11086 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
11087
11088         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
11089
11090         * win32/common/libgstreamer.def:
11091           Add two missing symbols (#366492).
11092
11093 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
11094
11095         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
11096         (gst_adapter_take_buffer):
11097         Fix format string to use all its arguments.
11098         Remove useless >= check on a guint
11099
11100 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11101
11102         * tests/examples/adapter/.cvsignore:
11103         Ignore build file as commanded by the build-bot
11104
11105 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11106
11107         * tests/examples/adapter/Makefile.am:
11108         * tests/examples/adapter/adapter_test.c: (run_test_take),
11109         (run_test_take_buffer), (run_tests), (main):
11110
11111         Add new files from the previous commit
11112
11113 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11114
11115         * Makefile.am:
11116         * configure.ac:
11117         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
11118         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
11119         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
11120         * libs/gst/base/gstadapter.h:
11121         * tests/check/libs/adapter.c: (create_and_fill_adapter),
11122         (GST_START_TEST), (gst_adapter_suite):
11123         * tests/examples/Makefile.am:
11124         Do some optimisation work in GstAdapter to avoid copies in more cases.
11125         It could still do slightly better by merging buffers when
11126         gst_buffer_is_span_fast is true, but is already faster. 
11127
11128         Also, avoid traversing a single-linked list to append each incoming 
11129         buffer inside the adapter.
11130
11131         Add simple test app that times the adapter behaviour in different
11132         situations, and extend the unit test to check that bytes enter and
11133         exit the adapter in their original order.
11134
11135 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
11136
11137         * docs/random/draft-missing-plugins.txt:
11138           Update: use element message instead of adding a new message
11139           type to the core; don't provide GStreamer API to initiate the
11140           plugin download, just provide API to compose the strings needed
11141           and let an external libgimmestuff handle the rest.
11142
11143 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
11144
11145         * tools/gst-inspect.c: (print_element_properties_info):
11146         Print a string instead of 'unknown type' for GValueArray properties
11147
11148 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
11149
11150         * docs/random/draft-missing-plugins.txt:
11151         More small fixes.
11152
11153 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11154
11155         * tests/examples/typefind/typefind.c: (type_found), (main):
11156           Make typefind element example work again (#371894); add a
11157           license header.
11158
11159 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11160
11161         * docs/random/draft-missing-plugins.txt:
11162           Commit initial draft about how to deal with missing plugins,
11163           needs work (API too).
11164
11165 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
11166
11167         * docs/pwg/advanced-types.xml:
11168           documents the new caps elements (see #363118)
11169
11170 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11171
11172         * gst/gstplugin.c: (gst_plugin_load_file):
11173         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
11174         (gst_file_src_map_region), (gst_file_src_start):
11175         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
11176         (gst_file_index_commit):
11177           Use g_strerror() instead of strerror() - we want UTF-8.
11178
11179 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11180
11181         Patch by: Peter Kjellerstedt <pkj at axis com>
11182
11183         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11184           Another printf fix (#371493).
11185
11186 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11187
11188         * tests/check/gst/gsttag.c:
11189           relicence (okay with author=company)
11190
11191 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11192
11193         * gst/gstpad.c: (gst_pad_event_default_dispatch),
11194         (gst_pad_push_event):
11195           Enhance debug and improve docs
11196         
11197         * gst/gsturi.c:
11198           Fix docs
11199
11200 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11201
11202         * docs/random/ensonic/distributed.txt:
11203         * docs/random/ensonic/profiling.txt:
11204           more ideas
11205
11206 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11207
11208         * docs/gst/gstreamer-sections.txt:
11209           add new API and fix the build
11210           
11211         * gst/gstbin.c: (gst_bin_recalc_state):
11212         * gst/gstelement.c: (gst_element_message_full),
11213         (gst_element_get_state_func), (gst_element_set_state_func):
11214           use new API and improve logging
11215         
11216         * gst/gstutils.c: (gst_element_state_change_return_get_name):
11217         * gst/gstutils.h:
11218           API: add function to get StateChangereturn names to improve logs 
11219
11220 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11221
11222         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11223           I'm considering shooting the next person to put strerror stuff
11224           in the translateable part of the message.
11225
11226 2006-11-03  Wim Taymans  <wim@fluendo.com>
11227
11228         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11229         Get the type and printf conversion specifiers right.
11230
11231 2006-11-03  Wim Taymans  <wim@fluendo.com>
11232
11233         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11234
11235         * gst/gstpad.c: (gst_pad_init), (pre_activate),
11236         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
11237         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
11238         Some small cleanups. Improve debugging.
11239         * gst/gstpad.h:
11240         Signal all waiting threads with a broadcast instead of just one.
11241         Fixes #369942.
11242
11243 2006-11-03  Wim Taymans  <wim@fluendo.com>
11244
11245         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
11246         (gst_fd_src_create):
11247         Add some debugging. 
11248         Only update fd when it's different from the old.
11249
11250 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11251
11252         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
11253           Printf fixes for PPC/OSX, take two (#369366).
11254
11255 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11256
11257         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
11258
11259         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11260         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11261         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
11262           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
11263           don't cast to long long for portability reasons, but use
11264           GLib's types instead.
11265
11266 2006-10-30  Michael Smith  <msmith@fluendo.com>
11267
11268         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11269           Get the arguments to lseek() the right way around.
11270           Fixes 367677.
11271
11272 2006-10-30  Wim Taymans  <wim@fluendo.com>
11273
11274         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
11275
11276         * gst/gstinfo.h:
11277         _declspec should be __declspec (two underscores, not one). Fixes 366572.
11278
11279 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11280
11281         Patch by: Kjartan Maraas  <kmaraas at gnome org>
11282
11283         * docs/design/part-MT-refcounting.txt:
11284         * docs/random/wtay/capsnego2-docs:
11285         * gst/gstclock.c:
11286         * gst/gstxml.c:
11287           Typo fixes (#366212).
11288
11289 2006-10-28  Wim Taymans  <wim@fluendo.com>
11290
11291         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11292
11293         * gst/gst.c:
11294         * win32/common/libgstbase.def:
11295         * win32/common/libgstreamer.def:
11296         * win32/vs8/libgstbase.vcproj:
11297         * win32/vs8/libgstcontroller.vcproj:
11298         Add needed entries in .def files.
11299         Use HAVE_UNISTD_H.
11300         Rearrange def files in vs8 solutions. Fixes #366286.
11301
11302 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11303
11304         * win32/common/gstconfig.h:
11305           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
11306           hand-made win32 gstconfig.h. Fixes #366321.
11307
11308 2006-10-27  Wim Taymans  <wim@fluendo.com>
11309
11310         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
11311         (gst_ghost_pad_new_full):
11312         Make acceptcaps return TRUE when we don't have a target, just like
11313         setcaps does.
11314
11315 2006-10-27  Wim Taymans  <wim@fluendo.com>
11316
11317         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11318         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
11319
11320 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
11321
11322         * gst/gststructure.c: (gst_structure_id_set_value):
11323           If someone tries to set a non-UTF8 string field on a structure,
11324           don't just print a warning, but also ignore the request and do
11325           not change/add that field to the structure.
11326
11327         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11328           Test for the above.
11329
11330 2006-10-25  David Schleef  <ds@schleef.org>
11331
11332         * gst/gstinfo.c:
11333           g_hash_table_insert() needs a cast to a non-const pointer duh.
11334
11335 2006-10-25  David Schleef  <ds@schleef.org>
11336
11337         * gst/gstinfo.c:
11338         * gst/gstinfo.h:
11339           Change name parameter of _gst_debug_register_funcptr to const
11340           to reflect the constness of its use in the function as well
11341           as to quiet a gcc warning.
11342
11343 2006-10-25  Edward Hervey  <edward@fluendo.com>
11344
11345         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11346         Don't push the buffer if it's empty.
11347         Closes #363095
11348
11349 2006-10-24  Wim Taymans  <wim@fluendo.com>
11350
11351         * gst/gstevent.h:
11352         Add small comment.
11353
11354         * libs/gst/base/gstbasetransform.c:
11355         (gst_base_transform_sink_eventfunc):
11356         Debug segment values *after* updating them as this is more
11357         interesting.
11358
11359 2006-10-23  Wim Taymans  <wim@fluendo.com>
11360
11361         * docs/design/part-events.txt:
11362         Update some docs.
11363
11364         * docs/design/part-block.txt:
11365         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11366         (gst_pad_push_event):
11367         Revert BLOCKING patch, it tries to be smart without really having a
11368         clear idea what or how. So, now we discard all FLUSHING events again on
11369         a blocking pad. Should fix gnonlin again.
11370
11371 2006-10-23  Wim Taymans  <wim@fluendo.com>
11372
11373         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11374
11375         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11376         (gst_base_src_start), (gst_base_src_activate_push):
11377         Make sure size is always initialized. Fixes #364388.
11378
11379 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
11380
11381         * docs/random/ensonic/distributed.txt:
11382           add some ideas about doing distributed processing
11383
11384         * docs/random/ensonic/profiling.txt:
11385           get_rusage look promising
11386
11387 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11388
11389         * docs/manual/basics-helloworld.xml:
11390           Add a cast in example to fix compile warning
11391
11392 2006-10-18  Wim Taymans  <wim@fluendo.com>
11393
11394         * gst/gstsegment.c: (gst_segment_set_last_stop),
11395         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11396         Relax arg checking again, -1 is allowed.
11397
11398 2006-10-18  Wim Taymans  <wim@fluendo.com>
11399
11400         * gst/gstsegment.c: (gst_segment_set_last_stop),
11401         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11402         _set_last_stop() must be with a value != -1
11403         A _TYPE_SET to -1 means seek to 0.
11404         Calc last_stop correctly for negative rates.
11405         Make sure we work with positive durations when updating a segment.
11406
11407 2006-10-18  Wim Taymans  <wim@fluendo.com>
11408
11409         * docs/design/part-live-source.txt:
11410         * gst/gstclock.h:
11411         Small docs fixes.
11412
11413 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
11414
11415         * gst/gstbuffer.h:
11416           Add an explicit cast to GstBuffer** to keep old code that added an
11417           explicit cast to GstMiniObject** for gst_mini_object_replace()
11418           compiling without warning.
11419
11420 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11421
11422         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
11423           check for validity of dates
11424
11425 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11426
11427         * docs/gst/gstreamer-sections.txt:
11428           Forgot this one, makes gtk-doc shut up.
11429
11430 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11431
11432         Patch by: Peter Kjellerstedt <pkj at axis com>
11433
11434         * gst/gstobject.h:
11435           Don't define xmlNodePtr to gpointer if the core was built with
11436           --disable-loadsave and --disable-registry, this will break
11437           applications that want to use libxml2 but are buildling against a
11438           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11439           instead so we don't have to mess with the libxml2 namespace
11440           (#361675).
11441
11442 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11443
11444         * gst/gstbuffer.h:
11445           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
11446           type-punned pointer warnings.
11447
11448 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
11449
11450         * gst/gstelement.h:
11451           Add casts to the correct return type to state <=> state transition
11452           macros.
11453
11454 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
11455
11456         * docs/design/part-live-source.txt:
11457           describe howto handle latency
11458         
11459         * docs/random/ensonic/profiling.txt:
11460           more ideas
11461
11462         * tools/gst-plot-timeline.py:
11463           fix log parsing for solaris, remove unused function
11464
11465 2006-10-16  Wim Taymans  <wim@fluendo.com>
11466
11467         * docs/design/part-trickmodes.txt:
11468         * gst/gstevent.c:
11469         Update some docs regarding reverse playback.
11470
11471 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
11472
11473         Patch by: Marcus Granado  <mrc dot gran at gmail com>
11474
11475         * win32/vs8/grammar.vcproj:
11476           Error out with a warning if glib-genmarshal.exe is not in path,
11477           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
11478
11479 2006-10-13  Wim Taymans  <wim@fluendo.com>
11480
11481         * gst/gstsegment.c: (gst_segment_set_seek):
11482         When seeking to stop -1, set last_stop (current position) to the
11483         duration of the segment.
11484
11485 2006-10-13  Wim Taymans  <wim@fluendo.com>
11486
11487         * gst/gstelement.h:
11488         Clarify _NO_PREROLL a bit more.
11489
11490         * gst/gstevent.c:
11491         Fix docs.
11492
11493         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
11494         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
11495         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
11496         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
11497         due to wrong locking order. Fixes #361769.
11498         Remove some redundant/misplaced checks in pad_block.
11499
11500         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11501         For negative rates, count backwards from the duration.
11502
11503 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
11504
11505         * gst/gsterror.c: (_gst_library_errors_init):
11506           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
11507           up with something better).
11508
11509 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11510
11511         * win32/vs6/libgstreamer.dsp:
11512         * win32/vs7/libgstreamer.vcproj:
11513         * win32/vs8/libgstreamer.vcproj:
11514           Don't reference glib-compat.c which is currently not used and not
11515           disted; add gstquark.c which was recently added. Fixes #361730.
11516
11517 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11518
11519         * win32/common/libgstbase.def:
11520         * win32/common/libgstcontroller.def:
11521         * win32/common/libgstreamer.def:
11522           Add gst_caps_merge() and a bunch of other recently-added functions.
11523           Fixes #361732.
11524
11525 2006-10-11  Wim Taymans  <wim@fluendo.com>
11526
11527         * docs/plugins/gstreamer-plugins.args:
11528         * docs/plugins/inspect/plugin-coreelements.xml:
11529         * docs/plugins/inspect/plugin-coreindexers.xml:
11530         Update element args.
11531
11532         * gst/gstsystemclock.c:
11533         Small comment update.
11534
11535         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11536         (gst_tee_request_new_pad), (gst_tee_release_pad),
11537         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
11538         (gst_tee_sink_activate_pull):
11539         * plugins/elements/gsttee.h:
11540         Some tee loving:
11541         Add default property defines.
11542         Implement release pad function.
11543         Give properties better blubs etc.
11544         Activate pads before adding them to a running tee.
11545         Do simple buffer_alloc on the first requested pad.
11546         Post error when activation fails.
11547
11548 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11549
11550         * gst/gst.c: (ensure_current_registry_forking):
11551           Check return value of write() to make compiler happy.
11552
11553 2006-10-11  Wim Taymans  <wim@fluendo.com>
11554
11555         Patch by: Sjoerd Simons <sjoerd at luon dot net>
11556
11557         * plugins/elements/gstqueue.c: (gst_queue_chain):
11558         Recheck queue filledness after signalling the overrun when we're about
11559         to leak downstream because we released the lock when emitting the signal
11560         and the queue could be empty again. Fixes #352345.
11561
11562 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11563
11564         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
11565           Fix refcounting here too, just like we did for _new_valist() a few
11566           days ago (#357180) (thanks to René Stadler). Also remove all those
11567           'Since: 0.9' from the gtk-doc blobs.
11568
11569         * tests/check/libs/controller.c: (controller_refcount_new_list),
11570         (gst_controller_suite):
11571           Unit test for the above.
11572
11573 2006-10-10  Wim Taymans  <wim@fluendo.com>
11574
11575         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
11576
11577         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
11578         (gst_pad_save_thyself):
11579         Update some docs.
11580         Write pad direction in XML output. Fixes #345496.
11581
11582 2006-10-10  Wim Taymans  <wim@fluendo.com>
11583
11584         Patch by: René Stadler <mail at renestadler dot de>
11585
11586         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11587         (gst_controller_new_list), (_gst_controller_dispose),
11588         (_gst_controller_finalize), (_gst_controller_class_init):
11589         Take ref to controlled object so that it cannot disappear. 
11590         Fixes #357432.
11591
11592 2006-10-10  Wim Taymans  <wim@fluendo.com>
11593
11594         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11595         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11596         (gst_check_teardown_sink_pad):
11597         Activate/deactivate pads in setup/teardown respectively.
11598
11599 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11600
11601         Patch by: Josep Torra Valles <josep@fluendo.com>
11602
11603         * gst/Makefile.am:
11604         Cast values when making gstenumtypes.h.  This pacifies Forte
11605         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
11606         in the enumeration.
11607
11608 2006-10-09  Wim Taymans  <wim@fluendo.com>
11609
11610         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
11611         Rename some more @cur to @start to fix docs. 
11612
11613         * gst/gstsegment.c: (gst_segment_set_seek):
11614         Fix typo.
11615         time and start must always stay in sync as defined in design doc.
11616
11617         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11618         Rename param to fix docs.
11619
11620         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11621         Check that start and time are in sync.
11622
11623         * tests/check/pipelines/parse-launch.c:
11624         (gst_parse_test_element_change_state):
11625         Activate pad before adding to the element.
11626
11627 2006-10-09  Wim Taymans  <wim@fluendo.com>
11628
11629         * docs/design/part-qos.txt:
11630         Fix typo.
11631
11632         * gst/gstevent.c:
11633         * gst/gstevent.h:
11634         Update seek event docs regarding negative rates.
11635         Rename @cur to @start. 
11636
11637         * gst/gstsegment.c: (gst_segment_set_seek):
11638         * gst/gstsegment.h:
11639         Update set_seek docs regarding negative rates.
11640         Correctly update last_stop to @stop when dealing with negative
11641         rates.
11642         Rename @cur to @start. 
11643
11644         * tests/check/gst/gstpad.c: (GST_START_TEST):
11645         Activate pads before trying to use them.
11646
11647         * tests/check/gst/gstsegment.c: (GST_START_TEST),
11648         (gst_segment_suite):
11649         Add simple check for segments and negative rates.
11650
11651 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
11652
11653         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11654         * gst/gsttaglist.h:
11655         * docs/gst/gstreamer-sections.txt:
11656           API: add gst_tag_list_is_empty() (#360467).
11657
11658         * tests/check/gst/gsttag.c: (GST_START_TEST):
11659           And a test case.
11660
11661 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11662
11663         * gst/gstmessage.h:
11664         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
11665         a value that doesn't fit on enumeration.
11666
11667 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11668
11669         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11670         Remove local debugging system and use Gstreamer's instead.
11671
11672 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11673
11674         Patch by: Josep Torra Valles <josep@fluendo.com>
11675
11676         * common/m4/gst-error.m4:
11677         Disable warning of statement not reached on Forte.
11678         * gst/gstmessage.h:
11679         Fix warning on Forte (value doesn't fit on enumeration).
11680         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
11681         Fix warning on Forte (value doesn't fit on enumeration).
11682         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11683         DEBUG macro says it takes minimum of 2 args and so Forte
11684         complains about the use with just 1 arg.
11685         * plugins/elements/gstfdsink.c:
11686         * plugins/elements/gstfdsrc.c:
11687         * plugins/elements/gstfilesink.c:
11688         * plugins/elements/gstfilesrc.c:
11689         Use correct return type for the uri handler implementations.
11690
11691         All these fix warnings in Forte.  Fixes bug #360860.
11692
11693 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
11694
11695         * gst/gstelement.h:
11696           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
11697           format string, so don't use G_GNUC_PRINTF for those versions.
11698
11699 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
11700
11701         * gst/gsttaglist.c: (gst_is_tag_list):
11702         * gst/gsttaglist.h:
11703           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
11704
11705         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11706           Small test for the above.
11707
11708 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
11709
11710         * gst/gsttaglist.h:
11711           Less tabs, more spaces.
11712
11713 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
11714
11715         * gst/gstinfo.h:
11716           Those two function declarations do actually belong there, revert
11717           commit from yesterday that turned them intro macros.
11718
11719 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11720
11721         Patch by: Josep Torra Valles <josep@fluendo.com>
11722
11723         * gst/gst.c: (gst_init_get_option_group):
11724         Fix empty declaration and type mismatch.
11725         * gst/gstbin.c: (gst_bin_change_state_func):
11726         Fix type mismatch.
11727         * gst/gstelement.c: (gst_element_continue_state),
11728         (gst_element_set_state_func), (gst_element_change_state),
11729         (gst_element_change_state_func):
11730         Fix type mismatches.
11731         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
11732         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
11733         Cast as appropriate.
11734         * gst/gstobject.c: (gst_class_signal_connect):
11735         Cast as appropriate.  The function pointer parameter really
11736         has the wrong type but would break API if we change it.
11737         * gst/gstquery.c:
11738         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
11739         order of including string.h.
11740         * gst/gstutils.c: (gst_element_state_get_name):
11741         Remove unreachable line.
11742         * gst/gstxml.c: (gst_xml_parse_doc):
11743         Fix type mismatch.
11744         All these caught by Forte.
11745
11746 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11747
11748         Patch by: Josep Torra Valles <josep@fluendo.com>
11749
11750         * common/m4/gst-error.m4:
11751         Fixed bug #360151.
11752         We need to disable warnings on Forte for empty declarations
11753         due to gst-indent adding ;s to lines that just use macros
11754         where the macro actually doesn't need a ; at end to end
11755         statement.
11756
11757 2006-10-06  Wim Taymans  <wim@fluendo.com>
11758
11759         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
11760         (gst_file_sink_close_file), (gst_file_sink_event),
11761         (gst_file_sink_render):
11762         Add some FIXME for the NEWSEGMENT handling.
11763
11764 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11765
11766         * gst/parse/grammar.y:
11767         Remove static function gst_parse_element_lock as all it does
11768         is return.  Looks like cruft from 0.8.
11769
11770 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11771
11772         Patch by: Josep Torra Valles <josep@fluendo.com>
11773
11774         * common/m4/gst-error.m4:
11775         * configure.ac:
11776         * libs/gst/net/Makefile.am:
11777         Fix a compilation issue with Forte on Solaris.  inet_aton is in
11778         libresolv.
11779
11780 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
11781
11782         * gst/gstpad.c: (pre_activate):
11783         * gst/gstregistry.c: (gst_registry_scan_path_level):
11784         * gst/gstregistryxml.c: (load_plugin):
11785         * libs/gst/controller/gstcontroller.c:
11786         (gst_controlled_property_set_interpolation_mode):
11787         * libs/gst/dataprotocol/dataprotocol.c:
11788         (gst_dp_packet_from_event_1_0):
11789         * libs/gst/net/gstnetclientclock.c:
11790         (gst_net_client_clock_observe_times):
11791         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11792           Printf fixes.
11793
11794 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
11795
11796         * configure.ac:
11797         * docs/gst/gstreamer-sections.txt:
11798         * gst/gstconfig.h.in:
11799         * gst/gstelement.h:
11800         * gst/gstinfo.h:
11801           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
11802           whether we can use G_GNUC_PRINTF in other header files and at
11803           least check the printf format/arguments of debug messages and
11804           GST_ELEMENT_ERROR messages when the printf extension is not
11805           being used.
11806           Replace more tabs with spaces in gstinfo.h and remove two spurious
11807           function declarations in GST_DISABLE_DEBUG part with macros.
11808
11809 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
11810
11811         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
11812           More docs for the sync-message signal (mention that it is not
11813           emitted by default); log message structures of messages posted on
11814           the bus as well.
11815
11816 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
11817
11818         * gst/gst.c: (ensure_current_registry_forking):
11819         Use a pipe pair to receive status results from the forked child, and
11820         ignore the result from waitpid. Fixes #355499
11821
11822 2006-10-02  Wim Taymans  <wim@fluendo.com>
11823
11824         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
11825         (gst_ghost_pad_suite):
11826         Fix leak in check.
11827
11828 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
11829
11830         * gst/gstpad.c:
11831           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
11832
11833 2006-10-02  Edward Hervey  <edward@fluendo.com>
11834
11835         * docs/design/part-block.txt:
11836         Further explain the use of flushing on blocked pads.
11837         * docs/gst/gstreamer-sections.txt:
11838         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11839         (gst_pad_push_event):
11840         * gst/gstpad.h:
11841         Added new GstPadFlag : GST_PAD_BLOCKING.
11842         Adds the notion of pads really blocking, which enables to properly
11843         handle FLUSH_START/FLUSH_STOP events on blocked pads.
11844         Fixes #358999
11845         API: gst_pad_is_blocking()
11846         API: GST_PAD_IS_BLOCKING() macro
11847         API: GST_PAD_BLOCKING GstPadFlag
11848         
11849 2006-10-02  Wim Taymans  <wim@fluendo.com>
11850
11851         Patch by: mrcgran <mrc.gran at gmail dot com>
11852
11853         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
11854         Filter the proxied caps against the padtemplate if we have one.
11855
11856         * gst/gstquery.c: (gst_query_new_segment):
11857         Add include for gstinfo.h so that compilation with
11858         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
11859
11860 2006-10-02  Wim Taymans  <wim@fluendo.com>
11861
11862         Patch by: Alessandro Decina  <alessandro at nnva org>
11863
11864         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
11865         (gst_file_sink_set_location), (gst_file_sink_open_file),
11866         (gst_file_sink_close_file), (gst_file_sink_event),
11867         (gst_file_sink_render):
11868         Set file to NULL when closing filesink so that we can set a new filename
11869         in READY. Fixes #358613.
11870
11871 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
11872
11873         Patch by: Alessandro Decina  <alessandro at nnva org>
11874
11875         * gst/gstevent.c: (_gst_event_copy):
11876           Fix gst_mini_object_make_writable() and gst_event_copy() for events
11877           with event structures by setting the parent refcount address of the
11878           copied structure to the address of the refcount member of the newly
11879           copied event rather than the address of the refcount member of the
11880           original event. Fixes #358737.
11881
11882         * tests/check/gst/gstevent.c: (GST_START_TEST):
11883           Unit test for the above.
11884
11885 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
11886
11887         * docs/design/Makefile.am:
11888           Dist some more files.
11889
11890 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11891
11892         * tests/check/libs/controller.c: (GST_START_TEST),
11893         (gst_controller_suite):
11894           Add test for the previous fix; add some more tests
11895           for correct refcounting behaviour; fix a few leaks
11896           in test cases; call gst_controller_init() at start
11897           of all tests.
11898
11899 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11900
11901         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11902         (gst_controller_set_from_list):
11903           Don't g_return_val_if_fail() on timed values with invalid timestamps
11904           inside a critical section without unlocking the mutex. Spotted by
11905           René Stadler. (#357617)
11906           Also, fix up refcounting properly: when returning an existing
11907           controller, we should increase the reference only once and not
11908           once per property and when trying to control a property again
11909           we should also increase the refcount.
11910
11911 2006-09-29  Wim Taymans  <wim@fluendo.com>
11912
11913         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11914         * libs/gst/net/gstnettimeprovider.c:
11915         (gst_net_time_provider_thread):
11916         Stop reading commands when EOF as well.
11917
11918         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
11919         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
11920         * plugins/elements/gstidentity.c: (gst_identity_class_init):
11921         Unify description of the dump property.
11922
11923 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
11924
11925         * tests/examples/manual/.cvsignore:
11926         OK, so it's actually cvsignore that needs changing. Stop laughing.
11927
11928 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
11929
11930         * tests/examples/manual/Makefile.am:
11931         Gah, declare vars *before* using them
11932
11933 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
11934
11935         * gst/gst.c: (init_pre), (scan_and_update_registry),
11936         (ensure_current_registry_nonforking),
11937         (ensure_current_registry_forking), (ensure_current_registry),
11938         (init_post), (gst_debug_help), (gst_deinit):
11939         * gst/gst_private.h:
11940         * gst/gstregistry.c: (gst_registry_finalize),
11941         (gst_registry_remove_features_for_plugin_unlocked),
11942         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
11943         (gst_registry_scan_path),
11944         (_priv_gst_registry_remove_cache_plugins),
11945         (_priv_gst_registry_cleanup):
11946         * gst/gstregistry.h:
11947         Re-commit the registry changes, along with an extra fix:
11948           When a cached plugin is encountered at a different file path,
11949           update the stored path in the registry cache so that the parent
11950           process knows where it actually is now when it re-reads the registry
11951           cache. Fixes the thing that broke distcheck with the previous commit.
11952
11953         * tests/check/Makefile.am:
11954         Clean up files named 'core' too when running make clean.
11955
11956         * tests/examples/manual/Makefile.am:
11957         Set up a registry path for running these tests, and clean it properly
11958         for distcheck.
11959
11960 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
11961
11962         * configure.ac:
11963         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
11964         want gmodule-no-export-2.0.pc instead so that we don't drag in
11965         --export-dynamic on every project that links to GStreamer.
11966
11967         Also, make our export regex only match the start of symbols, rather 
11968         than any symbol that contains '_gst' somewhere.
11969
11970         * libs/gst/check/Makefile.am:
11971         The libgstcheck we build does however need export-dynamic, as it
11972         produces some symbols that don't match our _gst... style regex.
11973         Fixes: #318031
11974
11975 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
11976
11977         * gst/gst.c: (init_pre), (scan_and_update_registry),
11978         (ensure_current_registry_nonforking),
11979         (ensure_current_registry_forking), (ensure_current_registry),
11980         (init_post), (gst_debug_help), (gst_deinit):
11981         * gst/gst_private.h:
11982         * gst/gstregistry.c: (gst_registry_finalize),
11983         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
11984         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
11985         (_gst_registry_cleanup):
11986         * gst/gstregistry.h:
11987           Revert previous change until I figure out why it breaks distcheck.
11988
11989 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
11990
11991         * gst/gst.c: (init_pre), (scan_and_update_registry),
11992         (ensure_current_registry_nonforking),
11993         (ensure_current_registry_forking), (ensure_current_registry),
11994         (init_post), (gst_debug_help), (gst_deinit):
11995
11996           Make init_pre and init_post take the full complement of GOptionFunc
11997           args so they can return useful GErrors. Make the registry updating
11998           functions do so.
11999
12000           Call _priv_gst_registry_remove_cache_plugins after scanning files to
12001           ensure that the registry we're about to write out doesn't contain
12002           stale information about old-deleted plugin files.
12003
12004           Make _priv_gst_registry_remove_cache_plugins return a boolean so
12005           that deletion of plugin files is considered a registry change.
12006
12007         * gst/gst_private.h:
12008         * gst/gstregistry.c: (gst_registry_finalize),
12009         (gst_registry_remove_features_for_plugin_unlocked),
12010         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
12011         (gst_registry_scan_path),
12012         (_priv_gst_registry_remove_cache_plugins),
12013         (_priv_gst_registry_cleanup):
12014         * gst/gstregistry.h:
12015         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
12016         by adding _priv prefix, so that they won't appear in the global
12017         symbol table. They still do atm though because of #318031. Move the
12018         prototypes to gst_private.h
12019
12020         When removing a plugin, remove all features for that plugin too. 
12021         Fixes #340878.
12022
12023 2006-09-27  Wim Taymans  <wim@fluendo.com>
12024
12025         * docs/random/moving-plugins:
12026         Make it clear that the "compiled-in descriptions" really mean
12027         the element details.
12028
12029         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12030         (gst_base_sink_wait_preroll):
12031         Update docs.
12032
12033         * docs/libs/gstreamer-libs-sections.txt:
12034         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
12035         (gst_base_src_get_range), (gst_base_src_activate_push):
12036         * libs/gst/base/gstbasesrc.h:
12037         Added function to block while waiting for PLAYING, this function
12038         is used by live sources that block on the clock.
12039         API: gst_base_src_wait_playing()
12040
12041 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12042
12043         Patch by: Peter Kjellerstedt <pkj at axis com>
12044
12045         * Makefile.am:
12046           gst-element-check.m4 is generated and should therefore be
12047           copied from the build dir rather than the source dir (#357593).
12048           'make distcheck' hasn't noticed this because we were disting
12049           the file as well, so stop doing that.
12050
12051 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
12052
12053         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12054           Add some tests for gst_caps_intersect().
12055
12056         * tools/gst-launch.c: (event_loop):
12057           Print all buffering percentages we get, even the 100% one.
12058
12059 2006-09-26  Wim Taymans  <wim@fluendo.com>
12060
12061         * tools/gst-inspect.c: (print_element_properties_info),
12062         (print_signal_info):
12063         Fix printing of flags to match the look of enums.
12064
12065 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12066
12067         * gst/gstelementfactory.c:
12068           Fix typo in docs blurb.
12069
12070 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12071
12072         * gst/gsturi.c: (search_by_entry):
12073           Don't assert/crash here if a uri handler doesn't return any
12074           supported protocols. The list of protocols could be generated
12075           dynamically at runtime or at plugin registration, and an error
12076           in the underlying library shouldn't be fatal (#353301).
12077
12078 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12079
12080         * gst/gstinfo.c:
12081           Fix warning if HAVE_PRINTF_EXTENSION is undefined
12082           (spotted by Peter Kjellerstedt).
12083
12084 2006-09-23  Wim Taymans  <wim@fluendo.com>
12085
12086         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
12087
12088         * libs/gst/base/gstbasesrc.c:
12089         (gst_base_src_default_check_get_range), (gst_base_src_start),
12090         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12091         (gst_base_src_change_state):
12092         Match _start/_stop calls in the activate functions. Remove redundant
12093         _stop call from the state change function. Fixes #356910.
12094         Turn failure DEBUG into ERROR. 
12095
12096 2006-09-22  Wim Taymans  <wim@fluendo.com>
12097
12098         * docs/design/part-buffering.txt:
12099         * gst/gstmessage.c: (gst_message_new_buffering),
12100         (gst_message_parse_buffering):
12101         Update docs about buffering.
12102
12103         * docs/design/part-trickmodes.txt:
12104         Fix typo.
12105
12106 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
12107
12108         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12109         (gst_controller_new_list):
12110           Ref instances when returning them again (fixes #357180)
12111
12112 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12113
12114         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
12115           Don't forget to release proxy lock when there's an error.
12116
12117 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
12118
12119         * gst/gstcaps.h:
12120           Add extra initialisers for Caps things, to fix some plugin warnings
12121           when using -Wextra
12122
12123 2006-09-18  Wim Taymans  <wim@fluendo.com>
12124
12125         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
12126           Also set template on the internal pad so that a getcaps from the 
12127           target pad returns the template caps.
12128
12129 2006-09-18  Wim Taymans  <wim@fluendo.com>
12130
12131         * gst/gstelement.c: (gst_element_post_message),
12132         (gst_element_dispose):
12133         Use _DEBUG_OBJECT some more.
12134
12135         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12136         Avoid typechecks.
12137
12138         * tools/gst-launch.c: (main):
12139         If the toplevel element is not a GstPipeline, it must be put in a
12140         pipeline so that a bus and clock is selected.
12141
12142 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12143
12144         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
12145           JITTER, RATE, and LATENCY query should be handled by the
12146           default case and not by the CONVERT query code.
12147
12148 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12149
12150         * gst/gstformat.c: (gst_format_register):
12151           Fix locking order (must take lock before using n_values).
12152
12153         * gst/gstvalue.c: (gst_value_serialize_enum),
12154         (gst_value_deserialize_enum_iter_cmp),
12155         (gst_value_deserialize_enum):
12156           Fix serialisation/deserialisation of custom registered GstFormats.
12157
12158         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12159           Unit test for custom format serialisation/deserialisation.
12160
12161 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
12162
12163         * docs/pwg/building-boiler.xml:
12164         * plugins/elements/gstcapsfilter.c:
12165         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
12166         section.
12167
12168 2006-09-16  Edward Hervey  <edward@fluendo.com>
12169
12170         * libs/gst/base/gstbasetransform.c:
12171         (gst_base_transform_buffer_alloc):
12172         Check if requested caps are the same as the sinks caps IF
12173         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
12174         is FALSE.
12175         This fixes the renegotiation issues stated in #352827.
12176
12177 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12178
12179         * configure.ac:
12180         * docs/manual/advanced-autoplugging.xml:
12181         * tests/examples/Makefile.am:
12182         * tests/examples/manual/.cvsignore:
12183         * tests/examples/manual/Makefile.am:
12184         * tests/examples/manual/extract.pl:
12185           Extract the manual examples again like we used to do.
12186           Fix one of them.
12187
12188 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12189
12190         * win32/common/config.h:
12191           update for version
12192
12193 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
12194
12195         * gst/gsterror.c:
12196           Documents how to receive errors.
12197
12198 2006-09-15  Wim Taymans  <wim@fluendo.com>
12199
12200         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
12201         (event_loop), (main):
12202         Added some comments here and there.
12203         Post an application message when an interrupt is caught instead of doing
12204         an uncontrolled state change.
12205         Clean up the event loop.
12206         Handle buffering messages, pause/resume the pipeline.
12207         Make shutdown because of an interrupt more reliable.
12208
12209 2006-09-15  Wim Taymans  <wim@fluendo.com>
12210
12211         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12212         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
12213         (gst_base_sink_preroll_object):
12214         Make sure that our internal state is correct when we commit our state
12215         asynchronously. This solves a race where a state change to PLAYING
12216         could cause the sink to remain blocked in preroll in some situations.
12217
12218 2006-09-15  Wim Taymans  <wim@fluendo.com>
12219
12220         * tools/gst-inspect.c: (print_element_properties_info),
12221         (print_signal_info):
12222         List flags as hex so it's easier to deal with.
12223
12224 2006-09-15  Wim Taymans  <wim@fluendo.com>
12225
12226         * docs/libs/gstreamer-libs-sections.txt:
12227         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
12228         (gst_base_sink_do_sync):
12229         * libs/gst/base/gstbasesink.h:
12230         Expose logic to wait for preroll so that subclasses such as audiosink
12231         can also use this method.
12232         API: gst_base_sink_wait_preroll()
12233
12234 2006-09-15  Wim Taymans  <wim@fluendo.com>
12235
12236         * gst/gstobject.c: (gst_object_set_parent):
12237         * gst/gstpipeline.c: (do_pipeline_seek):
12238         Small cleanups in docs and code.
12239
12240         * gst/gstsegment.c: (gst_segment_clip):
12241         * tests/check/gst/gstsegment.c: (GST_START_TEST):
12242         if stop == start and start is in the segment, no clipping should be
12243         done. Also add a test for this.
12244
12245 2006-09-15  Wim Taymans  <wim@fluendo.com>
12246
12247         * docs/design/part-buffering.txt:
12248         * docs/gst/gstreamer-sections.txt:
12249         * gst/gstmessage.c: (gst_message_new_buffering),
12250         (gst_message_parse_buffering):
12251         * gst/gstmessage.h:
12252         Added methods to create and parse BUFFERING messages.
12253         Added preliminary docs about buffering.
12254         API: gst_message_new_buffering
12255         API: gst_message_parse_buffering
12256
12257 2006-09-06  Wim Taymans  <wim@fluendo.com>
12258
12259         * gst/gstbin.c:
12260         Update documentation.
12261
12262         * gst/gstelement.c: (gst_element_class_init),
12263         (gst_element_release_request_pad), (gst_element_set_clock),
12264         (gst_element_get_index), (gst_element_add_pad),
12265         (gst_element_remove_pad), (gst_element_get_random_pad),
12266         (gst_element_send_event), (gst_element_get_query_types),
12267         (gst_element_query), (gst_element_post_message),
12268         (gst_element_message_full), (gst_element_continue_state),
12269         (gst_element_lost_state), (gst_element_save_thyself),
12270         (gst_element_restore_thyself):
12271         Documentation updates.
12272         Rename last bit of the new-pad -> pad-added signal rename.
12273         Fix the case where an element query would only work if the source
12274         pad was linked.
12275         Avoid some useless type checking in message handling.
12276
12277         * gst/gstevent.c:
12278         * gst/gstevent.h:
12279         * gst/gstutils.c:
12280         Documentation updates.
12281
12282 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12283
12284         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
12285           add an INFO line for when we actually update the fd
12286
12287 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12288
12289         * configure.ac:
12290           back to TRUNK
12291
12292 === release 0.10.10 ===
12293
12294 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
12295
12296         * configure.ac:
12297           releasing 0.10.10, "Pais"
12298
12299 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
12300
12301         * docs/manual/advanced-position.xml:
12302           Fix typo in sample code.
12303
12304 2006-09-05  Wim Taymans  <wim@fluendo.com>
12305
12306         * libs/gst/net/gstnetclientclock.c: (inet_aton),
12307         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12308         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
12309         * libs/gst/net/gstnetclientclock.h:
12310         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12311         * libs/gst/net/gstnettimepacket.h:
12312         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
12313         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
12314         (gst_net_time_provider_thread), (gst_net_time_provider_new):
12315         * libs/gst/net/gstnettimeprovider.h:
12316         Make stuff compile on windows. Fixes #345295.
12317
12318 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12319
12320         * gst/gst.c: (ensure_current_registry_forking):
12321           Print better details when child was terminated by signal.
12322
12323 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12324
12325         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
12326           Print a warning rather than g_assert() if a plugin feature
12327           is a URI handler but returns no protocols (#353976).
12328
12329 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
12330
12331         * docs/random/moving-plugins:
12332         Fix two typos.         
12333
12334 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12335
12336         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
12337           Fix locking order, handle NULL function values properly.
12338
12339         * gst/gstinfo.h:
12340           Fix docs.
12341
12342         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
12343           Initialise variable before using it and fix debug statement to
12344           print the address of the function rather than the address of the
12345           variable on the stack holding the address of the function.
12346
12347 2006-09-01  Wim Taymans  <wim@fluendo.com>
12348
12349         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
12350         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
12351         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12352         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
12353         (gst_ghost_pad_parent_unset),
12354         (gst_ghost_pad_internal_do_activate_push),
12355         (gst_ghost_pad_internal_do_activate_pull),
12356         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12357         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12358         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12359         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
12360         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
12361         (gst_ghost_pad_new_no_target_from_template),
12362         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12363         More cleanups.
12364         Avoid needless typechecking in macros.
12365         Since the internal pad is always present and never changes, there is
12366         no need to locking or ref when retrieving it.
12367         Improve debugging a bit.
12368         Handle link errors when setting the target. Fixes #341029.
12369
12370 2006-09-01  Wim Taymans  <wim@fluendo.com>
12371
12372         * docs/libs/gstreamer-libs-sections.txt:
12373         * docs/plugins/gstreamer-plugins-sections.txt:
12374         Fix docs some more.
12375
12376         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12377         (gst_collect_pads_event):
12378         * libs/gst/base/gstcollectpads.h:
12379         Documentation updates.
12380         Free queued buffer when removing a pad.
12381
12382 2006-08-31  Michael Smith  <msmith@fluendo.com>
12383
12384         * gst/gstutils.c: (gst_element_link_pads),
12385         (gst_element_link_pads_filtered):
12386           Ensure that we set a capsfilter to NULL if we failed to link it
12387           when doing filtered linking, to avoid criticals.
12388
12389           No need to check for unreffing srcpad, which is explicly NULLed
12390           above (a trivial code cleanup).
12391
12392 2006-08-31  Wim Taymans  <wim@fluendo.com>
12393
12394         * docs/design/part-gstghostpad.txt:
12395         Update ascii art in documentation.
12396
12397         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
12398         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
12399         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12400         (gst_ghost_pad_internal_do_activate_push),
12401         (gst_ghost_pad_internal_do_activate_pull),
12402         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12403         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12404         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
12405         (gst_ghost_pad_set_target):
12406         Small cleanups and leak fixes.
12407         Remove some checks now that the internal pad is never NULL.
12408         Fix the case where linking pads without a target would create nasty
12409         criticals. Fixes #341029.
12410         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
12411         value of _set_target().
12412
12413         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12414         (gst_ghost_pad_suite):
12415         Some more tests for creating and linking untargeted ghostpads.
12416
12417 2006-08-31  Edward Hervey  <edward@fluendo.com>
12418
12419         * docs/gst/gstreamer-sections.txt:
12420         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
12421         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12422         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
12423         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
12424         (gst_ghost_pad_new_from_template),
12425         (gst_ghost_pad_new_no_target_from_template):
12426         * gst/gstghostpad.h:
12427         Refactored *_new() functions.
12428         Templates are now used as a g_object_new() parameter.
12429         Use template in _do_getcaps() if we don't have a target.
12430         Small documentation cleanups.
12431         Added two new constructors:
12432         gst_ghost_pad_new_from_template()
12433         gst_ghost_pad_new_no_target_from_template()
12434         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12435         (gst_ghost_pad_suite):
12436         Added tests for new ghostpad instanciation functions.
12437
12438         API additions: gst_ghost_pad_new_from_template,
12439         gst_ghost_pad_new_no_target_from_template
12440
12441 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
12442
12443         * docs/random/ensonic/profiling.txt:
12444           Ideas about qos profiling.
12445
12446 2006-08-29  Wim Taymans  <wim@fluendo.com>
12447
12448         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
12449         Code cleanups.
12450         Fix memleak.
12451
12452 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
12453
12454         * gst/gstxml.c:
12455           Improve and detypofy docs.
12456
12457         * tests/check/Makefile.am:
12458         * tests/check/gst/.cvsignore:
12459         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
12460           Add a basic test suite for GstXML.
12461
12462 2006-08-29  Wim Taymans  <wim@fluendo.com>
12463
12464         * gst/gstelement.c: (activate_pads), (clear_caps),
12465         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12466         Clear the pad caps when the element shut down all of the pads and
12467         is not streaming data that could modify the caps. 
12468         Fixes #352958.
12469
12470 2006-08-28  Michael Smith  <msmith@fluendo.com>
12471
12472         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12473           Revert previous change; I misunderstood single-segment mode.
12474
12475 2006-08-28  Michael Smith  <msmith@fluendo.com>
12476
12477         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12478           Unset DISCONT on buffers when using single-segment mode.
12479
12480 2006-08-28  Wim Taymans  <wim@fluendo.com>
12481
12482         * gst/gstcaps.c: (gst_caps_merge_structure):
12483         * gst/gstcaps.h:
12484         Fix docs and indentation again.
12485
12486         * tests/check/gst/gstquery.c: (GST_START_TEST):
12487         Fix leak in tests and add some more tests.
12488
12489 2006-08-28  Edward Hervey  <edward@fluendo.com>
12490
12491         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12492         Inform GstSegment of the last stop position in order for the current
12493         segment to have a proper duration if it doesn't have a specific stop
12494         position from which a duration could be calculated.
12495         This bug was noticeable when a non-flushing, non-update new segment was
12496         followed by another segment (all buffers from the new segment were being
12497         dropped).
12498
12499 2006-08-28  Wim Taymans  <wim@fluendo.com>
12500
12501         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12502         Small comment update.
12503
12504         * plugins/elements/gstidentity.c: (gst_identity_class_init),
12505         (gst_identity_transform_ip):
12506         Drop-probability is broken, mention this in the code with a 
12507         FIXME and also in the property description.
12508         Make silent also be silent about the drop messages.
12509
12510 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
12511
12512         * docs/manual/appendix-win32.xml:
12513           Remove mention of popt, we don't depend on that any
12514           longer (#353136). Add some comments pointing out that
12515           this section is slightly outdated.
12516
12517 2006-08-28  Wim Taymans  <wim@fluendo.com>
12518
12519         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12520
12521         * gst/gstquery.c: (gst_query_new_segment):
12522         * tests/check/gst/gstquery.c: (GST_START_TEST):
12523         Initialize variables when creating a new segment query.
12524         Fixes #353121.
12525
12526 2006-08-28  Wim Taymans  <wim@fluendo.com>
12527
12528         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12529
12530         * gst/gstelement.c: (gst_element_get_bus):
12531         * tests/check/gst/gstelement.c: (GST_START_TEST):
12532         Check for NULL before _reffing the bus. Fixes #353122.
12533
12534 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
12535
12536         * docs/manual/basics-bus.xml:
12537           Docs update: fix wrong callback return value explanation; add
12538           some lines about the implicit relationship between main loop
12539           and main context; remove duplicate main loop variable declaration.
12540
12541 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
12542
12543         * tests/check/gst/gstcaps.c: (GST_START_TEST):
12544           Don't leak caps in unit test; add a few more simple
12545           checks. 
12546
12547 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
12548
12549         * docs/gst/gstreamer-sections.txt:
12550         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
12551         (gst_caps_structure_is_subset), (gst_caps_merge),
12552         (gst_caps_merge_structure):
12553         * gst/gstcaps.h:
12554         * libs/gst/base/gstbasetransform.c:
12555         (gst_base_transform_transform_caps):
12556         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12557           implement caps merging (fixes #352580)
12558
12559 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
12560
12561         * tools/Makefile.am:
12562         * tools/gst-plot-timeline.py:
12563           add debug-log plotting developer tool (#340674)
12564
12565 2006-08-23  Wim Taymans  <wim@fluendo.com>
12566
12567         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
12568         (gst_pad_stop_task):
12569         Improve debugging for task functions.
12570
12571         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
12572         (gst_task_start), (gst_task_pause), (gst_task_join):
12573         Make sure that the task function started and finished after a 
12574         join(). 
12575         Don't try to push the task function on the threadpool multiple
12576         times.
12577         Improve the g_warning message with some useful suggestions
12578         about how to fix the problem. 
12579
12580 2006-08-23  Wim Taymans  <wim@fluendo.com>
12581
12582         * gst/gstutils.c: (gst_pad_proxy_getcaps):
12583         Handle RESYNC correctly in _proxy_getcaps.
12584
12585 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
12586
12587         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
12588         (gst_xml_parse_memory), (gst_xml_get_element):
12589           Chain up to parent class in dispose function and also
12590           unref the elements in the toplevel_elements GList.
12591           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
12592           Always return a reference in gst_xml_get_element() rather
12593           than only sometimes.
12594
12595         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12596           Don't leak GstXml object.
12597
12598 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
12599
12600         * docs/gst/gstreamer-sections.txt:
12601         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
12602         (gst_caps_merge):
12603         * gst/gstcaps.h:
12604         * libs/gst/base/gstbasetransform.c:
12605         (gst_base_transform_transform_caps):
12606           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
12607           in a better way
12608
12609 2006-08-21  Edward Hervey  <edward@fluendo.com>
12610
12611         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
12612         Implement GObject::dispose virtual method in GstXML so we can free the
12613         top_elements GList.
12614
12615 2006-08-21  Wim Taymans  <wim@fluendo.com>
12616
12617         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
12618         (gst_buffer_create_sub):
12619         Copy duration/offset_end/caps when creating a subbuffer of the
12620         complete parent.
12621         Make the subbuffer read-only when we make the metadata writable for
12622         now. Fixes #351768.
12623
12624         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12625         Added check for metadata copy when creating subbuffers.
12626
12627 2006-08-21  Edward Hervey  <edward@fluendo.com>
12628
12629         * libs/gst/base/gstbasetransform.c:
12630         (gst_base_transform_buffer_alloc):
12631         Only call downstream buffer_alloc if transform element is passthrough
12632         or always_in_place. Closes #350449.
12633
12634 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12635
12636         * ChangeLog:
12637           ChangeLog surgery to add comments to previous changes
12638
12639 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12640
12641         * gst/gst.c:
12642           Add comments
12643
12644         * gst/gstpad.c: (gst_pad_set_active):
12645           Be more verbose in the log
12646
12647         * libs/gst/base/gstbasetransform.c:
12648         (gst_base_transform_transform_caps):
12649           Simplify caps to get rid of duplicates, fixes #345444
12650
12651 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12652
12653         * gst/gstvalue.c:
12654         * gst/gstvalue.h:
12655           Use these optimizations only internally.
12656
12657 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12658
12659         * gst/gstvalue.c: (gst_value_compare_list),
12660         (gst_value_compare_fraction_range),
12661         (gst_value_intersect_fraction_fraction_range),
12662         (gst_value_intersect_fraction_range_fraction_range),
12663         (gst_value_subtract_fraction_fraction_range),
12664         (gst_value_subtract_fraction_range_fraction_range),
12665         (gst_value_get_compare_func), (gst_value_compare),
12666         (gst_value_compare_with_func):
12667         * gst/gstvalue.h:
12668           Saves the expensive lookup of the compare function in many cases
12669          (#345444)
12670
12671 2006-08-18  Edward Hervey  <edward@fluendo.com>
12672
12673         * tests/check/gst/gstinfo.c: (gst_info_suite):
12674         Disable test that require gstdebug if it wasn't built in core.
12675
12676 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
12677
12678         * docs/random/ensonic/logging.txt:
12679           update ideas
12680           
12681         * gst/gstinfo.c: (gst_debug_log_default):
12682           reorder fields, save some columns, add optional color codes for log
12683           levels
12684
12685 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
12686
12687         * docs/random/ensonic/logging.txt:
12688           add ideas about making the logs a bit more useful
12689
12690 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
12691
12692         * docs/pwg/advanced-events.xml:
12693         * docs/pwg/titlepage.xml:
12694           Update for 0.10 API (#340627). Add myself
12695           to authors list.
12696
12697 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
12698
12699         * docs/libs/gstreamer-libs-docs.sgml:
12700         * docs/libs/gstreamer-libs-sections.txt:
12701         * libs/gst/check/gstbufferstraw.c:
12702           Make gstcheck stuff show up in docs (still needs to
12703           be documented properly though).
12704
12705 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
12706
12707         * docs/gst/gstreamer-sections.txt:
12708         * gst/Makefile.am:
12709         * gst/gst.c: (init_post):
12710         * gst/gst_private.h:
12711         * gst/gstquark.c: (_priv_gst_quarks_initialize):
12712         * gst/gstquark.h:
12713         * gst/gstquery.c: (gst_query_new_position),
12714         (gst_query_set_position), (gst_query_parse_position),
12715         (gst_query_new_duration), (gst_query_set_duration),
12716         (gst_query_parse_duration), (gst_query_new_convert),
12717         (gst_query_set_convert), (gst_query_parse_convert),
12718         (gst_query_new_segment), (gst_query_set_segment),
12719         (gst_query_parse_segment), (gst_query_new_seeking),
12720         (gst_query_set_seeking), (gst_query_parse_seeking):
12721         Add internal helpers for pre-registering quarks from static strings
12722         and using the quark values directly instead of looking them up when
12723         creating and parsing queries. Can be used for event construction too.
12724         Closes #350432.
12725
12726 2006-08-16  Wim Taymans  <wim@fluendo.com>
12727
12728         * gst/gstbin.c:
12729         Fix bogus docs.
12730
12731 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12732
12733         * gst/gstutils.c: (gst_util_set_value_from_string):
12734           Fix memleak (#351502).
12735
12736         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12737           Add unit test for most of gst_util_set_value_from_string()
12738           (not that one would want to encourage use of this function).
12739
12740 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12741
12742         * libs/gst/check/gstcheck.h:
12743           Use const gchar * variables in fail_unless_equals_string
12744           macro to avoid compiler warnings (and don't use tabs for
12745           indenting).
12746
12747 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12748
12749         * tools/gst-launch.c: (print_tag):
12750           More space on the left for the tag names, to cater
12751           for the 'extended comment' tag (not touching the
12752           string for the first line since it's translated).
12753
12754 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12755
12756         * libs/gst/check/gstcheck.h:
12757           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
12758           print something when they fail.
12759
12760 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
12761
12762         * docs/gst/gstreamer-sections.txt:
12763         * gst/gsttaglist.c: (_gst_tag_initialize):
12764         * gst/gsttaglist.h:
12765           API: add GST_TAG_EXTENDED_COMMENT (#350935).
12766           Also change merge function for GST_TAG_COMMENT to
12767           use_first.
12768
12769 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
12770
12771         * gst/gstinfo.c: (gst_debug_print_object):
12772           Make GST_PTR_FORMAT print messages as well.
12773
12774         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
12775         (GST_START_TEST), (gst_info_suite):
12776           More tests.
12777
12778 2006-08-14  Edward Hervey  <edward@fluendo.com>
12779
12780         * gst/gstelementfactory.c: (gst_element_register):
12781         If the GstElementClass doesn't have a GstElementDetails with all fields
12782         filled up correctly (longname, description AND author), then error out
12783         nicely instead of crashing.
12784
12785 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
12786
12787         * gst/gststructure.c:
12788           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
12789
12790         * gst/gstvalue.h:
12791           Expand on the difference between arrays and lists as we use them.
12792           
12793 2006-08-14  Wim Taymans  <wim@fluendo.com>
12794
12795         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
12796         If the parent state change function failed, don't assume we can safely
12797         stop the source, this will be done when the pads are deactivated.
12798
12799 2006-08-14  Wim Taymans  <wim@fluendo.com>
12800
12801         * gst/gstbuffer.c:
12802         * gst/gsttask.c: (gst_task_join):
12803         Small doc updates.
12804
12805         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
12806         (gst_pad_stop_task):
12807         When pad (de)activation failed for some reason, restore the old
12808         activation mode and set the pad to flushing instead of assuming the
12809         pad is deactivated.
12810         If the _task_join() failed, reinstall the task on the pad so that it can
12811         be stopped later and return an error.
12812
12813 2006-08-11  Andy Wingo  <wingo@pobox.com>
12814
12815         * configure.ac:
12816         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
12817         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
12818         is only for users of API that don't want to see deprecated
12819         functions in the headers; people that want to compile out
12820         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
12821         CFLAGS. Fixes the build of multifdsink, or will soon..
12822
12823 2006-08-11  Wim Taymans  <wim@fluendo.com>
12824
12825         * docs/gst/gstreamer-sections.txt:
12826         Add GstClockClass vmethod docs.
12827
12828         * gst/gstcaps.h:
12829         Mark #endif with comment for associated #if
12830
12831         * gst/gstclock.c: (gst_clock_id_wait):
12832         * gst/gstclock.h:
12833         Add vmethod wait_jitter to avoid an unneeded _get_time() for
12834         most clock implementations.
12835         Document vmethods.
12836         Flesh out docs about resolution methods.
12837         API: GstClockClass::wait_jitter
12838
12839         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12840         (gst_system_clock_async_thread),
12841         (gst_system_clock_id_wait_jitter_unlocked),
12842         (gst_system_clock_id_wait_jitter):
12843         Use base class wait_jitter variant for improved performance
12844         due to less clock polling.
12845
12846 2006-08-11  Edward Hervey  <edward@fluendo.com>
12847
12848         * gst/gst.c: (gst_init_check), (init_post):
12849         Set gst as being initialized before scanning/updating the registry,
12850         since there might be my python plugin loader that calls gst_init() and
12851         we don't want to loop back in.
12852         Closes #350879
12853
12854 2006-08-11  Wim Taymans  <wim@fluendo.com>
12855
12856         * docs/design/part-qos.txt:
12857         Bring docs in line with the code. Mostly the sign of the jitter was
12858         wrong in the docs. Fixes #349943.
12859
12860         * gst/gstclock.c:
12861         Fix the docs for the jitter.
12862
12863         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
12864         (gst_event_parse_tag), (gst_event_new_buffer_size),
12865         (gst_event_parse_buffer_size), (gst_event_parse_qos),
12866         (gst_event_new_seek), (gst_event_parse_seek),
12867         (gst_event_new_navigation):
12868         Make sure the GstStructure has no parent when creating custom
12869         events.
12870         Add some more argument checking so that we avoid 0.0 rates.
12871         Flesh out the docs for the QoS event some more.
12872
12873 2006-08-11  Wim Taymans  <wim@fluendo.com>
12874
12875         * docs/gst/gstreamer-sections.txt:
12876         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
12877         (ensure_current_registry_forking), (ensure_current_registry),
12878         (parse_one_option), (parse_goption_arg), (gst_deinit),
12879         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
12880         * gst/gst.h:
12881         Doc updates.
12882         Added API and command line option to disable registry forking in
12883         addition to the environment variable.
12884         Constify some static arrays.
12885         Added some more debug.
12886         Don't deinit twice.
12887         API: gst_registry_fork_is_enabled()
12888         API: gst_registry_fork_set_enabled()
12889         API: --gst-disable-registry-fork command line option
12890         Fixes #348918.
12891
12892 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
12893
12894         * gst/gst.c: (gst_init):
12895           Fix typo in error message.
12896
12897 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
12898
12899         * libs/gst/controller/gstcontroller.h:
12900           fix ABI size-correction
12901
12902         * tests/check/libs/gdp.c: (gst_dp_suite):
12903           make tests that use deprecated API conditional
12904
12905 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
12906
12907         * docs/libs/gstreamer-libs-sections.txt:
12908         * libs/gst/controller/gstcontroller.c:
12909         (_gst_controller_get_property), (_gst_controller_set_property),
12910         (_gst_controller_init), (_gst_controller_class_init):
12911         * libs/gst/controller/gstcontroller.h:
12912         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
12913         (gst_object_set_control_rate):
12914           API: add gst_object_{s,g}et_control_rate(), add private data section,
12915           fix docs
12916
12917         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
12918         * libs/gst/dataprotocol/dataprotocol.h:
12919           add deprecation guards to make gtk-doc happy and allow disabling cruft
12920
12921 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
12922
12923         * tests/check/Makefile.am:
12924         * tests/check/gst/.cvsignore:
12925           Let's enable the new unit test as well.
12926
12927 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12928
12929         * configure.ac:
12930         * docs/gst/gstreamer-sections.txt:
12931         * gst/gstconfig.h.in:
12932         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
12933         (_gst_info_printf_extension_ptr),
12934         (_gst_info_printf_extension_segment):
12935           API: add GST_SEGMENT_FORMAT, which is a printf extension we
12936           register that lets us easily dump GstSegments into debug
12937           logs (#350419).
12938
12939         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
12940         (info_segment_format_printf_extension), (gst_info_suite):
12941           Add simple unit test that logs a bunch of different segments (not
12942           valgrinded at the moment because of leaks in
12943           gst_debug_add_log_function).
12944
12945 2006-08-09  Edward Hervey  <edward@fluendo.com>
12946
12947         * libs/gst/base/gstbasetransform.c:
12948         (gst_base_transform_buffer_alloc):
12949         Even if we can't figure out the proper format to request downstream,
12950         call buffer_alloc() downstream with the input parameters without setting
12951         the caps on the srcpad. This will force negotiation in the chain
12952         function.
12953         Closes #350449
12954
12955 2006-08-08  Edward Hervey  <edward@fluendo.com>
12956
12957         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
12958         Unlinking from a pad without a target is now a perfectly valid case
12959         which should NOT raise an assertion.
12960         This case would happen if a linked ghostpad its target set to NULL after
12961         it was previously linked.
12962
12963 2006-08-08  Edward Hervey  <edward@fluendo.com>
12964
12965         * tests/check/libs/gdp.c:
12966         Also comment out the test (see below).
12967
12968 2006-08-08  Edward Hervey  <edward@fluendo.com>
12969
12970         * tests/check/libs/gdp.c: (gst_dp_suite):
12971         Use the architecture information from config.h and not gcc macros
12972         in order to properly disable a test that fails on PPC64.
12973
12974 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
12975
12976         * gst/gstelement.c: (gst_element_remove_pad):
12977           Don't crash printing the warning if the pad has no parent.
12978
12979 2006-08-02  Wim Taymans  <wim@fluendo.com>
12980
12981         * libs/gst/dataprotocol/dataprotocol.c:
12982         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
12983         (gst_dp_crc), (gst_dp_header_payload_length),
12984         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
12985         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
12986         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
12987         (gst_dp_event_from_packet), (gst_dp_validate_header),
12988         (gst_dp_validate_payload):
12989         Make debug category static
12990         Constify the crc table.
12991         Do some more arg checking in public functions.
12992         Fix some docs and do some small cleanups.
12993
12994         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
12995         Add some more checks to see if GDP deals with bogus input.
12996
12997 2006-07-31  Wim Taymans  <wim@fluendo.com>
12998
12999         * gst/gstvalue.c: (gst_value_compare_list):
13000         Fix GstValueList comparison code. Fixes #347293.
13001
13002         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13003         Check to test GstValueList comparison.
13004
13005 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13006
13007         * gst/gstelementfactory.c: (gst_element_factory_create):
13008         Remove unnecessary ref/unref pair
13009
13010         * gst/parse/grammar.y:
13011         Make sure to free the parse buffer on all code paths.
13012         Move a g_free up to the error handler where it's easier to see.
13013
13014         * tests/check/gst/gstevent.c: (test_event):
13015         Extending timeout for downstream travelling events to 10 seconds to
13016         hopefully avoid intermittent failure on the buildbots.
13017
13018         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
13019         Don't manually set the state of the src element - it will happen as a
13020         natural consequence of the pipeline changing state, and that way it
13021         will do it in the right order too.
13022
13023 2006-07-31  Wim Taymans  <wim@fluendo.com>
13024
13025         * libs/gst/base/gstbasetransform.c:
13026         (gst_base_transform_buffer_alloc):
13027         Use OBJECT_LOCK and refcounting to get the pad caps in the
13028         buffer_alloc function because the caps could change while we are
13029         busy with them. Fixes #349105
13030
13031 2006-07-31  Wim Taymans  <wim@fluendo.com>
13032
13033         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
13034         Protect _PAD_CAPS with OBJECT_LOCK.
13035
13036 2006-07-31  Wim Taymans  <wim@fluendo.com>
13037
13038         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
13039         (gst_pad_get_property), (gst_pad_activate_pull),
13040         (gst_pad_activate_push), (gst_pad_set_blocked_async),
13041         (gst_pad_set_activate_function),
13042         (gst_pad_set_activatepull_function),
13043         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
13044         (gst_pad_set_getrange_function),
13045         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
13046         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
13047         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
13048         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
13049         (gst_pad_set_acceptcaps_function),
13050         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
13051         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
13052         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
13053         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
13054         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
13055         (gst_pad_configure_sink), (gst_pad_configure_src),
13056         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
13057         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
13058         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
13059         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
13060         (gst_pad_send_event):
13061         Use _DEBUG_OBJECT when it makes sense.
13062         Protect GST_PAD_CAPS with the OBJECT_LOCK.
13063         Small cleanups and code reflows.
13064         Avoid caps refcounting in _accept_caps.
13065         Refactor alloc_buffer so that the code performed on the peer is in a
13066         separate function. Also if the pad does not implement a buffer alloc
13067         function, we should still check if the pad is flushing before falling
13068         back to the default allocator.
13069
13070 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13071
13072         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13073         Make all uses of identity and fakesink have silent=true to avoid
13074         serialising every passing data structure, which is breaking tests
13075         on FC4 for some unknown reason.
13076
13077 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13078
13079         * gst/parse/Makefile.am:
13080         * gst/parse/grammar.y:
13081         * gst/parse/parse.l:
13082           Reverted previous patch as it required to bump the flex dependency to
13083           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
13084
13085 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13086
13087         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
13088
13089         * gst/parse/Makefile.am:
13090         * gst/parse/grammar.y:
13091         * gst/parse/parse.l:
13092           push & pop the state of the lexer for reentrant use case
13093           Fixes #349180
13094
13095 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
13096
13097         * libs/gst/base/gstbasesrc.h:
13098           Note in the docs that the ::newsegment vfunc is not actually used by
13099           GstBaseSrc.
13100
13101 2006-07-28  Wim Taymans  <wim@fluendo.com>
13102
13103         * libs/gst/base/gstcollectpads.c:
13104         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
13105         (gst_collect_pads_clear), (gst_collect_pads_flush),
13106         (gst_collect_pads_event), (gst_collect_pads_chain):
13107         When flushing a pad, also clear the queued buffer so that we don't
13108         accidentally use it when we shouldn't.
13109         Fix leaks by inreffing incomming buffer.
13110         Flush out queued buffers in case of errors.
13111         Fixes #347452.
13112
13113 2006-07-28  Wim Taymans  <wim@fluendo.com>
13114
13115         * docs/random/phonon-gst:
13116         Random notes about a Phonon backend.
13117
13118 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13119
13120         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13121         Extra debug output
13122         * tests/check/libs/gdp.c: (gst_dp_suite):
13123         Take a whack at fixing the ppc compile using a different define to
13124         disable the broken test.
13125
13126         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13127         Remove excess g_print()
13128
13129 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13130
13131         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13132         Oops, meant to uncomment this line too to dampen the noise a bit.
13133
13134 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13135
13136         * gst/parse/grammar.y:
13137         * gst/parse/parse.l:
13138         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13139         (GST_START_TEST), (parse_suite):
13140         Fix some of the leaks exposed by extending the parse-launch testsuite,
13141         and move the 3 I can't figure out into a separate test that won't run
13142         the pipelines unless the appropriate line is uncommented.
13143
13144 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13145
13146         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13147           Requesting 0 bytes before the end of the file should result in
13148           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
13149           unit test.
13150
13151 2006-07-27  Wim Taymans  <wim@fluendo.com>
13152
13153         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
13154         Fix useless assert, a uint is always positive.
13155
13156         * gst/gststructure.c: (gst_structure_nth_field_name),
13157         (gst_structure_foreach), (gst_structure_map_in_place):
13158         Check input arguments for public functions to avoid obvious crashes.
13159
13160         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
13161         * plugins/elements/gstfakesink.h:
13162         Do less useless typechecking.
13163
13164 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13165
13166         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13167           Do not use mmap() by default since there are a number of error
13168           conditions that we would like to handle in a non-fatal way that
13169           will result in a SIGBUS if we use mmap(). Examples: external
13170           devices (USB harddrive, portable music player) being unplugged
13171           while in use; file on mounted CD/DVD that can't be read because
13172           the medium is partly damaged. Fixes #348455 and #348475.
13173
13174 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13175
13176         * gst/gstquery.h:
13177         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
13178         rates are a gdouble
13179
13180 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
13181
13182         * gst/gstregistry.c:
13183           Move big documentation comment into class section header, so that it
13184           appears in the API docs.
13185
13186 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13187
13188         * docs/gst/gstreamer-sections.txt:
13189         Oops. Commit the docs additions too for new API.
13190         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
13191
13192 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13193
13194         * gst/gststructure.c: (gst_structure_id_set),
13195         (gst_structure_id_set_valist):
13196         * gst/gststructure.h:
13197         Add API for setting values into structures without performing
13198         a quark lookup, if the appropriate quark is already known.
13199
13200         API: gst_structure_id_set
13201         API: gst_structure_id_set_valist
13202
13203         * gst/parse/grammar.y:
13204         * gst/parse/parse.l:
13205         Remove some dead code shown by the coverage information.
13206         Don't throw a critical g_warning when encountering a syntax error,
13207         just warn and let the normal error path handle it.
13208
13209         * plugins/elements/gstelements.c:
13210         Bump the rank of filesink up to PRIMARY so that it is preferred over
13211         gnomevfssink for file:// sink uri's
13212
13213         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13214         (GST_START_TEST), (run_delayed_test),
13215         (gst_parse_test_element_base_init),
13216         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
13217         (gst_parse_test_element_change_state),
13218         (gst_register_parse_element), (parse_suite):
13219         Beef up the tests for parse syntax to check that more error cases
13220         fail as they are supposed to. Increases the test coverage a bit.
13221
13222 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
13223
13224         * docs/manual/basics-elements.xml:
13225           Fix gst_element_link() example.
13226
13227         * gst/gstutils.c:
13228           Mention in API docs that one should usually gst_bin_add()
13229           elements to a bin or pipeline before doing the linking.
13230           
13231 2006-07-26  Wim Taymans  <wim@fluendo.com>
13232
13233         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13234         (gst_subbuffer_get_type), (gst_buffer_create_sub):
13235         Avoid function call for known types by keeping the buffer and
13236         subbuffer GType global.
13237
13238         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13239         Random silly optimisations in read() path.
13240
13241 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13242
13243         * tools/gst-launch.c: (main):
13244           If the top-level of the parse is a normal bin, it doesn't do the
13245           right logic to run as a top-level element, so place it inside a
13246           pipeline.
13247
13248 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
13249
13250         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
13251           Remove superfluous g_object_notify() calls, GObject does
13252           that for us automatically.
13253
13254 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
13255
13256         * gst/gstinfo.h:
13257           on Win32, use dllspec to export the debug category symbols
13258
13259 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
13260
13261         * gst/gsttaglist.c: (_gst_tag_initialize):
13262           Allow more than one GST_TAG_IMAGE per taglist.
13263
13264 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13265
13266         * gst/gstminiobject.c:
13267           update docs
13268         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
13269         (gst_fd_src_create):
13270           log recurring events at LOG level
13271           add more debug for when the fd gets set
13272
13273 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13274
13275         * gst/gstparse.c: (gst_parse_launch):
13276           Also remove reentrance checks if flex is MT safe (#348179)
13277          Fix my empty ChangeLog entry below
13278
13279 2006-07-21  Andy Wingo  <wingo@pobox.com>
13280
13281         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
13282
13283         * libs/gst/check/Makefile.am
13284         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
13285         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
13286         * libs/gst/check/gstbufferstraw.h:
13287         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
13288         functions, thus proving I am still a GStreamer haxor. OK I wrote
13289         them a long time ago, but anyways.
13290
13291 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13292
13293         * configure.ac:
13294         * gst/gstparse.c: (gst_parse_launch):
13295           Check for flex version and omit mutex if we have a MT save flex
13296           (fixes #348179)
13297
13298 2006-07-21  Wim Taymans  <wim@fluendo.com>
13299
13300         * gst/gstparse.c: (gst_parse_launch):
13301         Protect recursive calls to _parse with a recursive mutex
13302         and busy flag.
13303
13304 2006-07-21  Wim Taymans  <wim@fluendo.com>
13305
13306         * tests/check/gst/gstpad.c: (GST_START_TEST):
13307         Fix leak in test.
13308
13309 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
13310
13311         * gst/gstparse.c: (gst_parse_launch):
13312           Do not hang on recursive usage of gst_parse_launch()
13313
13314 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13315
13316         * gst/gsttaglist.c:
13317           Add some more docs, comments and FIXME 0.11s here and there
13318           and also fix some typos.
13319
13320 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13321
13322         * gst/gstsegment.h:
13323           Convert tabs to spaces for better readability. 
13324
13325 2006-07-20  Edward Hervey  <edward@fluendo.com>
13326
13327         * tests/check/libs/gdp.c: (gst_dp_suite):
13328         the test_buffer test fails at line 140 on ppc64 at the following
13329         check:
13330         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
13331                 GST_BUFFER_FLAG_IN_CAPS),
13332                 "GST_BUFFER_IN_CAPS flag should have been copied !");
13333         See bug #348114 for more details.
13334
13335 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
13336
13337         * docs/pwg/advanced-scheduling.xml:
13338         * gst/gstpad.c:
13339           Fix typos (#348000).
13340
13341 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
13342
13343         * docs/pwg/intro-basics.xml:
13344           Fix wrong links (#347927).
13345
13346 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
13347
13348         * gst/gstregistry.h:
13349         * gst/gstregistryxml.c: (load_feature),
13350         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
13351         * win32/common/config.h:
13352           make --disable-index work (#342564)
13353
13354 2006-07-18  Wim Taymans  <wim@fluendo.com>
13355
13356         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13357
13358         * gst/Makefile.am:
13359         * gst/gsttrace.h:
13360         The attached patch adds two missing defines to gsttrace.h when tracing
13361         is disabled.  It also corrects one existing define.
13362         Fixes #347756.
13363
13364 2006-07-17  Wim Taymans  <wim@fluendo.com>
13365
13366         * docs/gst/gstreamer-sections.txt:
13367         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
13368         * gst/gst.h:
13369         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
13370         Add two functions to check and change the SIGSEGV behaviour
13371         when loading plugins.
13372         Don't mess with the SIGSEGV handler when we were told not to.
13373         Fixes #347794.
13374         API: gst_segtrap_is_enabled
13375         API: gst_segtrap_set_enabled
13376
13377 2006-07-14  Wim Taymans  <wim@fluendo.com>
13378
13379         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13380         * tests/check/elements/filesrc.c: (GST_START_TEST):
13381         Revert fix for regression in #347408 after release.
13382
13383 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
13384
13385         Patch by: Antoine Tremblay <hexa00 at gmail com>
13386
13387         * gst/gstutils.c: (gst_element_unlink):
13388           Free iterator when done (#347311).
13389
13390         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13391           And add a test case for this.
13392
13393 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
13394
13395         * configure.ac:
13396         Bump nano back to CVS
13397
13398 === release 0.10.9 ===
13399
13400 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
13401
13402         * configure.ac:
13403           releasing 0.10.9, "On the road again"
13404
13405 2006-07-13  Wim Taymans  <wim@fluendo.com>
13406
13407         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13408         * tests/check/elements/filesrc.c: (GST_START_TEST):
13409         Revert pull-0 fix for release. Disable check. Fixes #347408.
13410
13411 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13412
13413         * libs/gst/dataprotocol/dataprotocol.c:
13414         (gst_dp_event_from_packet_1_0):
13415           Fixes #347337: failure to deserialize event packets with
13416           empty payload (only event type)
13417
13418 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13419
13420         * gst/Makefile.am:
13421           do not install a .c file in the header directory
13422
13423 2006-07-13  Edward Hervey  <edward@fluendo.com>
13424
13425         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13426         GhostPad no longer implicitely use the padtemplates of the targets.
13427         Fixes #347384
13428
13429 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
13430
13431         * gst/gstvalue.c: (gst_value_compare_list),
13432         (gst_value_compare_array), (_gst_value_initialize):
13433         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13434         Make GstValueArray comparison be order dependent as designed.
13435         Add checks for value lists and value array comparisons.
13436         Fixes #347221
13437
13438 2006-07-11  Edward Hervey  <edward@fluendo.com>
13439
13440         * gst/gstbin.c: (activate_pads),
13441         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13442         (gst_bin_change_state_func):
13443         (de)activate src pads before calling state_change on the childs.
13444         This is to avoid the case where a src ghostpad is blocked (holding the
13445         stream lock), which would block the deactivation of the ghostpad's
13446         target pad.
13447         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
13448         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
13449         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
13450         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13451         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13452         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13453         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
13454         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
13455         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
13456         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
13457         (gst_ghost_pad_class_init),
13458         (gst_ghost_pad_internal_do_activate_push),
13459         (gst_ghost_pad_internal_do_activate_pull),
13460         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
13461         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13462         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
13463         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
13464         GhostPads now create their internal GstProxyPad at creation (and not
13465         when they're linked, as it was being done previously).
13466         The internal and target pads are linked straight away.
13467         The data will also travel through the other pad in order to make
13468         pad blocking and probes non-hackish (the probe/block now really happens
13469         on the GhostPad and not on the target).
13470         * gst/gstpad.c: (gst_pad_set_blocked_async),
13471         (gst_pad_link_prepare), (gst_pad_push_event):
13472         Remove previous ghostpad cruft.
13473         * gst/gstutils.c: (gst_pad_add_data_probe),
13474         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13475         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13476         (gst_pad_remove_buffer_probe):
13477         Remove previous ghost pad cruft.
13478         Added more detailed debug statements.
13479         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13480         Fix the testsuite for refcounting changes.
13481         The comments about who has references were correct, but the refcount
13482         being checked wasn't the same (!?!).
13483
13484         Fixes #341029
13485
13486 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13487
13488         * docs/gst/gstreamer-sections.txt:
13489         * gst/gstconfig.h.in:
13490         More docs for configuration options, add docs to gtk-doc.
13491
13492 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13493
13494         * gst/Makefile.am:
13495         * gst/gstconfig.h.in:
13496         * win32/common/config.h:
13497         Fix build when disabling tracing (fixes #344016). Also start to document
13498         the defines that disable the sub-systems.
13499
13500 2006-07-10  Edward Hervey  <edward@fluendo.com>
13501
13502         * gst/gst.c: (ensure_current_registry_forking):
13503         let's make valgrind happy...
13504
13505 2006-07-09  Wim Taymans  <wim@fluendo.com>
13506
13507         * gst/gstelement.c: (activate_pads),
13508         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13509         Better pad activation code: Reset the collect value too on resync.
13510         Add some comments.
13511
13512 2006-07-09  Wim Taymans  <wim@fluendo.com>
13513
13514         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
13515         (gst_pad_activate_push):
13516         Use some more macros where it makes sense.
13517         Allow pad mode switching instead of asserting. When a pad
13518         is activated in one mode and we activate it in another, 
13519         deactivate it first before activating it in a different mode.
13520         Fixes #329198.
13521
13522 2006-07-08  Andy Wingo  <wingo@pobox.com>
13523
13524         * tools/gst-launch.c (main): Handle err == NULL.
13525
13526         * gst/gst.c (init_post, ensure_current_registry)
13527         (ensure_current_registry_forking)
13528         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
13529         factoring out the registry scanning into separate functions. Don't
13530         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
13531         Better environment var name/interface suggestions accepted.
13532
13533 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13534
13535         * gst/gstobject.c: (gst_object_set_name_default),
13536         (gst_object_set_name):
13537           Random micro-optimisation: don't use a hash table
13538           with strings as keys and the usual strdup/strcmp
13539           involved, but rather just use the GQuark of the
13540           type name as key, since it needs to be looked up
13541           anyway to get the type name string.
13542
13543         * tests/check/gst/gstobject.c: (GST_START_TEST):
13544           Fix various leaks.
13545
13546 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13547
13548         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
13549         (gst_bin_iterate_all_by_interface):
13550           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
13551           GTypes are gulongs and thus the top 4 bytes might be cut
13552           off on some platforms when doing GPOINTER_TO_INT, leading
13553           to invalid GTypes and bad things happening (see RH bug #179654).
13554           Also add a check to make sure the type passed in is really
13555           an interface type.
13556
13557 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13558
13559         * .cvsignore:
13560           Ignore more.
13561
13562 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13563
13564         * Makefile.am:
13565         * configure.ac:
13566         * gst-element-check.m4:
13567         * gst-element-check.m4.in:
13568           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
13569           instead of the unversioned gst-inspect (#324176, #168659).
13570
13571 2006-07-06  Wim Taymans  <wim@fluendo.com>
13572
13573         * gst/gstmessage.h:
13574         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
13575         warnings.
13576
13577 2006-07-06  Wim Taymans  <wim@fluendo.com>
13578
13579         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13580         (gst_base_src_wait), (gst_base_src_update_length),
13581         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
13582         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
13583         (gst_base_src_loop), (gst_base_src_start),
13584         (gst_base_src_activate_pull):
13585         Update docs.
13586         blocksize == 0 now means the default blocksize when working in push
13587         based mode.
13588         Remove some pointless asserts in _wait function.
13589         Fix offset/length calculations and EOS handling. We can now pull 0
13590         bytes as well, which is allowed.
13591         use _check_get_range() to decide if we can operate in _pull based
13592         mode.
13593         Fix refcounting leak when check_get_range function was not 
13594         implemented.
13595         API GstBaseSrc::blocksize range can be 0 too now (default)
13596
13597         * tests/check/elements/filesrc.c: (GST_START_TEST),
13598         (filesrc_suite):
13599         Added check to test _get_range() behaviour.
13600
13601 2006-07-06  Wim Taymans  <wim@fluendo.com>
13602
13603         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
13604         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
13605         (gst_pad_pull_range):
13606         * gst/gstpad.h:
13607         Lots of comments and docs added to the pad functions.
13608         Flesh out the expected behaviour of the get_range() functions.
13609
13610 2006-07-06  Wim Taymans  <wim@fluendo.com>
13611
13612         * gst/gstbus.h:
13613         * gst/gstclock.h:
13614         * gst/gstevent.h:
13615         * gst/gstiterator.h:
13616         * gst/gstpad.h:
13617         * gst/gstplugin.h:
13618         * gst/gsttask.h:
13619         Remove comma at end of enumerator list. 
13620
13621 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
13622
13623         * win32/common/libgstbase.def:
13624         * win32/common/libgstdataprotocol.def:
13625         * win32/common/libsgtreamer.def:
13626         Add new exported functions.
13627
13628 2006-07-05  Wim Taymans  <wim@fluendo.com>
13629
13630         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
13631         Add some more docs here and there.
13632
13633 2006-07-05  Wim Taymans  <wim@fluendo.com>
13634
13635         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
13636         (gst_base_sink_loop), (gst_base_sink_get_position):
13637         When operating in pull mode update the offset so that we
13638         read sequentially.
13639
13640 2006-07-05  Wim Taymans  <wim@fluendo.com>
13641
13642         * gst/gstregistryxml.c: (read_string):
13643         Avoid strdup. (will happen in libxml, but hey!)
13644
13645         * gst/gsturi.c:
13646         Add some more docs.
13647
13648 2006-07-05  Wim Taymans  <wim@fluendo.com>
13649
13650         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
13651         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
13652         (gst_buffer_suite):
13653         No point in checking if the size of the subbuffer > 0, the
13654         code handles it correclty as demonstrated by unit test.
13655         Also add a unit test for the zero sized _new_and_alloc and
13656         _copy. Fixes #346663.
13657
13658 2006-07-05  Wim Taymans  <wim@fluendo.com>
13659
13660         * libs/gst/base/gstbasetransform.c:
13661         (gst_base_transform_prepare_output_buffer),
13662         (gst_base_transform_buffer_alloc),
13663         (gst_base_transform_handle_buffer):
13664         Make sure the buffer we pass to transform_ip has a refcount of
13665         1 and thus is writable. Fixes #343196
13666
13667 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
13668
13669         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
13670         (gst_file_src_init), (gst_file_src_set_property),
13671         (gst_file_src_get_property), (gst_file_src_map_region):
13672         * plugins/elements/gstfilesrc.h:
13673         Add "sequential" property, off by default, to use madvise and hint
13674         to the kernel that sequential access is desired.
13675         Touch all retrieved pages by default to ensure they are pulled
13676         into memory. (Closes #345720)
13677
13678 2006-07-03  Wim Taymans  <wim@fluendo.com>
13679
13680         * docs/design/part-block.txt:
13681         * docs/design/part-dynamic.txt:
13682         Small docs updates.
13683
13684 2006-07-03  Wim Taymans  <wim@fluendo.com>
13685
13686         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
13687         (gst_caps_unref), (gst_static_caps_get),
13688         (gst_caps_append_structure):
13689         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
13690         Use GSlice when the glib we build against is >= 2.10
13691
13692 2006-07-03  Wim Taymans  <wim@fluendo.com>
13693
13694         * gst/gstelement.c: (gst_element_pads_activate):
13695         Small cleanup in pad activation code.
13696
13697 2006-07-03  Wim Taymans  <wim@fluendo.com>
13698
13699         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13700
13701         * gst/gst-i18n-app.h:
13702         * gst/gst-i18n-lib.h:
13703         * tools/gst-inspect.c: (print_signal_info):
13704         The attached patch will make the inclusion of gettext.h unconditional in
13705         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
13706         libintl.h in tools/gst-inspect.c.
13707         This allows use of --disable-nls again and fixes #344642.
13708
13709 2006-07-03  Edward Hervey  <edward@fluendo.com>
13710
13711         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
13712         Implement pad blocking on events according to part-block.txt.
13713         More comments on behaviour.
13714         * tests/check/gst/gstevent.c: (test_event):
13715         Send event to peer pad of blocked pad (else it will block).
13716
13717 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13718
13719         * libs/gst/check/gstcheck.c: (gst_check_message_error),
13720         (gst_check_run_suite):
13721           if we get the wrong message, give us the types as string
13722         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
13723           Fix a translatable
13724         * tests/check/elements/filesrc.c: (GST_START_TEST):
13725           add a test for trying to open a non-existing file
13726
13727 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13728
13729         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13730           add a test for adding self
13731
13732 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13733
13734         * libs/gst/check/gstcheck.h:
13735           add some assert_ as alias for fail_unless_*
13736         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
13737           increase test coverage
13738
13739 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13740
13741         * Makefile.am:
13742           include lcov.mak for lcov coverage generation
13743         * tools/Makefile.am:
13744           add to CLEANFILES
13745
13746 2006-07-02  Edward Hervey  <edward@fluendo.com>
13747
13748         * tests/check/elements/.cvsignore:
13749         moaping
13750
13751 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13752
13753         * configure.ac:
13754           don't set CFLAGS and friends for gcov, done from GST_GCOV now
13755         * tests/check/Makefile.am:
13756           clean up gcov files
13757
13758 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13759
13760         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
13761           remove gst_caps_simplify; it was not declared and not used
13762           and deprecated in 0.8
13763
13764 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13765
13766         * docs/faq/gst-uninstalled:
13767           don't put empty paths on PYTHONPATH
13768         * docs/gst/gstreamer-sections.txt:
13769           remove some symbols that are not there
13770
13771 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13772
13773         * gst/gstcaps.c: (gst_caps_compare_structures):
13774           whitespace fixes
13775         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
13776         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13777           add more tests
13778
13779 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13780
13781         * libs/gst/dataprotocol/Makefile.am:
13782           build dataprotocol test by linking to the lib, instead of
13783           compiling the source, so we get coverage
13784         * tests/check/Makefile.am:
13785         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
13786         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
13787           add a test for filesrc
13788
13789 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13790
13791         * tests/check/gst/gststructure.c: (GST_START_TEST),
13792         (gst_structure_suite):
13793           Push coverage from 59.04% to 70.00%
13794
13795 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13796
13797         * tests/check/Makefile.am:
13798           gst-inspect every element; this makes sure that we also get
13799           coverage on element's get/set functions
13800
13801 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13802
13803         * configure.ac:
13804           set CFLAGS and friends to -O0 if gcov is being used
13805           add GCOV LIBS
13806         * gst/Makefile.am:
13807         * libs/gst/base/Makefile.am:
13808         * libs/gst/check/Makefile.am:
13809         * libs/gst/controller/Makefile.am:
13810         * libs/gst/dataprotocol/Makefile.am:
13811         * libs/gst/net/Makefile.am:
13812         * plugins/elements/Makefile.am:
13813         * plugins/indexers/Makefile.am:
13814           add makefile rules to generate gcov data and clean up
13815         * tests/check/Makefile.am:
13816           add a coverage target that generates an html overview
13817           of coverage data
13818
13819 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13820
13821         * tests/check/elements/fakesink.c:
13822         * tests/check/elements/fakesrc.c:
13823         * tests/check/elements/fdsrc.c:
13824         * tests/check/elements/identity.c:
13825         * tests/check/generic/sinks.c: (gst_sinks_suite):
13826         * tests/check/generic/states.c:
13827         * tests/check/gst/gst.c:
13828         * tests/check/gst/gstabi.c:
13829         * tests/check/gst/gstbin.c:
13830         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
13831         * tests/check/gst/gstbus.c: (gst_bus_suite):
13832         * tests/check/gst/gstcaps.c: (GST_START_TEST):
13833         * tests/check/gst/gstelement.c:
13834         * tests/check/gst/gstevent.c: (gst_event_suite):
13835         * tests/check/gst/gstghostpad.c:
13836         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
13837         * tests/check/gst/gstmessage.c: (gst_message_suite):
13838         * tests/check/gst/gstminiobject.c:
13839         * tests/check/gst/gstobject.c:
13840         * tests/check/gst/gstpad.c:
13841         * tests/check/gst/gstpipeline.c:
13842         * tests/check/gst/gstplugin.c:
13843         * tests/check/gst/gstquery.c: (gst_query_suite):
13844         * tests/check/gst/gstsegment.c: (gst_segment_suite):
13845         * tests/check/gst/gststructure.c:
13846         * tests/check/gst/gstsystemclock.c:
13847         * tests/check/gst/gsttag.c:
13848         * tests/check/gst/gsttask.c: (gst_task_suite):
13849         * tests/check/gst/gstutils.c:
13850         * tests/check/gst/gstvalue.c:
13851         * tests/check/libs/adapter.c:
13852         * tests/check/libs/basesrc.c:
13853         * tests/check/libs/collectpads.c:
13854         * tests/check/libs/controller.c:
13855         * tests/check/libs/gdp.c: (gst_dp_suite):
13856         * tests/check/libs/gstnetclientclock.c:
13857         * tests/check/libs/gstnettimeprovider.c:
13858         * tests/check/libs/libsabi.c: (libsabi_suite):
13859         * tests/check/libs/typefindhelper.c:
13860         * tests/check/pipelines/cleanup.c:
13861         * tests/check/pipelines/parse-launch.c:
13862         * tests/check/pipelines/simple-launch-lines.c:
13863         * tests/check/pipelines/stress.c: (stress_suite):
13864           use the new macro
13865
13866 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13867
13868         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
13869         * libs/gst/check/gstcheck.h:
13870           create a macro and function so that the simple unit test
13871           case can be just one macro to create main()
13872
13873 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
13874
13875         * gst/gstbin.c: (gst_bin_restore_thyself):
13876         * gst/gstxml.c: (gst_xml_make_element):
13877           Fix deserialisation from XML. Set parent manually
13878           instead of using gst_bin_add(), since gst_bin_add()
13879           will unlink all pads of the element being added.
13880           Fixes #341667.
13881
13882 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
13883
13884         Patch by: Peter Kjellerstedt <pkj at axis com>
13885
13886         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
13887           Fix missing g_strdup() and double free when using the
13888           --gst-plugin-load command line option (#346097).
13889
13890 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
13891
13892         * gst/gstinfo.c:
13893           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
13894
13895         * libs/gst/net/gstnetclientclock.c:
13896         * libs/gst/net/gstnettimeprovider.c:
13897           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
13898
13899 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
13900
13901         * docs/manual/advanced-dataaccess.xml:
13902           Fix buffer probe example compilation in
13903           ADM (#345708).
13904         
13905 2006-06-22  Edward Hervey  <edward@fluendo.com>
13906
13907         * gst/gstelement.c: (gst_element_pads_activate):
13908         We need to deactivate src pads first and then sink pads.
13909         The reason is the src pads might be blocking while holding the streaming
13910         lock, so we need to deactivate them first so that deactivating the sink
13911         pads doesn't block (since it will require the streaming lock).
13912
13913 2006-06-22  Wim Taymans  <wim@fluendo.com>
13914
13915         * libs/gst/base/gstbasetransform.c:
13916         (gst_base_transform_buffer_alloc):
13917         Forgot to remove two unneeded unrefs.
13918         Simplify a check _is_equal allready checks the obvious case.
13919
13920 2006-06-22  Wim Taymans  <wim@fluendo.com>
13921
13922         * docs/design/part-block.txt:
13923         Some docs about what pad_block should do.
13924
13925 2006-06-22  Wim Taymans  <wim@fluendo.com>
13926
13927         * gst/gstcaps.c: (gst_caps_replace):
13928         Fix crasher when passed NULL. Doc clarification.
13929         Optimize for the trivial case.
13930
13931         * gst/gstpipeline.c: (gst_pipeline_change_state):
13932         Small cleanups.
13933
13934         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
13935         Small documentation cleanup.
13936
13937         * libs/gst/base/gstbasetransform.c:
13938         (gst_base_transform_buffer_alloc):
13939         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
13940         is what we need and it avoids a whole lot of redundant 
13941         refcount operations.
13942
13943 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
13944
13945         Patch by: Philip Jägenstedt  <philip at lysator liu se>
13946
13947         * docs/manual/advanced-dataaccess.xml:
13948           Fix 'Embedding static elements' section to use
13949           GST_PLUGIN_DEFINE_STATIC (#345607).
13950
13951 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
13952
13953         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
13954           Attempt to 'fix' spuriously failing test case: it seems like the
13955           timeout of half a second is simply too small when the system is under
13956           load otherwise, and the timeout doesn't really seem to serve any
13957           particular purpose here. Give the pipeline a few seconds to preroll
13958           first, and then give it another half a second to go from PAUSED to
13959           PLAYING and marshal the message into the main thread.
13960
13961 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
13962
13963         * tools/gst-feedback-m.m:
13964           Don't only use unversioned tools, try versioned tools as well
13965           (#345086).
13966
13967 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
13968
13969         * gst/gstbus.c: (gst_bus_class_init):
13970           Fix some typos, make docs more explicit.
13971
13972 2006-06-20  Wim Taymans  <wim@fluendo.com>
13973
13974         * tests/check/gst/gstghostpad.c: (block_callback),
13975         (GST_START_TEST), (gst_ghost_pad_suite):
13976         Added some more ghostpad tests, mainly blocking
13977         and probes.
13978
13979 2006-06-16  Wim Taymans  <wim@fluendo.com>
13980
13981         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
13982         (gst_file_sink_close_file), (gst_file_sink_do_seek),
13983         (gst_file_sink_event), (gst_file_sink_render):
13984         * plugins/elements/gstfilesink.h:
13985         Check if we can seek in the file instead of assuming
13986         we always can. Post an error when we are asked to seek in a
13987         non-seekable file (like a fifo). Fixes #343312.
13988         Some cleanups.
13989
13990 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
13991
13992         * tools/gst-launch.1.in:
13993           Un-garble (fourcc) bit in filtered caps section.
13994
13995 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
13996
13997         * docs/manual/advanced-autoplugging.xml:
13998         * docs/manual/basics-helloworld.xml:
13999         * docs/manual/highlevel-components.xml:
14000           Don't leak bus reference in sample code.
14001
14002 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
14003
14004         * autogen.sh:
14005           Add default for new --enable-plugin-docs switch.
14006
14007         * configure.ac:
14008           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
14009           Fixes #344039.
14010
14011         * docs/Makefile.am:
14012           Use new ENABLE_PLUGIN_DOCS conditional.
14013
14014 2006-06-14  Wim Taymans  <wim@fluendo.com>
14015
14016         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
14017         Make it clear with a FIXME and a real define what the #if 0
14018         previously disabled.
14019
14020 2006-06-14  Wim Taymans  <wim@fluendo.com>
14021
14022         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
14023         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14024         * libs/gst/base/gstbasetransform.c:
14025         (gst_base_transform_sink_eventfunc):
14026         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14027         Don't randomly and silently reset a segment when the format 
14028         changes as this is a bug somewhere upstream. Fixes #330379.
14029
14030 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
14031
14032         Patch by: Wouter Paesen  <wouter at kangaroot net>
14033
14034         * libs/gst/controller/gstcontroller.c:
14035         (gst_controlled_property_new):
14036           Fix controlling of float properties (#344849).
14037
14038         * tests/check/libs/controller.c:
14039         (gst_test_mono_source_get_property),
14040         (gst_test_mono_source_set_property),
14041         (gst_test_mono_source_class_init), (GST_START_TEST):
14042           While we're at it, add some float stuff to unit test.
14043
14044 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14045
14046         * docs/README:
14047         * docs/images/gdp-header.svg:
14048           add a gdp image
14049         * docs/libs/Makefile.am:
14050         * docs/libs/gdp-header.png:
14051         * libs/gst/dataprotocol/dataprotocol.c:
14052           add it to the API docs
14053         * docs/manual/intro-motivation.xml:
14054           fix typo
14055
14056 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14057
14058         * gst/gst.c: (scan_and_update_registry), (init_post):
14059           If the fork()'ed child process can't write the updated registry cache
14060           file to disk for some reason, make it exit with a failure exit code,
14061           so that the parent can then re-scan the plugins itself and update the
14062           registry structures in memory and work with that (rather than failing
14063           when creating elements because seemingly no plugins are available).
14064           Refactor registry scanning code into separate function for this and
14065           also separate fork() and non-fork() code paths. Fixes #344748.
14066
14067 2006-06-13  Wim Taymans  <wim@fluendo.com>
14068
14069         * docs/manual/advanced-dataaccess.xml:
14070         Fix wrong PluginDesc. Fixes #344755.
14071
14072 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14073
14074         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14075           Fix silly bug that prevented us from creating
14076           ~/.gstreamer-0.10 and writing the registry in one
14077           go (the first call to g_mkstemp() would overwrite the
14078           placeholder in the template string, so the second call
14079           to g_mkstemp() after creating the missing directory
14080           would then error out with 'invalid argument').
14081
14082 2006-06-13  Edward Hervey  <edward@fluendo.com>
14083
14084         * gst/gst.c: (init_post):
14085         Free string.
14086
14087 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14088
14089         * gst/glib-compat-private.h:
14090         * gst/glib-compat.c:
14091         * gst/glib-compat.h:
14092         * gst/gstvalue.c: (gst_value_serialize_flags):
14093           remove GLib 2.6 compatibility code
14094
14095 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
14096
14097         * gst/parse/Makefile.am:
14098           Fix build with 'make -j N' even more (#340016).
14099
14100 2006-06-12  Wim Taymans  <wim@fluendo.com>
14101
14102         * docs/gst/gstreamer-sections.txt:
14103         Fix docs.
14104
14105 2006-06-12  Wim Taymans  <wim@fluendo.com>
14106
14107         * gst/gstsegment.c: (gst_segment_set_duration),
14108         (gst_segment_set_last_stop), (gst_segment_set_seek),
14109         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
14110         (gst_segment_to_running_time), (gst_segment_clip):
14111         Use G_UNLIKELY to help the compiler a bit.
14112
14113 2006-06-12  Wim Taymans  <wim@fluendo.com>
14114
14115         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14116
14117         * gst/gstevent.c: (gst_event_get_type):
14118         * gst/gstmessage.c:
14119         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14120         (gst_pad_push):
14121         constify quark registration strings. Fixes #344115
14122         Avoid unneeded type checking is _pad_push() by internally
14123         calling gst_pad_chain_unchecked().
14124
14125 2006-06-12  Wim Taymans  <wim@fluendo.com>
14126
14127         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
14128         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
14129         (gst_subbuffer_finalize), (gst_buffer_create_sub),
14130         (gst_buffer_is_span_fast), (gst_buffer_span):
14131         Init _type for consistency.
14132         Use _FLAGS macro to avoid type check.
14133         Avoid unneeded type checks in subbufer code.
14134
14135 2006-06-12  Wim Taymans  <wim@fluendo.com>
14136
14137         * gst/gst.c: (gst_debug_help):
14138         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
14139         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14140         (gst_plugin_feature_list_free):
14141         * gst/gstregistry.c: (gst_registry_add_plugin),
14142         (gst_registry_add_feature), (gst_registry_plugin_filter),
14143         (gst_registry_feature_filter), (gst_registry_find_plugin),
14144         (gst_registry_find_feature), (gst_registry_get_plugin_list),
14145         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
14146         * gst/gstregistryxml.c: (load_feature),
14147         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14148         * gst/gstminiobject.c: (gst_mini_object_unref),
14149         (gst_mini_object_replace), (gst_value_mini_object_free),
14150         (gst_value_mini_object_copy):
14151         Use _CAST macros to avoid unneeded type checking.
14152         Added some more G_UNLIKELY.
14153
14154 2006-06-12  Wim Taymans  <wim@fluendo.com>
14155
14156         * gst/gstbuffer.h:
14157         Avoid unneeded type checking.
14158         API: GST_BUFFER_IS_DISCONT
14159
14160         * gst/gstminiobject.h:
14161         Avoid type check in flag accessor.
14162
14163         * gst/gstelementfactory.h:
14164         * gst/gstplugin.h:
14165         * gst/gstpluginfeature.h:
14166         Add _CAST macros.
14167         API: GST_ELEMENT_FACTORY_CAST
14168         API: GST_PLUGIN_CAST
14169         API: GST_PLUGIN_FEATURE_CAST
14170
14171 2006-06-12  Wim Taymans  <wim@fluendo.com>
14172
14173         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
14174         (gst_object_unref):
14175         Add G_UNLIKELY in type registration.
14176         Avoid type check in _ref/_unref since that is also
14177         done in glib.
14178
14179 2006-06-12  Wim Taymans  <wim@fluendo.com>
14180
14181         * gst/gsterror.c: (gst_g_error_get_type):
14182         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
14183         (gst_static_pad_template_get_type):
14184         * gst/gsttaglist.c: (gst_tag_list_get_type):
14185         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
14186         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
14187         * gst/gsturi.c: (gst_uri_handler_get_type):
14188         * gst/gstvalue.c: (gst_date_get_type):
14189         * gst/gstxml.c: (gst_xml_get_type):
14190         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
14191         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14192         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
14193         Add G_UNLIKELY in type registration.
14194
14195 2006-06-12  Wim Taymans  <wim@fluendo.com>
14196
14197         * tools/gst-inspect.c: (print_signal_info):
14198         Properly print enum values.
14199
14200 2006-06-12  Wim Taymans  <wim@fluendo.com>
14201
14202         * gst/gstinfo.c: (gst_debug_set_active),
14203         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
14204         * gst/gstinfo.h:
14205         Add some G_[UN]LIKELY.
14206         Maintain __gst_debug_min to avoid formatting the arguments of
14207         debug messages that will be dropped anyway to avoid a lot of 
14208         overhead from the debugging system.
14209
14210 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14211
14212         * po/POTFILES.in:
14213         * po/POTFILES.skip:
14214           add missing files containing translatable strings, tell intltool about
14215           one exception
14216
14217 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14218
14219         * tests/check/libs/.cvsignore:
14220         add test-binary to ignore list
14221
14222 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14223
14224         * docs/libs/gstreamer-libs-docs.sgml:
14225         reorder (put dp into a chapter) and indent
14226
14227 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14228
14229         * configure.ac:
14230           back to HEAD
14231
14232 === release 0.10.8 ===
14233
14234 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
14235
14236         * configure.ac:
14237           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
14238
14239 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14240
14241         * gst/gst.c: (init_post):
14242           move pid declaration to declaration block
14243
14244 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14245
14246         * gst/gst.c: (init_post):
14247           use _exit() instead of exit() in our forked child; this ensures
14248           that none of the registered exit handlers from whatever is using
14249           GStreamer get executed.  This fixes gnome-mixer-applet failing
14250           to load, because ORBit would shut down.
14251           Spotted by: Edward Hervey  <edward@fluendo.com>
14252           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
14253           Fixes #344474
14254
14255 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14256
14257         * configure.ac:
14258           back to TRUNK
14259
14260 === release 0.10.7 ===
14261
14262 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
14263
14264         * configure.ac:
14265           releasing 0.10.7, "Soepeke, ik zie ou"
14266
14267 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14268
14269         * configure.ac:
14270         * po/af.po:
14271         * po/az.po:
14272         * po/bg.po:
14273         * po/ca.po:
14274         * po/cs.po:
14275         * po/de.po:
14276         * po/en_GB.po:
14277         * po/fr.po:
14278         * po/it.po:
14279         * po/nb.po:
14280         * po/nl.po:
14281         * po/ru.po:
14282         * po/sq.po:
14283         * po/sr.po:
14284         * po/sv.po:
14285         * po/tr.po:
14286         * po/uk.po:
14287         * po/vi.po:
14288         * po/zh_CN.po:
14289         * po/zh_TW.po:
14290         * win32/common/config.h:
14291           0.10.6.2 prerelease
14292
14293 2006-06-07  Wim Taymans  <wim@fluendo.com>
14294
14295         * gst/gstindex.c: (gst_index_gtype_resolver):
14296         * tools/gst-xmlinspect.c: (print_plugin_info):
14297         Fix leak spotted by coverity checker. Fixes #343827
14298         Fix another other leak found by paolo borelli.
14299
14300 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14301
14302         * libs/gst/dataprotocol/dataprotocol.c:
14303         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
14304         (gst_dp_version_get_type), (gst_dp_init),
14305         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14306         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
14307         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
14308         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
14309         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
14310         (gst_dp_packetizer_free):
14311         * libs/gst/dataprotocol/dataprotocol.h:
14312           API: add a GstDPPacketizer object, and create/free functions
14313           API: add GstDPVersion enum
14314           Add 1.0 event function that uses the string serialization
14315           Serialize more useful buffer flags
14316           Fixes #343988
14317
14318 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14319
14320         * tests/check/Makefile.am:
14321         * tests/check/gst/gstabi.c:
14322         * tests/check/gst/struct_ppc64.h:
14323         * tests/check/libs/libsabi.c:
14324         * tests/check/libs/struct_ppc64.h:
14325           add ppc64 structure sizes
14326
14327 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14328
14329         * tests/check/Makefile.am:
14330         * tests/check/gst/gstabi.c:
14331         * tests/check/gst/struct_x86_64.h:
14332         * tests/check/libs/libsabi.c:
14333         * tests/check/libs/struct_x86_64.h:
14334           generate and add structure size lists for x86_64
14335
14336 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14337
14338         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
14339         * libs/gst/check/gstcheck.h:
14340           factor out the method from tests that checks size of structures,
14341           and add code to generate the header containing these sizes
14342         * tests/check/gst/gstabi.c: (GST_START_TEST):
14343         * tests/check/gst/struct_i386.h:
14344         * tests/check/libs/libsabi.c: (GST_START_TEST):
14345         * tests/check/libs/struct_i386.h:
14346           use it
14347
14348 2006-06-06  Michael Smith  <msmith@fluendo.com>
14349
14350         * gst/gstsegment.h:
14351           Don't use c++-style comments, fixes #343929
14352
14353 2006-06-05  Edward Hervey  <edward@fluendo.com>
14354
14355         * gst/gst.c:
14356         plugin_paths is not used if we build without registry support.
14357
14358         * gst/gstsegment.c: (gst_segment_copy): 
14359         _copy() was always returning NULL...
14360
14361 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14362
14363         * libs/gst/dataprotocol/dataprotocol.c:
14364         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14365         (gst_dp_packet_from_event):
14366           factor out CRC code
14367
14368 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14369
14370         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
14371           make sure we unset caps
14372
14373 2006-06-02  Michael Smith  <msmith@fluendo.com>
14374
14375         * libs/gst/check/gstcheck.c: (gst_check_init),
14376         (gst_check_chain_func):
14377         * libs/gst/check/gstcheck.h:
14378           Add a cond/mutex to the check support lib, signal this whenever we
14379           add to the buffers list. This will allow tests to not busy-wait on
14380           the buffer-list.
14381
14382 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14383
14384         * libs/gst/dataprotocol/dataprotocol.c:
14385         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14386         (gst_dp_packet_from_event):
14387           factor out some common header init code
14388
14389 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14390
14391         * docs/libs/gstreamer-libs-sections.txt:
14392         * docs/libs/tmpl/gstdataprotocol.sgml:
14393         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
14394         * libs/gst/dataprotocol/dataprotocol.h:
14395           API: make gst_dp_crc() public
14396
14397 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14398
14399         * plugins/indexers/gstindexers.c: (plugin_init):
14400         conditionally register fileindexer (fixes #343598)
14401
14402 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14403
14404         * gst/gsttagsetter.h:
14405         Can't cast ifaces to a class
14406
14407         * libs/gst/net/gstnetclientclock.h:
14408         * libs/gst/net/gstnettimeprovider.h:
14409         * plugins/elements/gstfakesink.h:
14410         * plugins/elements/gstfakesrc.h:
14411         * plugins/elements/gstfdsink.h:
14412         * plugins/elements/gstfdsrc.h:
14413         * plugins/elements/gstfilesink.h:
14414         * plugins/elements/gstfilesrc.h:
14415         * plugins/elements/gstidentity.h:
14416         * plugins/elements/gstqueue.h:
14417         * plugins/elements/gsttee.h:
14418         * plugins/indexers/gstfileindex.c:
14419         * plugins/indexers/gstmemindex.c:
14420         * tests/old/examples/plugins/example.h:
14421         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
14422
14423 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14424
14425         * libs/gst/dataprotocol/dataprotocol.c:
14426         (gst_dp_header_from_buffer):
14427           make sure we zero the whole ABI-compatible area
14428
14429 2006-06-01  Wim Taymans  <wim@fluendo.com>
14430
14431         Patch by: Alessandro Decina <alessandro at nnva dot org>
14432
14433         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14434         Make sure the EOS flag is cleared from pads after a flush
14435         or stop. Fixes #343538.
14436
14437         * tests/check/libs/collectpads.c: (GST_START_TEST),
14438         (gst_collect_pads_suite):
14439         Added test for collectpads reusage after EOS.
14440
14441 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
14442
14443         * gst/gst.c:
14444          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
14445         * win32/common/libgstbase.def:
14446          export gst_collect_pads_set_flushing
14447         * win32/common/libgstreamer.def:
14448          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
14449          gst_value_fraction_multiply
14450         * win32/vs6/gst_inspect.dsp:
14451          add a link to intl.lib
14452
14453 2006-05-30  Wim Taymans  <wim@fluendo.com>
14454
14455         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14456         (gst_collect_pads_chain):
14457         Handle the case where a pad is removed from the collection
14458         that could cause the other pads to become collectable.
14459
14460 2006-05-30  Wim Taymans  <wim@fluendo.com>
14461
14462         * gst/gstelement.c:
14463         Clarify the use of _release_request_pad() and
14464         _get_request_pad() a bit better.
14465
14466         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
14467         (gst_adapter_take_buffer):
14468         Fix some doc and comment typos.
14469
14470 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14471
14472         * docs/gst/gstreamer-sections.txt:
14473         * docs/libs/gstreamer-libs-sections.txt:
14474           add declared symbols
14475
14476 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
14477
14478         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14479         Add debug that can be enabled using a #define at the top of the file,
14480         for dumping stats about how late/early we were when waking up from
14481         waiting on the clock.
14482
14483 2006-05-30  Wim Taymans  <wim@fluendo.com>
14484
14485         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
14486         When rebuilding the pad list, don't leak the previous list.
14487
14488 2006-05-30  Wim Taymans  <wim@fluendo.com>
14489
14490         Patch by: Lutz Mueller <lutz at topfrose dot de>
14491
14492         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14493         (gst_base_src_get_query_types), (gst_base_src_update_length):
14494         Publish supported query types.
14495         Update last_stop field in get_range mode so the position
14496         query works. Fixes #342321.
14497
14498 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
14499
14500         * docs/gst/gstreamer-sections.txt:
14501         * gst/gsttaglist.c: (_gst_tag_initialize):
14502         * gst/gsttaglist.h:
14503           API: add GST_TAG_PREVIEW_IMAGE (#343341).
14504
14505 2006-05-30  Wim Taymans  <wim@fluendo.com>
14506
14507         Patch by: Alessandro Decina <alessandro at nnva dot org>
14508
14509         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
14510         Unlock mutex when removing an unknown pad.
14511         Fixes #343334.
14512
14513         * tests/check/Makefile.am:
14514         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
14515         (push_event), (setup), (teardown), (GST_START_TEST),
14516         (gst_collect_pads_suite), (main):
14517         Added collecpads check, disabled for now as check crashes for
14518         some reason.
14519
14520 2006-05-29  Wim Taymans  <wim@fluendo.com>
14521
14522         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
14523         Don't leak pads lists.
14524
14525 2006-05-29  Wim Taymans  <wim@fluendo.com>
14526
14527         * docs/libs/gstreamer-libs-sections.txt:
14528         * libs/gst/base/gstcollectpads.c:
14529         (gst_collect_pads_set_flushing_unlocked),
14530         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14531         (gst_collect_pads_stop):
14532         * libs/gst/base/gstcollectpads.h:
14533         API: gst_collect_pads_set_flushing()
14534         Added api to set the pads to flushing, useful for seeking
14535         code in elements using collectpads.
14536         Clear segment when receiving a flush.
14537
14538 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
14539
14540         * gst/gst.c: (add_path_func), (init_post):
14541           Don't scan registry paths passed via --gst-plugin-path immediately
14542           (will crash, because absolutely nothing is set up and no types are
14543           registered etc.); do this later in init_post(). Fixes #343057.
14544
14545 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14546
14547         * gst/gst.c: (init_post):
14548           if we have fork, fork while reading/rebuilding the registry
14549           so the parent doesn't take the hit of having all plugins loaded
14550           in memory.  Fixes #342777.
14551         * configure.ac:
14552           Check if we have fork()
14553         * win32/common/config.h.in:
14554           no fork() on win32
14555
14556 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14557
14558         * plugins/elements/gstelements.c:
14559         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14560         (gst_file_src_init), (gst_file_src_set_property),
14561         (gst_file_src_get_property), (gst_file_src_start):
14562         * plugins/elements/gstfilesrc.h:
14563           API: GstFileSrc::use-mmap
14564
14565         Add a use-mmap property to enable easier testing of all code paths.
14566         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
14567         in the absence of gnomevfssrc. (Closes #340501)
14568
14569 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
14570
14571         * tools/gst-inspect.c:
14572         Add missing include, removes warning of ngettext not being defined on
14573         some arches.
14574
14575 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14576
14577         * gst/gstvalue.c: (gst_value_deserialize_fraction):
14578         Handle NULL input and output pointers silently as a failed conversion,
14579         rather than g_warnings.
14580
14581 2006-05-25  Wim Taymans  <wim@fluendo.com>
14582
14583         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
14584         Initialize variable before using. Fixes #342820.
14585
14586 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
14587
14588         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
14589           Fix off-by-one bug that would only allow peeks of N-1 bytes
14590           from the start even if the buffer to typefind on contains
14591           in fact N bytes of data (makes vorbis typefinding from a
14592           vorbis identification header buffer work).
14593
14594         * tests/check/Makefile.am:
14595         * tests/check/libs/.cvsignore:
14596         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
14597         (gst_typefindhelper_suite), (main), (foobar_typefind),
14598         (plugin_init):
14599           Add very basic unit test for gst_type_find_helper_for_buffer()
14600           that checks for the problem fixed above.
14601
14602 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14603
14604         * tools/gst-inspect.c: (print_interfaces),
14605         (print_element_properties_info), (print_element_list), (main):
14606           add more translatable strings
14607
14608 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
14609
14610         Patch by: Julien Moutte  <julien at moutte net>
14611
14612         * docs/gst/gstreamer-sections.txt:
14613           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
14614           
14615         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
14616         (gst_fake_sink_preroll):
14617         * plugins/elements/gstfakesink.h:
14618           API: Add new GstFakeSink::preroll-handoff signal (#337100).
14619
14620 2006-05-23  Wim Taymans  <wim@fluendo.com>
14621
14622         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
14623         * gst/gstpad.h:
14624         Added _CUSTOM error and success GstFlowReturn that can be
14625         used be elements internally. 
14626         Added macro to check for SUCCESS flowreturns.
14627         API: GST_FLOW_CUSTOM_SUCCESS
14628         API: GST_FLOW_CUSTOM_ERROR
14629         API: GST_FLOW_IS_SUCCESS
14630
14631         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
14632         Added check for GstFlowReturn sanity.
14633
14634 2006-05-23  Wim Taymans  <wim@fluendo.com>
14635
14636         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
14637
14638         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14639         (gst_collect_pads_event):
14640         clear/reset segment info in FLUSH_STOP.
14641         Fixes #336929.
14642
14643 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
14644
14645         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
14646         (gst_collect_pads_check_collected):
14647         Flush queued buffer on _stop(), fixes playing again (#342454)
14648
14649 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14650
14651         * tests/check/gst/gststructure.c: (GST_START_TEST),
14652         (gst_structure_suite):
14653           add a test for a complete structure
14654
14655 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
14656
14657         * docs/faq/developing.xml:
14658         * docs/faq/faq.xml:
14659         * docs/faq/troubleshooting.xml:
14660         * docs/faq/using.xml:
14661           Some minor FAQ updates that won't change the fact that
14662           our FAQ is badly structured, full of information hardly
14663           anyone new to GStreamer needs to know and lacking lots
14664           of information people constantly ask for.
14665           
14666 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
14667
14668         * gst/gstpad.c: (gst_pad_set_caps):
14669           Short-circuit gst_pad_set_caps if setting the existing
14670           caps pointer again, and avoid printing debug and 
14671           reffing/unreffing the caps.
14672
14673         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14674           There's actually no need to set the caps before pushing -
14675           the acceptcaps method will handle it anyway.
14676
14677 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
14678
14679         * docs/gst/gstreamer-sections.txt:
14680         * win32/common/libgstreamer.def:
14681         * gst/gstutils.c: (gst_element_seek_simple):
14682         * gst/gstutils.h:
14683           API: add gst_element_seek_simple() (#342238).
14684
14685 2006-05-18  Edward Hervey  <edward@fluendo.com>
14686
14687         * gst/gsttypefind.c: (gst_type_find_get_type):
14688         * gst/gsttypefind.h:
14689         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
14690         registered for GstTypeFind pointers. This allows wrapping the structure
14691         in bindings (i.e. gst-python).
14692
14693 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
14694
14695         * gst/gsttagsetter.c:
14696           Docs additions and fixes (see #339918).
14697
14698 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
14699
14700         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14701         The caps intersection algorithm can produce multiple copies of the
14702         caps. Until that is fixed, we need to simplify the result to be
14703         sure whether the allowed caps are fixed or not.
14704
14705         * plugins/elements/gstqueue.c: (gst_queue_init),
14706         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
14707         (gst_queue_push_one):
14708         Proxied buffer alloc should not set the caps on the source pad.
14709         When pushing buffers, we always accept the caps change that triggers.
14710         This prevents negotiation errors caused by caps changing mid-stream 
14711         and then being refused on our source pad (because upstream is now
14712         refusing those caps).
14713
14714 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
14715
14716         * tests/examples/helloworld/helloworld.c: (main):
14717           Must plug audioconvert and audioresample between decoder
14718           and audio sink.
14719
14720 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
14721
14722         * gst/gstregistryxml.c: (read_string), (load_pad_template),
14723         (load_feature), (load_plugin):
14724         Allow empty strings for some of the plugin fields so we don't 
14725         drop valid plugin entries that were written out correctly
14726         (Fixes #341479)
14727
14728 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
14729         
14730         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14731           Use g_remove and g_rename instead of remove and rename that don't 
14732           handle utf8 characters. rename was failing for users who had specific
14733           characters in their name then the registry was built at each 
14734           gstreamer init.
14735         * win32/vs6/gst_inspect.dsp:
14736         * win32/vs6/gst_launch.dsp:
14737         * win32/vs6/libgstbase.dsp:
14738         * win32/vs6/libgstcoreelements.dsp:
14739         * win32/vs6/libgstreamer.dsp:
14740           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
14741           build of libgstreamer and clean unused libraries in projects link 
14742           settings.
14743
14744 2006-05-17  Edward Hervey  <edward@fluendo.com>
14745
14746         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14747         The queue is not responsible for pushing an EOS when receiving a fatal
14748         flow error. It's up to the real element driving the pipeline to do that.
14749
14750 2006-05-16  Edward Hervey  <edward@fluendo.com>
14751
14752         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14753         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
14754         buffer returned a fatal error. It should just send an EOS and stop
14755         its task.
14756         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
14757         when pushing buffers on the queue and will be able to handle the event.
14758
14759 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
14760
14761         * docs/manual/basics-bins.xml:
14762         * docs/manual/basics-init.xml:
14763           Fix typos and minor errors in sample code (#341856).
14764
14765 2006-05-16  Wim Taymans  <wim@fluendo.com>
14766
14767         * docs/design/part-qos.txt:
14768         Fix indexes in formulas to make more sense.
14769
14770 2006-05-15  Wim Taymans  <wim@fluendo.com>
14771
14772         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14773         Don't report POSITION based on clock time if sync is
14774         disabled in a sink.
14775
14776 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
14777
14778         * gst/gstobject.h:
14779           Add cast to make compiler happy - refcount variable was a gint
14780           in GstObject but is a guint in GObject and g_atomic_int_get()
14781           wants a gint *.
14782
14783 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14784
14785         * gst/parse/Makefile.am:
14786           chain commands using &&, which also makes parallel make work
14787
14788 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
14789
14790         * docs/gst/gstreamer-sections.txt:
14791         * gst/gstevent.c:
14792         * gst/gstevent.h:
14793         * gst/gstmessage.h:
14794           Minor docs fixes.
14795
14796 === release 0.10.6 ===
14797
14798 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
14799
14800         * configure.ac:
14801           releasing 0.10.6, "Take the cannoli"
14802
14803 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
14804
14805         * tools/gst-launch.c: (print_tag):
14806           Fix use of uninitialized variable in the hypothetical
14807           case that some broken plugin creates a GST_TAG_IMAGE
14808           tag containing a NULL buffer (#341667).
14809
14810 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
14811
14812         * tools/gst-launch.c: (print_tag):
14813           Print something more intelligible for image tags when
14814           using the -t switch (#341556).
14815
14816 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14817
14818         * Makefile.am:
14819           updates for win32
14820         * configure.ac:
14821           define GST_MAJORMINOR so we have it available in win32/common/config.h
14822           Possibly remove it from our Makefile.am files later
14823         * win32/common/config.h:
14824         * win32/common/config.h.in:
14825           added GST_MAJORMINOR
14826         * win32/common/gstenumtypes.c: (register_gst_resource_error):
14827         * win32/common/gstversion.h:
14828           updated
14829
14830 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
14831
14832         * win32/MANIFEST:
14833           Update win32 files listing.
14834         * win32/common/gstversion.h:
14835           Add GST_MAJORMINOR definition.
14836         * win32/common/libgstreamer.def:
14837           Add new exported functions.
14838           
14839 2006-05-12  Michael Smith  <msmith@fluendo.com>
14840
14841         * gst/gstplugin.c: (gst_plugin_load_file):
14842           If an so file has no plugin entry point, unload the module.
14843
14844 2006-05-11  Wim Taymans  <wim@fluendo.com>
14845
14846         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
14847         (gst_queue_set_property):
14848         Don't forget to signal the _chain or _loop function 
14849         when the queue size or thresholds change since that might
14850         cause them to make progres again.
14851
14852 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
14853
14854         * gst/gstclock.c: (gst_clock_class_init):
14855         * gst/gstindex.c: (gst_index_class_init):
14856         * gst/gstobject.c: (gst_object_class_init):
14857         * gst/gstpad.c: (gst_pad_class_init):
14858         * gst/gstpipeline.c: (gst_pipeline_class_init):
14859         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
14860         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
14861         * libs/gst/base/gstbasetransform.c:
14862         (gst_base_transform_class_init):
14863         * libs/gst/net/gstnetclientclock.c:
14864         (gst_net_client_clock_class_init):
14865         * libs/gst/net/gstnettimeprovider.c:
14866         (gst_net_time_provider_class_init):
14867         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
14868         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
14869         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
14870         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
14871         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
14872         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
14873         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
14874         * plugins/elements/gstidentity.c: (gst_identity_class_init):
14875         * plugins/elements/gsttee.c: (gst_tee_class_init):
14876         * tests/old/examples/plugins/example.c: (gst_example_class_init):
14877         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
14878           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
14879
14880 2006-05-11  Wim Taymans  <wim@fluendo.com>
14881
14882         * gst/gstbuffer.c: (_gst_buffer_initialize):
14883         Register subbufer along with the buffer type so that
14884         it does not accidentally gets registered from N
14885         different streaming threads in a non threadsafe way.
14886
14887 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
14888
14889         * gst/gstbuffer.h:
14890         * gst/gstevent.h:
14891         * gst/gstmessage.h:
14892           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
14893           gst_event_ref() and gst_message_ref() functions again
14894           (ugly hack, please do fix if there's a better way besides
14895           overrides.txt, which doesn't seem to work).
14896
14897 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14898
14899         * libs/gst/check/gstcheck.h:
14900           add an assert for setting state to avoid lots of repetitive code
14901           in the future
14902
14903 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14904
14905         * gst/gstvalue.c: (gst_value_serialize_flags):
14906           fix a leak if no flags are set
14907         * tests/check/gst/gstvalue.c: (GST_START_TEST):
14908           fix leak in tests
14909
14910 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
14911
14912         * docs/manual/basics-pads.xml:
14913           Expand a bit on caps and filtered links and update
14914           examples that were still using the no longer existing
14915           gst_pad_link_filtered() (#338206).
14916
14917 2006-05-10  Wim Taymans  <wim@fluendo.com>
14918
14919         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
14920         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
14921         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14922         (gst_collect_pads_stop):
14923         * libs/gst/base/gstcollectpads.h:
14924         No need to call _stop in _finalize.
14925         Iterate the main pad list in _finalize.
14926         Added some more debug.
14927         Free lists and data in the right order.
14928         Also free data whem doing _remove_pad when stopped for
14929         backward compatibility protect ::started with PAD_LOCK as
14930         well.
14931
14932 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14933
14934         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
14935         (gst_structure_parse_value):
14936           add some comments
14937           rename a method so that it actually says what it does better
14938
14939 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14940
14941         * gst/gstevent.c: (_gst_event_initialize):
14942         * gst/gstformat.c: (_gst_format_initialize):
14943           make sure some essential types used by events are registered
14944           as part of gst_init()
14945         * gst/gstvalue.c: (gst_value_serialize_flags):
14946           if no flags are set, serialize them to a value that represents NONE
14947           so that deserializing them works
14948         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14949           add tests for serialization and deserialization of flags
14950
14951 2006-05-10  Wim Taymans  <wim@fluendo.com>
14952
14953         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
14954         (gst_collect_pads_collect_range), (gst_collect_pads_available),
14955         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
14956         (gst_collect_pads_event), (gst_collect_pads_chain):
14957         Update docs.
14958         Better debug info.
14959         Catch and return errors from the collect function
14960         Refuse data on eos pads.
14961
14962 2006-05-10  Edward Hervey  <edward@fluendo.com>
14963
14964         * gst/gstinterface.h:
14965         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
14966         GInterface type checking.
14967         They were previously using non-defined macros.
14968
14969 2006-05-09  Wim Taymans  <wim@fluendo.com>
14970
14971         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
14972         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
14973         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
14974         (gst_collect_pads_start), (gst_collect_pads_stop),
14975         (gst_collect_pads_peek), (gst_collect_pads_pop),
14976         (gst_collect_pads_available), (gst_collect_pads_read),
14977         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
14978         (gst_collect_pads_is_collected), (gst_collect_pads_event),
14979         (gst_collect_pads_chain):
14980         * libs/gst/base/gstcollectpads.h:
14981         Clean up the mess that is collectpads, add comments and
14982         FIXMEs where needed.
14983         Maintain a separate pad list so we can add pads while
14984         collecting the other ones. For this we need a new separate 
14985         lock (see comics).
14986         Fix memory leak in finalize.
14987         Refactor some weird code to set/unset pad flushing flags, mark
14988         with comments.
14989         Don't crash in _available, _read, _flush when we're EOS.
14990
14991         * tests/check/libs/.cvsignore:
14992         Ignore adapter check binary.
14993
14994 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
14995
14996         * gst/gstindex.c: (gst_index_resolver_get_type):
14997         * plugins/elements/gstfakesink.c:
14998         (gst_fake_sink_state_error_get_type):
14999         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
15000         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
15001         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
15002           Const-ify GEnumValue arrays.
15003
15004 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15005
15006         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
15007           Add test case for flags + gst_buffer_make_metadata_writable().
15008
15009 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15010
15011         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
15012           gst_buffer_make_metadata_writable() should maintain the
15013           buffer flags (those that make sense at least) (see #340859).
15014
15015 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15016
15017         * tools/gst-inspect.c:
15018         * tools/gst-launch.c:
15019         * tools/gst-typefind.c:
15020         * tools/gst-xmlinspect.c:
15021         * tools/tools.h:
15022           Fix up includes: need to include stdlib.h in tools.h for exit().
15023
15024 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
15025
15026         * gst/gsttaglist.c: (_gst_tag_initialize):
15027         * gst/gsttaglist.h:
15028           API: add GST_TAG_IMAGE tag (#340721).
15029
15030 2006-05-08  Wim Taymans  <wim@fluendo.com>
15031
15032         * gst/gstquery.c:
15033         Added some docs for the segment query.
15034
15035 2006-05-08  Wim Taymans  <wim@fluendo.com>
15036
15037         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15038         (gst_base_src_loop), (gst_base_src_change_state):
15039         Always push non-flushing serialized events in the streaming 
15040         thread.
15041
15042 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15043
15044         * gst/gsterror.c: (_gst_stream_errors_init):
15045           Add a missing error string.
15046
15047 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
15048
15049         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
15050         Add applied_rate to the debug
15051
15052         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
15053         Copy applied_rate into the outgoing NEWSEGMENT event
15054
15055 2006-05-08  Wim Taymans  <wim@fluendo.com>
15056
15057         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
15058
15059         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
15060         (gst_base_sink_change_state):
15061         call ::unlock before taking the PREROLL_LOCK so we can safely
15062         handle elements that lock in ::render.
15063         Fixes #340174.
15064
15065 2006-05-08  Edward Hervey  <edward@fluendo.com>
15066
15067         * autogen.sh: (CONFIGURE_DEF_OPT): 
15068         Darwin's libtoolize is in fact called glibtoolize.
15069         Adding glibtoolize to the list of accepted names for libtoolize.
15070
15071 2006-05-08  Wim Taymans  <wim@fluendo.com>
15072
15073         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
15074         Unify error handling, don't post an error message
15075         when a push() returns EOS but perform our normal EOS
15076         handling code. Fixes #340772.
15077
15078 2006-05-08  Wim Taymans  <wim@fluendo.com>
15079
15080         * docs/design/part-overview.txt:
15081         Make upsteam/downstream concepts more clear.
15082         Give an example of serialized/non-serialized events.
15083
15084         * docs/design/part-events.txt:
15085         * docs/design/part-streams.txt:
15086         Mention applied_rate.
15087
15088         * docs/design/part-trickmodes.txt:
15089         Mention applied rate, flesh out some more use cases.
15090
15091         * gst/gstevent.c: (gst_event_new_new_segment),
15092         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
15093         (gst_event_parse_new_segment_full), (gst_event_new_tag),
15094         (gst_event_parse_tag), (gst_event_new_buffer_size),
15095         (gst_event_parse_buffer_size), (gst_event_new_qos),
15096         (gst_event_parse_qos), (gst_event_parse_seek),
15097         (gst_event_new_navigation):
15098         * gst/gstevent.h:
15099         Add applied_rate field to NEWSEGMENT event.
15100         API: gst_event_new_new_segment_full()
15101         API: gst_event_parse_new_segment_full()
15102
15103         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
15104         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
15105         (gst_segment_to_stream_time), (gst_segment_to_running_time):
15106         * gst/gstsegment.h:
15107         Add applied_rate to GstSegment structure.
15108         Make calculation of stream_time and running_time more correct
15109         wrt rate/applied_rate.
15110         Add some more docs.
15111         API: GstSegment::applied_rate field
15112         API: gst_segment_set_newsegment_full();
15113
15114         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15115         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
15116         * libs/gst/base/gstbasetransform.c:
15117         (gst_base_transform_sink_eventfunc),
15118         (gst_base_transform_handle_buffer):
15119         Parse and use applied_rate in the GstSegment field.
15120
15121         * tests/check/gst/gstevent.c: (GST_START_TEST):
15122         Add check for applied_rate field.
15123
15124         * tests/check/gst/gstsegment.c: (GST_START_TEST),
15125         (gstsegments_suite):
15126         Add more checks for various GstSegment operations.
15127
15128 2006-05-08  Wim Taymans  <wim@fluendo.com>
15129
15130         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15131         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
15132         (gst_base_sink_get_position), (gst_base_sink_change_state):
15133         Store the sync time of the buffer end position separatly in a
15134         new variable eos_rtime so we can properly sync the EOS event.
15135         Fixes #340697.
15136         Fix the docs for gst_base_sink_set_qos_enabled().
15137         Don't set segment start to invalid value when we receive a 
15138         non TIME newsegment.
15139         get closer to handling position reporting for negative rates 
15140         correctly.
15141
15142 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15143
15144         * gst/gstcaps.c:
15145         Docs about how to print caps for debug purposes.
15146
15147         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
15148         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
15149
15150 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15151
15152         * gst/gstelement.c:
15153           use full enum names and preprend a '%' in docs strings to make recent 
15154           gtk-doc turn that into a link
15155
15156 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15157
15158         * docs/manual/basics-bins.xml:
15159         * docs/manual/basics-bus.xml:
15160         * docs/manual/basics-pads.xml:
15161           Some typo fixes, some additions, some clarifications. 
15162
15163 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15164
15165         * tools/gst-inspect.c: (main):
15166         * tools/gst-launch.c: (main):
15167         * tools/gst-run.c: (main):
15168         * tools/gst-typefind.c: (main):
15169         * tools/gst-xmlinspect.c: (main):
15170           Use the string passed to g_option_context_new() for
15171           what it's intended for - the program name is already
15172           printed elsewhere.
15173
15174 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15175
15176         * tools/Makefile.am:
15177         * tools/gst-inspect.c: (main):
15178         * tools/gst-launch.c: (main):
15179         * tools/gst-xmlinspect.c: (main):
15180         * tools/tools.h:
15181           Add back --version command line option (#340460).
15182
15183         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
15184           Add --version option and use GOption for argument parsing; refactor a
15185           bit; accept directories as arguments and recurse into them; lastly,
15186           print a decent error message when things go wrong.
15187
15188 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15189
15190         * docs/manual/basics-bins.xml:
15191         Don't mention GstThread (#340611)
15192         * docs/manual/basics-elements.xml:
15193         Update link to GObject tutorial (#340607)
15194         
15195 2006-05-05  Wim Taymans  <wim@fluendo.com>
15196
15197         * gst/gstbuffer.h:
15198         * gst/gstminiobject.c:
15199         Add note about refcounting and miniobject/buffer writeability
15200         to docs. Fixes #340604
15201
15202         * gst/gstelementfactory.h:
15203         Added some explanation about @klass.
15204
15205 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15206
15207         * docs/manual/intro-motivation.xml:
15208         * docs/manual/manual.xml:
15209         Avoid CORBA & Bonobo references (#340598)
15210
15211 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15212
15213         * docs/manual/basics-bus.xml:
15214         * docs/manual/basics-pads.xml:
15215         Fix up some inaccuracies and omissions (#340609)
15216         
15217 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15218
15219         * gst/gstghostpad.c:
15220           Small typo in docs (#340625)
15221
15222 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15223
15224         * gst/parse/Makefile.am:
15225           Make 'make -j' proof (see #340698).
15226
15227 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15228
15229         * configure.ac:
15230           Require GLib-2.8 here as well.
15231
15232 2006-05-05  Wim Taymans  <wim@fluendo.com>
15233
15234         * gst/glib-compat.c:
15235         * gst/gst.c: (init_pre):
15236         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15237         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
15238         (gst_object_dispatch_properties_changed):
15239         * gst/gstobject.h:
15240         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15241         * gst/gststructure.c: (gst_structure_set_valist):
15242         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15243         Remove pre glib2.8 compatibility, fixes #340508
15244
15245 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15246
15247         * gst/gsttaglist.h:
15248           Mention type of tags in doc blurbs.
15249
15250 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
15251
15252         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15253         (gst_pad_configure_src), (gst_pad_push):
15254         Restore acceptcaps checking behaviour now that good plugins have
15255         been released.
15256
15257 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15258
15259         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
15260
15261         * gst/gst.c:
15262         * gst/gstbus.c:
15263         * gst/gstclock.c:
15264         * gst/gstevent.c:
15265         * gst/gstformat.c:
15266         * gst/gstmessage.c:
15267         * gst/gstparse.c:
15268         * gst/gstquery.c:
15269         * gst/gstutils.c:
15270         * gst/parse/Makefile.am:
15271         * libs/gst/base/gstadapter.c:
15272         * libs/gst/base/gstbasesrc.c:
15273         * libs/gst/base/gstpushsrc.c:
15274         * libs/gst/base/gsttypefindhelper.c:
15275         * plugins/elements/gstfakesrc.c:
15276         * plugins/elements/gstidentity.c:
15277           Make sure gstprivate.h and/or config.h are
15278           always included first, otherwise some of our
15279           defines (like _FILE_OFFSET_BITS) might be
15280           redefined in the system headers. Fixes build
15281           on opensolaris (#340016).
15282
15283 2006-05-04  Wim Taymans  <wim@fluendo.com>
15284
15285         * docs/libs/gstreamer-libs-sections.txt:
15286         API: addition: gst_adapter_take_buffer()
15287         
15288         * libs/gst/base/gstadapter.c: (gst_adapter_push),
15289         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
15290         (gst_adapter_available_fast):
15291         * libs/gst/base/gstadapter.h:
15292         Prepare for optimizing the hell out of this hugely inefficient
15293         piece of code. 
15294         Added gst_adapter_take_buffer() so we can at least start thinking
15295         about subbuffering and merging.
15296         Added some comments.
15297
15298         * tests/check/Makefile.am:
15299         * tests/check/libs/adapter.c: (GST_START_TEST),
15300         (gst_adapter_suite), (main):
15301         Added GstAdapter check.
15302
15303 2006-05-04  Wim Taymans  <wim@fluendo.com>
15304
15305         * docs/design/part-overview.txt:
15306         Fix some typos, add blurb about buffer flags.
15307
15308 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15309
15310         * docs/libs/gstreamer-libs-sections.txt:
15311           make sure GstBaseTransformClass shows up in the docs
15312         * libs/gst/base/gstbasetransform.c:
15313         * libs/gst/base/gstbasetransform.h:
15314           move docs so gtk-doc picks it up now
15315
15316 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15317
15318         * docs/libs/gstreamer-libs-sections.txt:
15319           add missing symbols to docs
15320
15321 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15322
15323         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15324           back out the newsegment handling change, see #340060 for ongoing
15325           discussion
15326
15327 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
15328
15329         * tools/gst-run.c: (get_candidates), (main):
15330           Fix wrong g_file_test() usage (see glib docs for why it doesn't
15331           work); fix typo in error message. Fixes #340079.
15332
15333 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15334
15335         * common/Makefile.am:
15336         * docs/Makefile.am:
15337         * docs/faq/Makefile.am:
15338         * docs/gst/Makefile.am:
15339         * docs/libs/Makefile.am:
15340         * docs/manual/Makefile.am:
15341         * docs/plugins/Makefile.am:
15342         * docs/pwg/Makefile.am:
15343         * docs/slides/Makefile.am:
15344         * docs/upload.mak:
15345         * common/upload.mak:
15346           move upload.mak to common
15347
15348 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15349
15350         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15351           add more asserts on refcounts
15352           do more cleanup at end of tests
15353           fix test leaks showing in FC5
15354
15355 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
15356
15357         * plugins/elements/gsttypefindelement.c:
15358         (gst_type_find_element_handle_event):
15359         reverted wrong change and reflowed code to avoid others falling into
15360         this trap
15361
15362 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15363
15364         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15365           fix changelog entry about last collectpads change,
15366           add notes about proper fix
15367
15368 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15369
15370         * gst/gst.c:
15371         * gst/gstregistry.c: (gst_registry_scan_path_level),
15372         (gst_registry_scan_path):
15373         * gst/gstregistry.h:
15374           only write out registry if it has changed, fixes #338339
15375
15376 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15377
15378         * gst/gstbin.c:
15379         * gst/gstpipeline.c:
15380         * plugins/elements/gstcapsfilter.c:
15381         * plugins/elements/gstfakesink.c:
15382         * plugins/elements/gstfakesrc.c:
15383         * plugins/elements/gstfdsink.c:
15384         * plugins/elements/gstfdsrc.c:
15385         * plugins/elements/gstfilesink.c:
15386         * plugins/elements/gstfilesrc.c:
15387         * plugins/elements/gstidentity.c:
15388         * plugins/elements/gstqueue.c:
15389         * plugins/elements/gsttee.c:
15390         * plugins/elements/gsttypefindelement.c:
15391         (gst_type_find_element_handle_event):
15392           make GstElementDetails const
15393
15394 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15395
15396         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
15397         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15398         (gst_collect_pads_is_collected), (gst_collect_pads_event):
15399           more detailed debug and formatting cleanup,
15400           forward newsegments to src-pad (so that e.g. adder not eats them)
15401
15402 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15403
15404         * gst/gstutils.c: (gst_element_link_pads):
15405           cleanup double code
15406
15407 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15408
15409         * libs/gst/controller/gstcontroller.c:
15410         (gst_controller_sync_values):
15411           some little tuning
15412         * tests/check/libs/controller.c: (GST_START_TEST),
15413         (gst_controller_suite):
15414           a new test for live value handling
15415
15416 2006-04-28  Wim Taymans  <wim@fluendo.com>
15417
15418         * gst/gstutils.c: (push_and_ref):
15419         Added some more docs.
15420         Fix refcount issue whith gst_element_found_tags() helper 
15421         function. Fixes #338335
15422
15423         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15424         Added testsuite for gst_element_found_tags().
15425
15426 2006-04-28  Michael Smith  <msmith@fluendo.com>
15427
15428         * gst/gstvalue.c: (gst_value_serialize_flags):
15429           Avoid NULL dereference when trying to serialize flags containing
15430           invalid values.
15431
15432 2006-04-28  Michael Smith  <msmith@fluendo.com>
15433
15434         * plugins/elements/gsttypefindelement.c:
15435         (gst_type_find_element_handle_event):
15436           If we get EOS before any data is accumulated, don't use
15437           uninitialised local variables.
15438
15439 2006-04-28  Michael Smith  <msmith@fluendo.com>
15440
15441         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15442         (gst_dp_event_from_packet):
15443           Fixes in reading/writing events over GDP (not currently used?) - 
15444           dereferencing NULL events for unknown/invalid event types, memory
15445           leak, and change g_warning to GST_WARNING.
15446
15447 2006-04-28  Wim Taymans  <wim@fluendo.com>
15448
15449         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
15450         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15451         (gst_base_sink_get_position), (gst_base_sink_change_state):
15452         When frame dropping is enabled, we should not ignore frames
15453         without a duration.
15454         Update some documentation.
15455
15456 2006-04-28  Wim Taymans  <wim@fluendo.com>
15457
15458         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15459         (gst_base_src_send_event), (gst_base_src_change_state):
15460         Documentation updates.
15461
15462 2006-04-28  Wim Taymans  <wim@fluendo.com>
15463
15464         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
15465         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
15466         handle EAGAIN, EINTR and short writes correctly. Also clean
15467         up some error cases, avoid a deadlock on bad file descriptors and
15468         use GST_DEBUG_OBJECT.
15469         Fixes #339843
15470
15471 2006-04-28  Wim Taymans  <wim@fluendo.com>
15472
15473         * gst/gstvalue.c: (gst_value_serialize_buffer),
15474         (gst_value_deserialize_buffer):
15475         Don't try to serialize a GValue with a NULL buffer. 
15476         Fixes #339821.
15477
15478         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15479         Added check for serialisation of NULL buffers.
15480
15481 2006-04-28  Wim Taymans  <wim@fluendo.com>
15482
15483         * gst/gstminiobject.c: (gst_value_take_mini_object):
15484         Taking a NULL miniobject is valid, fix the case where
15485         we try to unref the NULL miniobject.
15486
15487 2006-04-28  Wim Taymans  <wim@fluendo.com>
15488
15489         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
15490
15491         * gst/gstbin.c: (gst_bin_handle_message_func):
15492         Update docs.
15493         Don't leak bin refcount when a state recalc is
15494         in progress and we delay another one #339808.
15495
15496 2006-04-28  Wim Taymans  <wim@fluendo.com>
15497
15498         * docs/design/part-TODO.txt:
15499         Mention QoS as an ongoing work item.
15500
15501         * docs/design/part-buffering.txt:
15502         New doc about buffering that needs to be fleshed out
15503         at some point.
15504
15505         * docs/design/part-qos.txt:
15506         More QoS policy for decoders/demuxers/transforms
15507
15508         * docs/design/part-trickmodes.txt:
15509         Small update.
15510
15511 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15512
15513         * configure.ac:
15514           back to HEAD
15515
15516 === release 0.10.5 ===
15517
15518 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
15519
15520         * configure.ac:
15521           releasing 0.10.5, "Fogo"
15522
15523 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15524
15525         patch by: Wim Taymans
15526
15527         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15528         (gst_pad_configure_src), (gst_pad_push):
15529         * gst/gstpipeline.c: (gst_pipeline_init):
15530           Fix internal data flow errors.  Fixes #338711.
15531
15532 2006-04-12  Wim Taymans  <wim@fluendo.com>
15533
15534         * tests/check/gst/gstelement.c: (GST_START_TEST):
15535         Don't leak the factory.
15536
15537 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15538
15539         * configure.ac:
15540         * win32/common/config.h:
15541           prerelease
15542
15543 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
15544
15545         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15546         (gst_controller_unset_all):
15547           Free allocated GstTimedValues when freeing list nodes.
15548           Should fix leaks 'make check-valgrind' complains about.
15549
15550         * win32/common/libgstcontroller.def:
15551           Add gst_controller_unset_all.
15552
15553 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
15554
15555         * docs/libs/gstreamer-libs-sections.txt:
15556         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15557         (gst_controller_unset_all):
15558         * libs/gst/controller/gstcontroller.h:
15559         API: Added new method gst_controller_unset_all()
15560         fixed gst_controller_unset()
15561         * tests/check/libs/controller.c: (GST_START_TEST),
15562         (gst_controller_suite):
15563         Added two testcases for new and fixed method
15564
15565 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
15566
15567         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
15568           MSG_DONTWAIT is not defined on Cygwin, so work
15569           around that (fixes #317048).
15570           
15571 2006-04-11  Wim Taymans  <wim@fluendo.com>
15572
15573         * gst/gstelementfactory.c: (gst_element_register),
15574         (gst_element_factory_create), (gst_element_factory_make):
15575         Some cleanups.
15576         Fixed a FIXME.
15577         Updated docs (Fixes #131079)
15578
15579         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15580         Small cleanups.
15581
15582         * tests/check/gst/gstelement.c: (GST_START_TEST),
15583         (gst_element_suite):
15584         Added testcase for elementfactory class field.
15585
15586 2006-04-10  Wim Taymans  <wim@fluendo.com>
15587
15588         * gst/gstsegment.c:
15589         Added some more docs.
15590
15591         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
15592         (gst_base_sink_reset_qos):
15593         Calculate more accurate rate values.
15594
15595 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
15596
15597         * gst/gst_private.h:
15598           add a new #ifdef to use __declspec(dllimport) only for
15599           other modules and not for gstreamer core
15600         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
15601           use gst_guint64_to_gdouble for conversion
15602         * win32/common/libgstreamer.def:
15603           add new exported functions
15604         * win32/vs6/gst_inspect.dsp:
15605         * win32/vs6/gst_launch.dsp:
15606         * win32/vs6/libgstbase.dsp:
15607         * win32/vs6/libgstcontroller.dsp:
15608         * win32/vs6/libgstcoreelements.dsp:
15609         * win32/vs6/libgstdataprotocol.dsp:
15610         * win32/vs6/libgstnet.dsp:
15611           update project files
15612
15613 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15614
15615         * gst/gstbuffer.c: (gst_subbuffer_class_init):
15616         * gst/gstclock.c: (gst_clock_class_init):
15617         * gst/gstelement.c: (gst_element_class_init):
15618         * gst/gstindex.c: (gst_index_class_init):
15619         * gst/gstindexfactory.c: (gst_index_factory_class_init):
15620         * gst/gstobject.c: (gst_object_class_init),
15621         (gst_signal_object_class_init):
15622         * gst/gstpad.c: (gst_pad_class_init):
15623         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
15624         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
15625         * gst/gstregistry.c: (gst_registry_class_init):
15626         * gst/gstsystemclock.c: (gst_system_clock_class_init):
15627         * gst/gsttask.c: (gst_task_class_init):
15628         * gst/gstxml.c: (gst_xml_class_init):
15629         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15630         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15631         (gst_base_src_loop):
15632         * libs/gst/controller/gstcontroller.c:/
15633         (_gst_controller_class_init):
15634         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15635         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
15636         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
15637         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15638         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15639         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
15640
15641 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
15642
15643         * gst/gstpad.c: (gst_pad_link):
15644           Must set peer pads before calling the link function, otherwise
15645           a task started from a link function might get a flow-not-linked
15646           result when trying to push because the other thread where the
15647           linking happens hasn't had a chance to set the peers yet. This
15648           might happen for example when a queue gets linked to a downstream
15649           element, as queue starts a streaming task when its source pad
15650           gets linked. Happens in real life when playing back flac/musepack
15651           files in playbin (#332390).
15652           
15653 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15654
15655         * gst/gstindex.h:
15656         * gst/gstxml.h:
15657         * libs/gst/base/gstadapter.h:
15658         * libs/gst/base/gstbasesink.h:
15659         * libs/gst/base/gstbasesrc.h:
15660         * libs/gst/base/gstbasetransform.h:
15661         * libs/gst/base/gstcollectpads.h:
15662         * libs/gst/base/gstpushsrc.h:
15663         Fix broken GObject macros
15664
15665 2006-04-07  Wim Taymans  <wim@fluendo.com>
15666
15667         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15668         Initialize start and stop times, thanks valgrind.
15669
15670 2006-04-07  Wim Taymans  <wim@fluendo.com>
15671
15672         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15673         Be a bit nicer to badly behaving upstream elements that expect
15674         us to deal with non TIME segments and timestamps (such as fakesrc
15675         in the testsuite).
15676
15677 2006-04-07  Wim Taymans  <wim@fluendo.com>
15678
15679         * gst/gstbus.c:
15680         Small documentation clarification about the signal watch.
15681
15682         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15683         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
15684         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15685         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15686         (gst_base_sink_get_position_last),
15687         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
15688         Convert and store timestamps in stream time and running time, the
15689         raw timestamps are not useful, also document this better.
15690         Use different window sizes for good and bad QoS observations so
15691         we react to badness a little quicker.
15692         Keep track of the amount of rendered and dropped buffers.
15693         Send QoS timestamps in running time.
15694
15695         * libs/gst/base/gstbasetransform.c:
15696         (gst_base_transform_sink_eventfunc),
15697         (gst_base_transform_handle_buffer):
15698         Compare QoS timestamps against running time.
15699
15700 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
15701
15702         * gst/gstpad.c:
15703           Typo fixes in docs.
15704
15705 2006-04-06  Michael Smith  <msmith@fluendo.com>
15706
15707         * gst/gstpad.c: (gst_pad_set_property):
15708           Use g_value_get_object() instead of g_value_dup_gst_object(),
15709           to avoid double-reffing the pad template (which we then sink,
15710           so this worked previously if (and only if) the pad template
15711           was floating.
15712
15713         * gst/gstpadtemplate.c: (gst_pad_template_init),
15714         (gst_pad_template_pad_created):
15715           Never return floating references to pad templates, create
15716           them as initially-sunken.
15717
15718           Document an extra function (and make this stop sinking our
15719           pad template, since that is now guaranteed to do nothing,
15720           since we created it sunken).
15721
15722         * gst/gstghostpad.c:
15723           Fix docs typo.
15724
15725 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
15726
15727         * gst/gstinfo.c: (__gst_in_valgrind):
15728           Add some newlines.
15729
15730         * plugins/elements/gsttypefindelement.c:
15731         (gst_type_find_element_chain):
15732           Don't leak buffer caps.
15733
15734 2006-04-06  Michael Smith  <msmith@fluendo.com>
15735
15736         * gst/parse/grammar.y:
15737           Fix a leak in parse-launch for any source-or-sink named element 
15738           references used.
15739
15740         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
15741           Unref the pipeline if it exists after we've failed parsing.
15742
15743 2006-04-05  Michael Smith  <msmith@fluendo.com>
15744
15745         * gst/gstpipeline.c: (gst_pipeline_init):
15746           When we create a pipeline bus, initially create it in flushing mode.
15747           Fixes leaks in at least one test, and makes a new pipeline work the
15748           same as one that has gone to READY and then back to NULL.
15749
15750         * gst/gstelement.c:
15751           Typo fix in docs.
15752
15753 2006-04-05  Michael Smith  <msmith@fluendo.com>
15754
15755         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15756           Unref a pad we reffed.
15757         * tests/check/gst/gstutils.c: (GST_START_TEST):
15758           Unref bins
15759
15760 2006-04-05  Michael Smith  <msmith@fluendo.com>
15761
15762         * gst/gstquery.c: (gst_query_set_formats),
15763         (gst_query_set_formatsv):
15764           Fix leaking GValues in queries, as shown by valgrind/testsuite.
15765
15766 2006-04-05  Michael Smith  <msmith@fluendo.com>
15767
15768         * tests/check/generic/sinks.c: (GST_START_TEST):
15769           Fix a variety of memleaks in sinks check, which are only sometimes 
15770           shown by running the tests under valgrind (weird?).
15771
15772 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
15773
15774         * docs/version.entities.in:
15775           Fix the substituted entity name after thomas' changes on the
15776           weekend.
15777
15778 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
15779
15780         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
15781         VALGRIND_PRINTF
15782         
15783 2006-04-05  Andy Wingo  <wingo@pobox.com>
15784
15785         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
15786
15787         * libs/gst/base/gstbasetransform.c
15788         (gst_base_transform_sink_eventfunc): When resetting our segment on
15789         FLUSH_STOP, also update the flag saying we haven't seen a
15790         newsegment.
15791
15792 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
15793
15794         Patch by: Paolo Borelli  <pborelli at katamail dot com>
15795
15796         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
15797         (gst_plugin_check_license):
15798           minor clean-ups: G_DEFINE_TYPE already takes care of the
15799           parent_class stuff, no need to do it twice. Mark array of
15800           license strings as constant. (#337103)
15801           
15802 2006-04-04  Michael Smith  <msmith@fluendo.com>
15803
15804         * tools/gst-inspect.c: (print_element_list):
15805           Free the right plugin list; fixes a memory leak.
15806
15807 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
15808
15809         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
15810
15811         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
15812           Don't error out on empty buffers (#336945).
15813           
15814 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
15815
15816         * docs/libs/gstreamer-libs-sections.txt:
15817         * gst/gsttaglist.c:
15818         * libs/gst/base/gstbasesink.c:
15819         * libs/gst/base/gstbasesink.h:
15820         * libs/gst/base/gstbasesrc.c:
15821         * libs/gst/base/gstbasesrc.h:
15822           Documentation updates. Make BaseSink and BaseSrc docs contain the
15823           class structure so that people can actually see the prototypes for
15824           virtual functions they're supposed to be overriding.
15825
15826 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
15827
15828         * plugins/elements/gsttypefindelement.c:
15829         (gst_type_find_element_chain):
15830           More debug info; when skipping typefinding, send cached
15831           events in all cases.
15832
15833 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
15834
15835         * configure.ac:
15836           use new AS_VERSION and AS_NANO macros
15837         * gst/gst-i18n-lib.h:
15838         * gst/gst.c:
15839         * gst/gsterror.c:
15840         * gst/gstversion.h.in:
15841         * win32/common/config.h:
15842         * win32/common/config.h.in:
15843           update accordingly
15844
15845 2006-03-31  Michael Smith  <msmith@fluendo.com>
15846
15847         * plugins/elements/gsttypefindelement.c:
15848         (gst_type_find_element_chain):
15849           Do not typefind content if the buffers already have caps.
15850           Neccesary for icydemux (#333657), and the right thing to do anyway.
15851
15852 2006-03-30  Wim Taymans  <wim@fluendo.com>
15853
15854         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
15855         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
15856         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
15857         (gst_base_sink_record_qos_observation),
15858         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15859         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
15860         (gst_base_sink_change_state):
15861         More QoS measurements as described in the design doc.
15862         Get rid of ringbuffer with observations, running average is
15863         more simple and equally good.
15864         Calculates valid proportion now.
15865         Added beginning of flood measurement.
15866
15867 2006-03-29  Wim Taymans  <wim@fluendo.com>
15868
15869         * docs/design/part-qos.txt:
15870         * gst/gstclock.c:
15871         Small documentation updates and additions.
15872
15873 2006-03-29  Wim Taymans  <wim@fluendo.com>
15874
15875         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
15876         (gst_base_src_send_event), (gst_base_src_loop),
15877         (gst_base_src_change_state):
15878         Perform the EOS logic when we reach the segment stop position.
15879         Fix compilation on gcc4.1
15880
15881 2006-03-29  Wim Taymans  <wim@fluendo.com>
15882
15883         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
15884
15885         * plugins/elements/gstqueue.c: (gst_queue_init),
15886         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
15887         (gst_queue_set_property):
15888         * plugins/elements/gstqueue.h:
15889         In queue, when EOS is received, if minimum threshold > max_size -
15890         current_level, there is chance that queue blocks forever in conditional
15891         item del wait. This is because the queue is not emptied completely due
15892         to minimum threshold.  Here is another approach. Instead of setting
15893         cur_levels to max in EOS, just zero all minimum threshold levels. This
15894         should make sure that queue gives out all data. When going to READY
15895         (stop) state, just reset the original minimum threshold levels.
15896         Fixes #336336.
15897
15898 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
15899
15900         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
15901         (gst_type_find_element_handle_event),
15902         (gst_type_find_element_send_cached_events),
15903         (gst_type_find_element_change_state):
15904         * plugins/elements/gsttypefindelement.h:
15905           When typefinding is done in push mode, we should cache
15906           events we receive during typefinding instead of just
15907           dropping them (e.g. newsegment, custom events from
15908           dvdreadsrc etc.) and then send them out once we've
15909           determined the type of the stream (and decodebin
15910           has had a chance to plug in a decoder/demuxer).
15911           
15912 2006-03-27  Wim Taymans  <wim@fluendo.com>
15913
15914         * docs/design/part-qos.txt:
15915         First QoS ideas.
15916
15917 2006-03-27  Wim Taymans  <wim@fluendo.com>
15918
15919         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
15920
15921         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
15922         (gst_base_src_send_event), (gst_base_src_change_state):
15923         Handle element seek correctly when we are streaming.
15924         Fixes #326998.
15925
15926 2006-03-24  Michael Smith  <msmith@fluendo.com>
15927
15928         * docs/faq/gst-uninstalled:
15929           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
15930           allow you to correctly run intalled applications built against old 
15931           core, using plugins that require updated core (e.g. running
15932           installed totem against a full uninstalled gstreamer stack)
15933
15934 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
15935
15936         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
15937         more debug details
15938
15939 2006-03-24  Wim Taymans  <wim@fluendo.com>
15940
15941         * docs/gst/gstreamer-sections.txt:
15942         Rearrange the order of the methods so that related methods
15943         are grouped together in sections.
15944
15945 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
15946
15947         * gst/gstelement.c:
15948           Little clarification in the docs
15949
15950 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
15951
15952         * docs/README:
15953         formatting fix
15954         * plugins/elements/gstidentity.c:
15955         * plugins/elements/gstqueue.c:
15956         * plugins/elements/gsttee.c:
15957         * plugins/elements/gsttypefindelement.c:
15958         GST_ELEMENT_DETAILS formatting
15959
15960 2006-03-24  Wim Taymans  <wim@fluendo.com>
15961
15962         * libs/gst/base/gstbasesink.h:
15963         Only add fields, not insert or we break ABI.
15964
15965 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
15966
15967         * win32/common/libgstbase.def:
15968         * win32/common/libgstreamer.def:
15969           Update, add recently added functions.
15970
15971 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
15972
15973         * docs/gst/gstreamer-sections.txt:
15974         * gst/gstutils.c: (gst_pad_query_peer_position),
15975         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
15976         * gst/gstutils.h:
15977           API: add some new utility functions:
15978            - gst_pad_query_peer_position()
15979            - gst_pad_query_peer_duration()
15980            - gst_pad_query_peer_convert()
15981           
15982 2006-03-23  Wim Taymans  <wim@fluendo.com>
15983
15984         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
15985         (gst_base_sink_init), (gst_base_sink_finalize),
15986         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
15987         (gst_base_sink_set_property), (gst_base_sink_get_property),
15988         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
15989         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
15990         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
15991         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15992         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
15993         (gst_base_sink_preroll_object), (gst_base_sink_event),
15994         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
15995         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
15996         (gst_base_sink_query), (gst_base_sink_change_state):
15997         Decouple max-lateness and the fact that QoS messages are generated
15998         with a new property (qos).
15999         added API: GstBaseSink::async_play()
16000         Add vmethod so subclasses can be notified of ASYNC playing
16001         state changes.
16002         Collect timestamp start and stop to report better current
16003         position in EOS/PLAYING/PAUSED/READY/NULL.
16004         Refactor QoS/frame dropping and other measurements.
16005         API: GstBaseSrc::qos
16006         Fixes #326311
16007
16008         * libs/gst/base/gstbasesink.h:
16009         Added Private struct.
16010         API: gst_base_sink_set_qos_enabled()
16011         API: gst_base_sink_is_qos_enabled()
16012
16013 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
16014
16015         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
16016           If compiling against GLib-2.8 or newer, try to read the
16017           registry file using GMappedFile first before falling back
16018           to fopen() + fread() (#332151).
16019
16020 2006-03-22  Wim Taymans  <wim@fluendo.com>
16021
16022         * gst/gstinfo.c: (gst_debug_set_active),
16023         (gst_debug_category_set_threshold):
16024         Disable debugging unless explicitly activated.
16025         Fixes #335480.
16026
16027 2006-03-22  Wim Taymans  <wim@fluendo.com>
16028
16029         * gst/gstelement.c: (gst_element_set_locked_state),
16030         (gst_element_dispose):
16031         Cleanup the error case.
16032
16033         * gst/gstobject.c: (gst_object_dispose):
16034         print a critical when some object was disposed with
16035         a parent, also revive the object since it might
16036         crash the parent.
16037
16038 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
16039
16040         * tools/gst-launch.1.in:
16041           Fix another typo.
16042
16043 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16044
16045         * configure.ac:
16046         * tests/check/Makefile.am:
16047           disable some tests when we don't have a registry
16048         * tests/check/gst/gstutils.c: (gst_utils_suite):
16049           don't build the part that needs parsing
16050
16051 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
16052
16053         * gst/Makefile.am
16054         * tests/examples/Makefile.am:
16055           fix --disable-parse build
16056
16057 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16058
16059         * tools/gst-feedback.1.in:
16060           Fix typo: s/feeback/feedback/ (#133494).
16061
16062 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16063
16064         * tools/Makefile.am:
16065         * tools/gst-launch.1.in:
16066           Add FILES section and correct entry about GST_REGISTRY_PATH
16067           environment variable (#133495; #133494).
16068
16069 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16070
16071         * tools/Makefile.am:
16072         * tools/gst-md5sum.1.in:
16073         * tools/gst-md5sum.c:
16074           Remove gst-md5sum and man page (the md5sink element
16075           required was removed ages ago)
16076
16077 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16078
16079         * gst/gststructure.c: (gst_structure_id_set_value):
16080           Make sure that string fields in structures/taglists
16081           contain valid UTF-8 - we don't want to pass rubbish to
16082           applications because of a buggy plugin (cp. #334167).
16083
16084 2006-03-21  Edward Hervey  <edward@fluendo.com>
16085
16086         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16087         (gst_bin_handle_message_func):
16088         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
16089         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
16090         (gst_element_set_bus_func):
16091         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
16092         * gst/gstminiobject.c: (gst_value_set_mini_object),
16093         (gst_value_take_mini_object):
16094         * gst/gstpad.c: (gst_pad_set_pad_template):
16095         * gst/gstpipeline.c: (gst_pipeline_dispose),
16096         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16097         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
16098         (gst_collect_pads_chain):
16099         * libs/gst/net/gstnettimeprovider.c:
16100         (gst_net_time_provider_set_property):
16101         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
16102         It's in fact all issues with gst_*object_replace().
16103
16104 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16105
16106         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
16107         
16108         * pkgconfig/gstreamer-check-uninstalled.pc.in:
16109         * pkgconfig/gstreamer-check.pc.in:
16110           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
16111
16112 2006-03-21  Edward Hervey  <edward@fluendo.com>
16113
16114         * gst/gstbuffer.h:
16115         * gst/gstevent.h:
16116         * gst/gstmessage.h:
16117         gst_[buffer|event|message]_ref() macros are replaced by a static
16118         inline functions because gcc-4.1 will about if the return value
16119         isn't used.
16120         * tests/check/gst/gstevent.c: (event_probe):
16121         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
16122
16123 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
16124
16125         * gst/gstutils.h:
16126         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16127         the type' case. (Closes: #335195 for now). In the future, when we
16128         depend on GLib 2.10, we could also intern the type name using
16129         g_intern_static_string()
16130
16131 2006-03-20  Wim Taymans  <wim@fluendo.com>
16132
16133         * gst/gstbin.c: (gst_bin_handle_message_func),
16134         (bin_query_max_init), (bin_query_position_fold),
16135         (bin_query_position_done), (gst_bin_query):
16136         Position query should also take max of all streams.
16137
16138 2006-03-20  Wim Taymans  <wim@fluendo.com>
16139
16140         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16141         (gst_fake_src_finalize):
16142         Fix leaks in fakesrc.
16143
16144         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
16145         Fix leaks in the testcase.
16146
16147 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
16148
16149         * gst/gst_private.h:
16150           add win32 specific import decoration(__declspec(dllimport)) 
16151           for all extern GstDebugCategory * variables
16152         * win32/common/libgstbase.def:
16153         * win32/common/libgstcontroller.def:
16154         * win32/common/libgstreamer.def:
16155           Add some exports, remove empty lines
16156         * win32/common/libgstdataprotocol.def:
16157         * win32/common/libgstdataprotocol.dsp:
16158         * win32/common/libgstnet.def:
16159         * win32/common/libgstnet.dsp:
16160           new project files and exportation files added
16161         
16162 2006-03-19  Wim Taymans  <wim@fluendo.com>
16163
16164         * tests/check/libs/basesrc.c: (eos_event_counter):
16165         Use proper return value for probe.
16166
16167 2006-03-17  Wim Taymans  <wim@fluendo.com>
16168
16169         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16170         (gst_pad_push):
16171         Don't leak buffers, caps and pads on negotiation errors.
16172
16173 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
16174
16175         * docs/faq/cvs.xml:
16176         * docs/faq/dependencies.xml:
16177         * docs/faq/developing.xml:
16178         * docs/faq/faq.xml:
16179         * docs/faq/general.xml:
16180         * docs/faq/getting.xml:
16181         * docs/faq/legal.xml:
16182         * docs/faq/troubleshooting.xml:
16183         * docs/faq/using.xml:
16184         Faq review and update.
16185
16186 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
16187
16188         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16189         (gst_pad_push):
16190         Don't pound the cpu to pieces by checking get_caps when accept_caps
16191         is called with the same caps as the pad already has.
16192         Use GST_DEBUG_OBJECT when outputting caps change information.
16193
16194 2006-03-15  Wim Taymans  <wim@fluendo.com>
16195
16196         * gst/gstclock.c: (gst_clock_class_init):
16197         Fix docs.
16198
16199 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
16200
16201         * gst/gstbuffer.h:
16202         Documentation fix.
16203
16204         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
16205         (gst_pad_accept_caps), (gst_pad_configure_sink),
16206         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
16207         Make the default acceptcaps behaviour be to check the requested 
16208         caps against the gst_pad_get_caps output. 
16209
16210         Ensure that gst_pad_accept_caps is used to check caps when a pad
16211         doesn't have a setcaps function, so that pads automatically refuse 
16212         caps that they don't allow in their pad template. (Fixes #332986)
16213
16214         When a buffer with attached caps is pushed, ensure that the source 
16215         pad receives those caps even if the element didn't call
16216         gst_pad_set_caps first.
16217
16218 2006-03-15  Wim Taymans  <wim@fluendo.com>
16219
16220         * libs/gst/base/gstadapter.c:
16221         Add some docs.
16222
16223 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
16224
16225         * win32/common/libgstbase.def:
16226         * win32/common/libgstcontroller.def:
16227         * win32/common/libgstreamer.def:
16228           Add a whole bunch of missing functions (#334434).
16229
16230 2006-03-14  Wim Taymans  <wim@fluendo.com>
16231
16232         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
16233         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16234         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
16235         Better debug info when we receive a segment event.
16236         Reorganize a bit so we can pass the get_times() results around.
16237         Use the segment format when calculating the running time.
16238         Don't do QoS is sync is disabled or we have no clock or the
16239         element does not want us to sync to the clock.
16240         Don't drop buffers if QoS is disabled for now.
16241
16242 2006-03-14  Wim Taymans  <wim@fluendo.com>
16243
16244         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
16245         Marked the stats property as unimplemented so people don't get
16246         wild ideas.
16247         Add debug message when regression goes wrong.
16248         Added some more docs.
16249
16250 2006-03-14  Wim Taymans  <wim@fluendo.com>
16251
16252         * gst/gstsegment.c: (gst_segment_to_stream_time):
16253         Return correct return type in case of errors.
16254
16255 2006-03-14  Wim Taymans  <wim@fluendo.com>
16256
16257         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
16258           Don't segfault on invalid formats.
16259
16260 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16261
16262         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16263           Can't use gst_segment_to_running_time() when the segment
16264           is not in GST_TIME_FORMAT (like with filesink, for example).
16265           Stops flac encoding pipelines from spewing critical warnings
16266           at EOS (#331248).
16267           
16268 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16269
16270         * gst/gstpipeline.c: (gst_pipeline_class_init):
16271           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
16272
16273         * plugins/elements/gsttypefindelement.c:
16274         (gst_type_find_element_handle_event):
16275           Don't try to typefind empty streams.
16276
16277 2006-03-14  Wim Taymans  <wim@fluendo.com>
16278
16279         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16280         (gst_base_sink_do_qos):
16281         Separate QoS calculation.
16282         Only drop buffers when lateness is bigger than the 
16283         duration of the buffer.
16284
16285 2006-03-13  Wim Taymans  <wim@fluendo.com>
16286
16287         * gst/gstpipeline.c: (gst_pipeline_set_property),
16288         (gst_pipeline_get_property), (do_pipeline_seek),
16289         (gst_pipeline_change_state), (gst_pipeline_set_delay),
16290         (gst_pipeline_get_delay):
16291         Don't deadlock when reading properties.
16292
16293 2006-03-13  Wim Taymans  <wim@fluendo.com>
16294
16295         * libs/gst/base/gstbasetransform.c:
16296         (gst_base_transform_class_init), (gst_base_transform_init),
16297         (gst_base_transform_sink_event),
16298         (gst_base_transform_sink_eventfunc),
16299         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
16300         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16301         (gst_base_transform_set_property),
16302         (gst_base_transform_get_property),
16303         (gst_base_transform_change_state), (gst_base_transform_update_qos),
16304         (gst_base_transform_set_qos_enabled),
16305         (gst_base_transform_is_qos_enabled):
16306         * libs/gst/base/gstbasetransform.h:
16307         Make basetransform virtual method for src events too.
16308         Handle QOS in basetransform.
16309         API: gst_base_transform_update_qos()
16310         API: gst_base_transform_set_qos_enabled()
16311         API: gst_base_transform_is_qos_enabled()
16312
16313 2006-03-13  Wim Taymans  <wim@fluendo.com>
16314
16315         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16316         (gst_base_sink_do_sync):
16317         Small cleanups.
16318         Use QOS debug category.
16319
16320 2006-03-13  Wim Taymans  <wim@fluendo.com>
16321
16322         * plugins/elements/gstqueue.c:
16323         Very small doc update.
16324
16325 2006-03-13  Wim Taymans  <wim@fluendo.com>
16326
16327         * gst/gst_private.h:
16328         * gst/gstinfo.c: (_gst_debug_init):
16329         Added QOS debug category
16330
16331 2006-03-13  Wim Taymans  <wim@fluendo.com>
16332
16333         * docs/gst/gstreamer-sections.txt:
16334         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
16335         * gst/gstbin.h:
16336         * gst/gstbus.c: (gst_bus_class_init):
16337         * gst/gstbus.h:
16338         * gst/gstclock.c:
16339         * gst/gstelement.c: (gst_element_set_locked_state):
16340         * gst/gstsegment.c:
16341         Documentation updates.
16342
16343         * gst/gstpipeline.c: (gst_pipeline_get_type),
16344         (gst_pipeline_class_init), (gst_pipeline_init),
16345         (gst_pipeline_dispose), (gst_pipeline_set_property),
16346         (gst_pipeline_get_property), (do_pipeline_seek),
16347         (gst_pipeline_send_event), (gst_pipeline_change_state),
16348         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
16349         (gst_pipeline_get_delay):
16350         * gst/gstpipeline.h:
16351         Added methods for setting the delay.
16352         API: gst_pipeline_set_delay()
16353         API: gst_pipeline_get_delay()
16354         Add pipeline debug category
16355         Various cleanups.
16356         Updated docs.
16357         Don't reset stream time when seek failed.
16358
16359 2006-03-13  Wim Taymans  <wim@fluendo.com>
16360
16361         * docs/design/draft-klass.txt:
16362         * docs/design/part-clocks.txt:
16363         * docs/design/part-events.txt:
16364         * docs/design/part-gstbin.txt:
16365         * docs/design/part-gstpipeline.txt:
16366         * docs/design/part-messages.txt:
16367         * docs/design/part-negotiation.txt:
16368         * docs/design/part-overview.txt:
16369         * docs/design/part-preroll.txt:
16370         * docs/design/part-seeking.txt:
16371         * docs/design/part-states.txt:
16372         * docs/design/part-streams.txt:
16373         Documentation updates.
16374
16375 2006-03-12  Julien MOUTTE  <julien@moutte.net>
16376
16377         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
16378         us to leak strings...
16379
16380 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16381
16382         * libs/gst/net/gstnettimeprovider.c:
16383           fix docs
16384         * win32/common/config.h:
16385           update
16386
16387 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
16388
16389         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
16390
16391         * configure.ac:
16392           Don't check for libgnomeui (leftover from old examples
16393           that aren't built or disted any longer) (#334303).
16394           
16395 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
16396
16397         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
16398         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16399           Emit RESOURCE_NO_SPACE_LEFT error here as well when
16400           there's no space left on the device.
16401
16402 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
16403
16404         * gst/gstclock.h:
16405           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
16406           to cast the input to GstClockTime before comparing with
16407           another GstClockTime value.
16408
16409 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16410
16411         * configure.ac:
16412           back to trunk
16413
16414 === release 0.10.4 ===
16415
16416 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
16417
16418         * configure.ac:
16419           releasing 0.10.4, "Light"
16420
16421 2006-03-10  Michael Smith  <msmith@fluendo.com>
16422
16423         * libs/gst/dataprotocol/dataprotocol.c:
16424           Fix docs for dataprocotol to not get the return types completely
16425           wrong for a few functions.
16426
16427 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16428
16429         * docs/gst/gstreamer-sections.txt:
16430         * gst/gstpipeline.c: (gst_pipeline_class_init),
16431         (gst_pipeline_init), (gst_pipeline_set_property),
16432         (gst_pipeline_get_property), (gst_pipeline_change_state),
16433         (gst_pipeline_set_auto_flush_bus),
16434         (gst_pipeline_get_auto_flush_bus):
16435         * gst/gstpipeline.h:
16436           Add new API: gst_pipeline_set_auto_flush_bus() and
16437           gst_pipeline_get_auto_flush_bus() to disable automatic
16438           flushing of the pipeline's GstBus when going from READY
16439           to NULL state (#332045).
16440
16441 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16442
16443         * docs/gst/gstreamer-sections.txt:
16444         * gst/gsturi.c: (gst_uri_has_protocol):
16445         * gst/gsturi.h:
16446            Add new API: gst_uri_has_protocol() (#333779).
16447
16448 2006-03-09  Wim Taymans  <wim@fluendo.com>
16449
16450         * gst/gstclock.c: (gst_clock_entry_new),
16451         (gst_clock_id_compare_func), (gst_clock_id_wait),
16452         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
16453         (gst_clock_init), (gst_clock_get_internal_time),
16454         (gst_clock_set_master), (do_linear_regression),
16455         (gst_clock_add_observation), (gst_clock_set_property):
16456         * gst/gstclock.h:
16457         Review docs.
16458         Small cleanups.
16459         Fix a possible segfault when the window-size is made smaller.
16460         Calculate jitter before performing the clock wait. Ideally
16461         the clock implementation should calculate jitter but we need
16462         API breakage for that.
16463
16464         * gst/gstsystemclock.c: (gst_system_clock_init):
16465         Docs review.
16466         
16467         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16468         Remove leftover else
16469
16470         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
16471         (gst_systemclock_suite):
16472         Added check to test GST_CLOCK_DIFF.
16473
16474 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16475
16476         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
16477         (gst_type_find_helper_get_range):
16478           If we are provided with the size, we should implement
16479           GstTypeFind::get_length, so that typefind functions who
16480           want to can actually peek at the middle of a file.
16481
16482 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
16483
16484         * docs/manual/advanced-dataaccess.xml:
16485           Add some very very basic error checking.
16486
16487         * docs/pwg/appendix-checklist.xml:
16488           Some updates to the list of things to check when writing an element.
16489
16490 2006-03-08  Wim Taymans  <wim@fluendo.com>
16491
16492         * docs/design/part-element-transform.txt:
16493         Added some docs about the design of tranform elements.
16494
16495         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16496         (gst_base_src_loop), (gst_base_src_change_state):
16497         Mark buffers with the DISCONT flag.
16498
16499 2006-03-08  Michael Smith  <msmith@fluendo.com>
16500
16501         * gst/gstregistry.h:
16502         * gst/gstregistryxml.c: (gst_registry_save),
16503         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
16504         (gst_registry_xml_save_pad_template),
16505         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
16506         (gst_registry_xml_write_cache):
16507           Rewrite registry-saving to avoid race conditions and check for
16508           failed writes.
16509
16510 2006-03-08  Wim Taymans  <wim@fluendo.com>
16511
16512         * libs/gst/base/gstbasetransform.c:
16513         (gst_base_transform_transform_caps),
16514         (gst_base_transform_transform_size),
16515         (gst_base_transform_prepare_output_buffer),
16516         (gst_base_transform_get_unit_size),
16517         (gst_base_transform_buffer_alloc),
16518         (gst_base_transform_handle_buffer),
16519         (gst_base_transform_change_state):
16520         Cleanups, separate normal flow from errors, add sensible
16521         DEBUG lines.
16522         Don't try to renegotiate when allocating an output buffer.
16523         Also copy DISCONT buffer flag when copying a buffer.
16524         Reset the transform after we finish streaming, not during.
16525
16526 2006-03-08  Wim Taymans  <wim@fluendo.com>
16527
16528         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16529         Use last buffer timestamp in qos message.
16530
16531 2006-03-07  Wim Taymans  <wim@fluendo.com>
16532
16533         Patch by: Christophe Fergeau
16534
16535         * docs/pwg/advanced-tagging.xml:
16536         * docs/pwg/building-pads.xml:
16537           fixes #333416
16538
16539 2006-03-07  Wim Taymans  <wim@fluendo.com>
16540
16541         * docs/libs/gstreamer-libs-sections.txt:
16542         Added basesink new methods.
16543
16544         * gst/gstevent.c:
16545         * gst/gstevent.h:
16546         Docs updates. Flesh out the QoS docs.
16547
16548         * libs/gst/base/gstadapter.c:
16549         Small doc clarification about ownership and flushing.
16550
16551         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
16552         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
16553         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
16554         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16555         * libs/gst/base/gstbasesink.h:
16556         API additions: 
16557         Added new methods to allow subclass to control max-lateness 
16558         and sync.
16559         Generate very basic QoS events based on last sync observation.
16560         Updated docs, fix typo, added some QoS blurb.
16561
16562         * libs/gst/base/gstbasesrc.c:
16563         Remove obsolete _get_state() calls from docs.
16564
16565 2006-03-07  Wim Taymans  <wim@fluendo.com>
16566
16567         * docs/libs/gstreamer-libs-sections.txt:
16568         * libs/gst/base/gstbasetransform.h:
16569         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
16570         Fix docs for GstBaseSrc.
16571
16572 2006-03-07  Wim Taymans  <wim@fluendo.com>
16573
16574         * docs/gst/gstreamer-sections.txt:
16575         * gst/gstbuffer.h:
16576         * gst/gstvalue.c:
16577         * libs/gst/base/gstbasetransform.h:
16578         Small documentation fixes.
16579
16580 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16581
16582         * gst/gstvalue.c:
16583           Document thread-unsafety of gst_value_register_foo_func()
16584           when used at the same time as gst_value_foo() (#322628).
16585
16586 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16587
16588         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
16589         (gst_push_src_check_get_range):
16590           Push sources don't support pull mode by default.
16591
16592 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16593
16594         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16595         (gst_base_src_init), (gst_base_src_pad_check_get_range),
16596         (gst_base_src_default_check_get_range):
16597         * libs/gst/base/gstbasesrc.h:
16598           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
16599           provide default implementation, and rename
16600           gst_base_src_check_get_range() to
16601           gst_base_src_pad_check_get_range() for clarity.
16602
16603 2006-03-06  Wim Taymans  <wim@fluendo.com>
16604
16605         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16606         Make property overridable.
16607
16608 2006-03-06  Wim Taymans  <wim@fluendo.com>
16609
16610         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16611         (gst_base_sink_init), (gst_base_sink_set_property),
16612         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16613         * libs/gst/base/gstbasesink.h:
16614         API addition: Make max-lateness a property.
16615
16616 2006-03-06  Wim Taymans  <wim@fluendo.com>
16617
16618         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
16619         (gst_base_sink_do_sync), (gst_base_sink_render_object):
16620         Don't ever draw a frame that is >10ms late.
16621
16622 2006-03-06  Michael Smith  <msmith@fluendo.com>
16623
16624         * gst/gstmessage.c: (_gst_message_copy):
16625           When copying a message, set the parent_refcount of the enclosed
16626           structure to point at the copy, not the original message.
16627
16628 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16629
16630         Patch by: Christophe Fergeau
16631
16632         * gst/gstutils.h:
16633           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
16634           usable in c++ code (#333417)
16635
16636 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16637
16638         * gst/gstclock.h:
16639           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
16640
16641 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
16642
16643         * libs/gst/base/gstbasetransform.c:
16644         (gst_base_transform_transform_caps):
16645           Make sure caps are writable before passing them to
16646           gst_caps_append().
16647
16648 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
16649
16650         * gst/gsterror.h:
16651           Fix some minor docs errors.
16652
16653 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
16654
16655           Patch by: Ross Burton <ross at burtonini dot com>
16656
16657         * gst/gsterror.c: (_gst_resource_errors_init):
16658         * gst/gsterror.h:
16659           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
16660
16661 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
16662
16663         * gst/gst.c:
16664         Add a check and output a g_warning when GStreamer is built
16665         against GLib 2.6 but running against 2.8 or higher, and vice 
16666         versa. (Closes: #323542)
16667
16668 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
16669
16670         * gst/parse/parse.l:
16671           Commit patch for parse_launch syntax from #331255. Removes 
16672           support for quoted strings and mimetypes when writing filtered 
16673           caps. See the bug report for more details - I'm pretty sure this
16674           obscure feature is not in use by _anyone_ anywhere.
16675
16676           With this simple change, the size of the gstreamer.so here 
16677           drops from 2193KB to 1565KB.
16678
16679 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16680
16681         * plugins/elements/gsttypefindelement.h:
16682         * plugins/elements/gsttypefindelement.c:
16683         (gst_type_find_element_src_event), (start_typefinding),
16684         (stop_typefinding), (gst_type_find_element_handle_event),
16685         (gst_type_find_element_chain),
16686         (gst_type_find_element_chain_do_typefinding):
16687           Use gst_type_find_helper_for_buffer() for chain-based
16688           typefinding.
16689
16690 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16691
16692         * plugins/elements/gsttypefindelement.c:
16693         (gst_type_find_element_class_init),
16694         (gst_type_find_element_set_property),
16695         (gst_type_find_element_get_property):
16696           Deprecate "maximum" property (not only was it only taken into
16697           account for typefinding in push-mode anyway, it also was never
16698           actually possible to set it in the first place because the
16699           property was registered with the numeric property ID for the
16700           "minimum" property). Register "maximum" property correctly,
16701           for the sake of future copy'n'pasters. Remove some cruft
16702           from property get/set functions.
16703
16704 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16705
16706         * plugins/elements/gsttypefindelement.c:
16707         (gst_type_find_element_activate):
16708           Use gst_type_find_helper_get_range() here, so we
16709           can honour the "minimum" property and also emit
16710           the signal with the correct probability of the found caps.
16711
16712 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
16713
16714         * docs/libs/gstreamer-libs-sections.txt:
16715         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
16716         (helper_find_suggest), (gst_type_find_helper_get_range),
16717         (gst_type_find_helper):
16718         * libs/gst/base/gsttypefindhelper.h:
16719           New API: gst_type_find_helper_get_range() (#333042).
16720
16721 2006-03-02  Michael Smith  <msmith@fluendo.com>
16722
16723         * gst/gstregistryxml.c: (load_feature):
16724           Asserting on a failure to read part of the registry is Not Cool.
16725           Just log a warning and return NULL (which is already handled)
16726
16727 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
16728
16729         * win32/common/libgstbase.def:
16730           added export of gst_type_find_helper_for_buffer
16731         * win32/common/libgstbase.def:
16732           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
16733           gst_ghost_pad_get_target
16734
16735 2006-02-28  Wim Taymans  <wim@fluendo.com>
16736
16737         * docs/design/draft-klass.txt:
16738         We use Filter now.
16739         Added Connector to mark elements that are only used to
16740         allow pipeline connections.
16741         Moved Debug to extra feature since most of them are 
16742         functionally something else.
16743
16744 2006-02-28  Wim Taymans  <wim@fluendo.com>
16745
16746         * docs/design/draft-klass.txt:
16747         Some updates and clarifications.
16748
16749 2006-02-28  Wim Taymans  <wim@fluendo.com>
16750
16751         * docs/design/draft-klass.txt:
16752         Proposal for klass field values.
16753
16754         * docs/design/part-streams.txt:
16755         Start of a doc describing stream anatomy.
16756
16757 2006-02-28  Wim Taymans  <wim@fluendo.com>
16758
16759         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
16760         Help the compiler a bit with type registration.
16761         Use existing forward cod path instead of duplicating it when 
16762         handling a message.
16763         
16764         * gst/gstbus.c: (gst_bus_get_type):
16765         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
16766         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
16767         * gst/gstclock.c: (gst_clock_get_type):
16768         * gst/gstelement.c: (gst_element_get_type),
16769         * gst/gstelementfactory.c: (gst_element_factory_get_type):
16770         * gst/gstindexfactory.c: (gst_index_factory_get_type):
16771         * gst/gstminiobject.c: (gst_mini_object_get_type):
16772         * gst/gstpad.c: (gst_pad_get_type):
16773         * gst/gstsegment.c: (gst_segment_get_type):
16774         * gst/gststructure.c: (gst_structure_get_type):
16775         * gst/gstsystemclock.c: (gst_system_clock_get_type):
16776         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
16777         * gst/gstvalue.c:
16778         Help compiler with type registration.
16779
16780         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
16781         Small doc update.
16782
16783 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16784
16785         * plugins/elements/gsttypefindelement.c:
16786         (gst_type_find_element_handle_event):
16787           When we get an EOS event and have not found a type yet
16788           (most likely because we had not yet accumulated
16789           TYPE_FIND_MIN_SIZE of data yet), try to determine the
16790           type given the data we have so far. Fixes typefinding
16791           for very short streams again, most notably quicktime
16792           redirections as used on Apple's trailer site (#331701).
16793
16794 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16795
16796         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
16797         (gst_type_find_helper):
16798           Try typefinding factories with the highest rank first.
16799
16800 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16801
16802         * docs/libs/gstreamer-libs-docs.sgml:
16803         * docs/libs/gstreamer-libs-sections.txt:
16804         * libs/gst/base/gsttypefindhelper.c:
16805           Add section for typefind helper and add documentation
16806           for the old and the new function.
16807
16808 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16809
16810         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
16811         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
16812         (gst_type_find_helper_for_buffer):
16813         * libs/gst/base/gsttypefindhelper.h:
16814           New API: gst_type_find_helper_for_buffer() (#332723).
16815           
16816 2006-02-27  Michael Smith  <msmith@fluendo.com>
16817
16818         Patch by: Loïc Minier
16819
16820         * configure.ac:
16821         * docs/Makefile.am:
16822         * docs/slides/Makefile.am:
16823           prevent CVS directories getting disted.
16824
16825 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16826
16827         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
16828           Use the REFCOUNTING category for caps refcounting.
16829           
16830 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
16831
16832         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
16833           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
16834
16835 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
16836
16837         * plugins/elements/gsttypefindelement.c:
16838         (gst_type_find_element_activate):
16839           Use gst_pad_check_pull_range() before _activate_pull()
16840           to avoid unnecessary open/close (see #331690).
16841
16842 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
16843
16844         * gst/gstutils.c:
16845           Docs enhancement: make it crystal clear what the
16846           gst_pad_add_*_probe() callbacks should look like.
16847
16848 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
16849
16850         * libs/gst/base/gstbasesrc.c:
16851           Document how applications can stop recording from
16852           live sources (see #330996).
16853
16854 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
16855
16856         * tests/check/Makefile.am:
16857         * tests/check/libs/basesrc.c: (eos_event_counter),
16858         (basesrc_eos_events_pull), (basesrc_eos_events_push),
16859         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
16860         (gst_basesrc_suite), (main):
16861           ... and add some tests for the base source EOS stuff.
16862
16863 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
16864
16865         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
16866           Test case originally showed the problem fixed below,
16867           but was then amended. Add checks back at the place
16868           where they used to be.
16869
16870 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
16871
16872         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16873         (gst_base_src_init), (gst_base_src_loop),
16874         (gst_base_src_activate_push), (gst_base_src_activate_pull),
16875         (gst_base_src_change_state):
16876         * libs/gst/base/gstbasesrc.h:
16877           Don't unconditionally send EOS when going from PAUSED to
16878           READY state, esp. make sure we don't send two EOS events
16879           in some cases (e.g. one when reaching EOS and one when
16880           going from PAUSED to READY). Also, we don't want to send
16881           EOS events when operating in pull mode. However, we do
16882           want to send an EOS event when shutting down a live
16883           source explicitly, for example (fixes #330996).
16884           
16885 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
16886
16887         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
16888           Update src->read_position after a seek when not using mmap.
16889           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
16890
16891 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
16892
16893         * gst/Makefile.am:
16894         * gst/gstparse.h:
16895         * gst/gstutils.c:
16896         * gst/gstutils.h:
16897         Make things work with --disable-parse as they do with 
16898         --disable-load-save - the symbols involved disappear, but the
16899         header is still installed and GST_DISABLE_PARSE is included via
16900         gstconfig.h
16901
16902 2006-02-20  Julien MOUTTE  <julien@moutte.net>
16903
16904         * libs/gst/base/gstbasetransform.c:
16905         (gst_base_transform_change_state): Fix a stupid bug. I was 
16906         sure I compiled that.
16907
16908 2006-02-20  Julien MOUTTE  <julien@moutte.net>
16909
16910         * gst/gstpad.c: (gst_pad_set_blocked_async):
16911         * gst/gstutils.c: (gst_pad_add_data_probe),
16912         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
16913         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
16914         (gst_pad_remove_buffer_probe): Make those function act on the
16915         ghostpad target when it's a ghostpad. (Closes #331727)
16916
16917 2006-02-20  Julien MOUTTE  <julien@moutte.net>
16918
16919         * libs/gst/base/gstbasetransform.c:
16920         (gst_base_transform_change_state): Make basetransform reusable.
16921         (Closes #331898)
16922
16923 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
16924
16925         * docs/random/release:
16926         Move the current documentation of how to do a release to the top
16927         of the file.
16928
16929         * gst/gstbin.c: (gst_bin_class_init),
16930         (gst_bin_handle_message_func):
16931         Allow multiple state-recalculation threads. (Closes #328873)
16932
16933 2006-02-19  Julien MOUTTE  <julien@moutte.net>
16934
16935         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
16936         * gst/gstpad.c: (gst_pad_set_event_function),
16937         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
16938         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
16939         2 strings. You can't use the STR_NULL macro on that.
16940
16941 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
16942
16943         * gst/gstpad.c: (gst_pad_set_event_function),
16944         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
16945         (gst_pad_set_getcaps_function)
16946         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
16947           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
16948           So now, we can use --gst-debug-level=5 on Windows
16949         * win32/common/libgstcontroller.def:
16950           Added export of gst_controller_init
16951         * win32/vs6/libgstcontroller.dsp:
16952           Fixed Release post build configuration
16953
16954 2006-02-17  Wim Taymans  <wim@fluendo.com>
16955
16956         * tests/check/gst/gstquery.c: (GST_START_TEST):
16957         Added another check.
16958
16959 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
16960
16961         * plugins/elements/gsttypefindelement.c: (find_peek):
16962           We can do peeks at non-zero offsets, as long as they
16963           fall within the buffer we have.
16964
16965 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
16966
16967         * tests/check/Makefile.am:
16968         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
16969         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
16970         (parse_suite), (main):
16971           Add testsuite for parse launch syntax
16972
16973 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
16974
16975         * plugins/elements/gsttypefindelement.c:
16976         (gst_type_find_element_chain):
16977           When typefinding is unsuccessful in the chain function, don't
16978           error out immediately. Only error out with NO_CAPS_FOUND if
16979           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
16980           otherwise simply wait for more data so we can try typefinding
16981           again with more data later. Also, don't attempt to typefind
16982           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
16983           this should improve typefinding from network sources where the
16984           size of the first buffer can be somewhat random.
16985
16986 2006-02-14  Wim Taymans  <wim@fluendo.com>
16987
16988         * docs/gst/gstreamer-sections.txt:
16989         * gst/gstpadtemplate.c:
16990         * gst/gstpadtemplate.h:
16991         Fix padtemplate docs, fixes #328805.
16992
16993 2006-02-14  Wim Taymans  <wim@fluendo.com>
16994
16995         * tools/gst-launch.c: (main):
16996         NO_PREROLL is not an ERROR so don't send confusing messages
16997         to the user.
16998
16999 2006-02-14  Wim Taymans  <wim@fluendo.com>
17000
17001         Patch by: Torsten Schoenfeld
17002
17003         * gst/gstregistry.c: (gst_registry_get_default),
17004         (_gst_registry_cleanup):
17005         Protect default registry with lock and ref/sink it.
17006         Fixes #324818
17007
17008 2006-02-14  Wim Taymans  <wim@fluendo.com>
17009
17010         * gst/gstbuffer.c:
17011         * gst/gstquery.c: (gst_query_list_add_format),
17012         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17013         (gst_query_parse_formats_nth):
17014         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
17015         Docs fixes.
17016
17017 2006-02-14  Wim Taymans  <wim@fluendo.com>
17018
17019         * docs/gst/gstreamer-sections.txt:
17020         Reworked query docs.
17021
17022         * gst/gstquery.c: (gst_query_new_formats),
17023         (gst_query_list_add_format), (gst_query_set_formats),
17024         (gst_query_set_formatsv), (gst_query_parse_formats_length),
17025         (gst_query_parse_formats_nth):
17026         * gst/gstquery.h:
17027         Flesh out formats query, added some new methods.
17028         Fix part of #324398.
17029
17030         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
17031         Added query creation tests.
17032
17033 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
17034
17035         * gst/gstpad.c: (fixate_value):
17036         Add a default fixation for fraction lists.
17037
17038 2006-02-13  Wim Taymans  <wim@fluendo.com>
17039
17040         * gst/gsttask.c: (gst_task_init), (gst_task_func),
17041         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
17042         (gst_task_join):
17043         * gst/gsttask.h:
17044         Detect and warn for obvious deadlocks. fixes #320340
17045         Fix error case where lock was not released.
17046
17047         * tests/check/Makefile.am:
17048         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
17049         (task_func), (gst_element_suite), (main):
17050         Add task check.
17051
17052 2006-02-13  Wim Taymans  <wim@fluendo.com>
17053
17054         * docs/gst/gstreamer-sections.txt:
17055         * gst/gstbus.c:
17056         Add new functions to docs.
17057
17058 2006-02-13  Wim Taymans  <wim@fluendo.com>
17059
17060         * docs/design/part-TODO.txt:
17061         Updated TODO list, basesrc supports seeking to non-bytes
17062         formats.
17063
17064         * docs/design/part-element-sink.txt:
17065         Update docs.
17066
17067         * gst/gstbin.c: (bin_replace_message),
17068         (gst_bin_handle_message_func):
17069         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
17070         * gst/gstevent.c: (gst_event_finalize):
17071         * gst/gstpad.c: (gst_pad_event_default_dispatch),
17072         (gst_pad_send_event):
17073         Use shiny new _TYPE_NAME macros.
17074
17075         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17076         Move debug statement up.
17077
17078         * gst/gstelement.c: (gst_element_set_locked_state):
17079         Add some debugging.
17080
17081 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
17082
17083         * docs/gst/gstreamer-sections.txt:
17084         * gst/gstmessage.h:
17085         * gst/gstquery.h:
17086           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
17087           macros (#330906). Also, document the already existing
17088           GST_QUERY_TYPE macro.
17089
17090 2006-02-13  Wim Taymans  <wim@fluendo.com>
17091
17092         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
17093         (event_probe), (GST_START_TEST):
17094         Only events up to the pipeline EOS are counted, there are
17095         some more when going to NULL currently which we don't care
17096         about for now.
17097
17098 2006-02-13  Wim Taymans  <wim@fluendo.com>
17099
17100         * gst/gstpad.c: (gst_pad_send_event):
17101         Correctly check flushing and emit probes. fixes #330125
17102
17103 2006-02-10  Andy Wingo  <wingo@pobox.com>
17104
17105         * gst/gstbus.c (gst_bus_class_init): Declare our private data
17106         structure.
17107         (gst_bus_init): Cache the location of the private data in the
17108         instance structure.
17109         (gst_bus_enable_sync_message_emission) 
17110         (gst_bus_disable_sync_message_emission): Implement new public
17111         functions.
17112         (gst_bus_post): Emit the sync-message signal if the user asked for
17113         it. Fixes #330684.
17114
17115         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
17116         location of the bus-private structure.
17117         (gst_bus_enable_sync_message_emission)
17118         (gst_bus_disable_sync_message_emission): API addition
17119
17120 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
17121
17122         Patch by: Vincent Torri
17123
17124         * docs/pwg/building-boiler.xml:
17125         PWG patch from #326800
17126
17127 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
17128
17129         * configure.ac:
17130         * docs/Makefile.am:
17131         * docs/design/Makefile.am:
17132           Dist design docs.
17133
17134 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17135
17136         * configure.ac:
17137           back to CVS
17138
17139 === release 0.10.3 ===
17140
17141 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
17142
17143         * configure.ac:
17144           releasing 0.10.3, "Like a virgin"
17145
17146 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17147
17148         * configure.ac:
17149           2nd prerelease of 0.10.3
17150           Bump libtool versioning.
17151
17152 2006-02-07  Andy Wingo  <wingo@pobox.com>
17153
17154         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
17155         update last_stop if we're in TIME format and the timestamp is
17156         valid.
17157
17158         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
17159         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
17160         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
17161         If we get a new newsegment with a different format, adapt
17162         accordingly.
17163
17164         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
17165         of 0. Not a problem, really.
17166
17167         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
17168         warn if sync=true.
17169
17170 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
17171
17172         * configure.ac:
17173           Prelease of 0.10.3
17174
17175 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
17176
17177         * win32/vs7:
17178           project files updated to the default vs7 configuration
17179         * win32/common/libgstbase.def:
17180         * win32/common/libgstreamer.def:
17181           added new symbols,
17182           removed empty lines,
17183           sorted all exported symbols alphabetically
17184         * win32/common/dirent.c:
17185         * win32/common/dirent.h:
17186         * win32/common/gchar.h:
17187           use windows line end.
17188           
17189 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17190
17191         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
17192           Send EOS event when stopping.
17193
17194 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17195
17196         * docs/README:
17197           Tell folks what to do if the plugin-foobar.xml file
17198           hasn't been generated for a newly-added plugin.
17199
17200 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17201
17202         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
17203         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
17204         (gst_collect_pads_start), (gst_collect_pads_stop),
17205         (gst_collect_pads_event): Collectpads now holds a reference
17206         to the GstPad that was added. Indeed we don't want to look
17207         at pads that might just go away with no warning...
17208
17209 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17210
17211         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17212         (gst_collect_pads_start), (gst_collect_pads_stop),
17213         (gst_collect_pads_event), (gst_collect_pads_chain):
17214         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
17215         Mark Nauwelaerts's patch on bug #328491.
17216
17217 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17218
17219         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
17220         (gst_utils_suite):
17221           Add some simple tests for gst_parse_bin_from_description() and
17222           gst_bin_find_unconnected_pad() (#329069).
17223
17224 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17225
17226         * tools/gst-launch.c: (event_loop), (main):
17227           Catch errors during preroll (#320084).
17228
17229 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
17230
17231         * plugins/elements/gsttypefindelement.c:
17232         (gst_type_find_element_activate):
17233           Post TYPE_NOT_FOUND error message when typefinding
17234           is unsuccessful in the activate function as well.
17235
17236 2006-02-02  Wim Taymans  <wim@fluendo.com>
17237
17238         * docs/design/part-element-sink.txt:
17239         Updated doc.
17240
17241 2006-02-02  Wim Taymans  <wim@fluendo.com>
17242
17243         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
17244         (gst_base_sink_render_object),
17245         (gst_base_sink_queue_object_unlocked):
17246         Only keep track of prerollable items when we are 
17247         prerolling.
17248         Before rendering after preroll, always check if we
17249         have queued items.
17250         Added some more debugging.
17251
17252 2006-02-02  Wim Taymans  <wim@fluendo.com>
17253
17254         * gst/gstelement.c: (gst_element_continue_state),
17255         (gst_element_set_state_func), (gst_element_change_state):
17256         Fixed #326576, been running this for quite some time with
17257         no regressions at all.
17258
17259 2006-02-02  Wim Taymans  <wim@fluendo.com>
17260
17261         * common/gst.supp:
17262         Added more suppressions
17263
17264 2006-02-02  Wim Taymans  <wim@fluendo.com>
17265
17266         * docs/design/part-element-sink.txt:
17267         Updated document.
17268
17269         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17270         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
17271         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
17272         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
17273         (gst_base_sink_do_sync), (gst_base_sink_render_object),
17274         (gst_base_sink_preroll_object),
17275         (gst_base_sink_queue_object_unlocked),
17276         (gst_base_sink_queue_object), (gst_base_sink_event),
17277         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
17278         (gst_base_sink_loop), (gst_base_sink_activate_pull),
17279         (gst_base_sink_get_position), (gst_base_sink_change_state):
17280         * libs/gst/base/gstbasesink.h:
17281         Totally refactored matching the design doc.
17282         Use two segments, one to clip incomming buffers and another to
17283         perform sync.
17284         Handle queueing correctly, bypass the queue when playing.
17285         Make EOS cancelable.
17286         Handle errors correctly when operating in pull based mode.
17287
17288         * tests/check/elements/fakesink.c: (GST_START_TEST),
17289         (fakesink_suite):
17290         Added new check for sinks.
17291
17292 2006-02-02  Wim Taymans  <wim@fluendo.com>
17293
17294         * gst/gstsegment.c: (gst_segment_clip):
17295         No reason to refuse to clip when start == -1
17296
17297 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
17298
17299         * docs/README:
17300         * docs/manual/intro-basics.xml:
17301         * docs/manual/intro-preface.xml:
17302         * docs/manual/manual.xml:
17303         * docs/pwg/advanced-dparams.xml:
17304         * docs/pwg/intro-basics.xml:
17305         * docs/pwg/intro-preface.xml:
17306         * docs/pwg/pwg.xml:
17307           describe dparams (controller) for plugins
17308           unify docs a little more
17309
17310 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
17311
17312         * docs/gst/gstreamer-sections.txt:
17313         * gst/gstutils.c: (element_find_unconnected_pad),
17314         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
17315         * gst/gstutils.h:
17316           Add new API: gst_parse_bin_from_description() and
17317           gst_bin_find_unconnected_pad() (#329069).
17318
17319 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
17320
17321         * docs/manual/README:
17322           uncover a nasty detail of the docs build
17323
17324 2006-01-31  Wim Taymans  <wim@fluendo.com>
17325
17326         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
17327         Don't cache duration messages if we're not going to use or
17328         free them.
17329
17330 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
17331
17332         * docs/manual/advanced-dparams.xml:
17333         * docs/pwg/advanced-dparams.xml:
17334           more dparam docs
17335         * gst/gstindex.c:
17336           fix docs
17337         * libs/gst/controller/lib.c: (gst_controller_init):
17338           init just once
17339
17340 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
17341
17342         * gst/gstelement.c: (gst_element_message_full):
17343           also show file/line/func if no additional debug was given
17344
17345 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
17346         
17347         * win32/vs7/grammar.vcproj:
17348           activate copy of autogenerated files for Release mode
17349
17350 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17351         
17352         * win32/common/libgstreamer.def:
17353           export gst_value_compare
17354
17355 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
17356
17357         * plugins/elements/Makefile.am:
17358         * plugins/elements/gstelements.c:
17359         * plugins/elements/gstfdsink.c: (_do_init),
17360         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17361         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
17362         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
17363         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
17364         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
17365         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17366         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
17367         * plugins/elements/gstfdsink.h:
17368         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
17369
17370 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
17371
17372         * docs/manual/advanced-dparams.xml:
17373           describe controller
17374         * docs/manual/advanced-position.xml:
17375         * docs/manual/basics-init.xml:
17376         * docs/manual/manual.xml:
17377         * docs/manual/titlepage.xml:
17378         * docs/pwg/pwg.xml:
17379         * docs/pwg/titlepage.xml:
17380           cleanup xml (more to come)
17381         * libs/gst/controller/gstcontroller.c:
17382           fix typo
17383
17384 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17385         
17386         * win32/vs6/grammar.dsp:
17387           add autogen of gstmarshal.c,h for Release mode
17388                 
17389 2006-01-30  Wim Taymans  <wim@fluendo.com>
17390
17391         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17392         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
17393         (gst_base_sink_handle_object), (gst_base_sink_event),
17394         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
17395         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17396         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
17397         (gst_base_sink_deactivate), (gst_base_sink_activate),
17398         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17399         (gst_base_sink_query), (gst_base_sink_change_state):
17400         Basesink cleanups, remove some old code.
17401         Handle the case where a subclass can preroll in the render
17402         method (mostly audiosinks).
17403         Handle more events.
17404         Remove some locks around variables that are now protected
17405         with the PREROLL_LOCK (clock_id, flushing, ..).
17406         Optimize position query some more, do correct locking.
17407         Remove old code to push queue in state change, this is not
17408         needed anymore since preroll blocks on all prerollable items 
17409         now.
17410         Almost implemented as described in design doc.
17411
17412 2006-01-30  Wim Taymans  <wim@fluendo.com>
17413
17414         * tests/check/gst/gstbin.c: (GST_START_TEST):
17415         Wait for refcount to settle down before checking.
17416
17417 2006-01-30  Wim Taymans  <wim@fluendo.com>
17418
17419         * docs/design/part-element-sink.txt:
17420         Pseudo code overview of desired sink behaviour regarding
17421         preroll.
17422
17423 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17424         * win32/vs6/grammar.dsp:
17425           fix some bugs in Release mode for autogenerated files
17426                 
17427 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17428         * win32/common/libgstbase.def:
17429         * win32/common/libgstreamer.def:
17430           export some new symbols: gst_base_src_set_format,
17431           gst_iterator_next, gst_structure_set_valist
17432
17433 2006-01-29  Julien MOUTTE  <julien@moutte.net>
17434
17435         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17436         Set pad functions unconditionally. Fixes #329105.
17437
17438 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17439         * win32/vs8:
17440           add vs8 project files created by Sergey Scobich
17441
17442 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
17443
17444         * gst/gstutils.c: (gst_element_unlink_pads):
17445         Don't leak pad references.
17446
17447         * tests/check/elements/fakesink.c: (GST_START_TEST):
17448         * tests/check/generic/sinks.c: (GST_START_TEST):
17449         * tests/check/generic/states.c: (GST_START_TEST):
17450         * tests/check/gst/gstbin.c: (GST_START_TEST):
17451         * tests/check/gst/gstcaps.c: (GST_START_TEST):
17452         * tests/check/gst/gstelement.c: (GST_START_TEST):
17453         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
17454         * tests/check/gst/gstiterator.c: (GST_START_TEST):
17455         * tests/check/gst/gstvalue.c: (GST_START_TEST):
17456         Fix a bunch of leaks. Make generic/sinks.c
17457         use a bit less cpu by slowing the buffer rate
17458         between fakesrc and fakesink.
17459         
17460 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
17461         * gst/gstcaps.c:
17462         * gst/gstelement.c: (gst_element_send_event):
17463         * gst/gstevent.c:
17464         * gst/gstinfo.c:
17465         * gst/gstiterator.c:
17466         * gst/gstiterator.h:
17467         * gst/gstpad.c: (gst_pad_send_event):
17468         * gst/gststructure.c:
17469         * gst/gsturi.c:
17470         * gst/gstutils.c:
17471         * gst/gstvalue.c:
17472         * libs/gst/base/gstadapter.c:
17473           doc fixes, to link to function, just write gst_cool_function(), don't
17474           prefix with '#'
17475
17476 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17477
17478         * plugins/elements/gsttee.c: (gst_tee_do_push),
17479         (gst_tee_handle_buffer):
17480         Always prefer an actual return value from a src
17481         pad in place of NOT_LINKED. This means we return
17482         WRONG_STATE when all src pads are WRONG_STATE
17483         instead of NOT_LINKED.
17484
17485         Lock when replacing the last message to prevent
17486         racing with the get_property method.
17487
17488         Add debug output
17489
17490 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17491
17492         * tests/check/Makefile.am:
17493         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
17494         (main):
17495         Add a very simple check that should have caught the memleak I fixed
17496         last night (if not for the slice allocator hiding it)
17497
17498 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17499
17500         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17501         (gst_bin_remove_func), (gst_bin_handle_message_func),
17502         (bin_query_duration_fold), (bin_query_generic_fold):
17503         Clean up references to the clock provider when disposed or when
17504         handling a clock-lost message from it.
17505
17506         Unref sinks when performing a query via gst_iterator_fold, as the
17507         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
17508
17509         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
17510         (gst_clock_set_master):
17511         Drop our reference to the master clock, if any, when we are disposed.
17512
17513         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
17514         Chain up in dispose. 
17515
17516 2006-01-26  Wim Taymans  <wim@fluendo.com>
17517
17518         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17519         Add some debugging.
17520
17521 2006-01-26  Julien MOUTTE  <julien@moutte.net>
17522
17523         * plugins/elements/gsttee.c: (gst_tee_do_push),
17524         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
17525         handles pad being NOT_LINKED or in WRONG_STATE.
17526
17527 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17528
17529         * win32/MANIFEST:
17530           more updating
17531
17532 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17533
17534         * win32/MANIFEST:
17535           remove obsolete entry
17536
17537 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17538
17539         * docs/gst/gstreamer-sections.txt:
17540         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
17541         (gst_bin_iterate_sources), (gst_bin_send_event):
17542         * gst/gstbin.h:
17543         * gst/gstelement.c: (gst_element_send_event):
17544         * gst/gstevent.c:
17545         * gst/gstpad.c: (gst_pad_send_event):
17546           added code for downstream events, reviewed docs in gstevent.c
17547
17548 2006-01-25  Julien MOUTTE  <julien@moutte.net>
17549
17550         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17551         We only query position using the clock in the playing state.
17552         Query peer in the other cases.
17553         * win32/common/config.h: Updates.
17554
17555 2006-01-24  Wim Taymans  <wim@fluendo.com>
17556
17557         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17558         A clock entry that is scheduled for the exact time of the
17559         clock is still in time.
17560
17561         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17562         (gst_base_sink_do_sync):
17563         Add some more debug info.
17564
17565 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17566
17567         * win32/vs7:
17568           Add new vs7 project files and solution.
17569
17570 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17571
17572         * win32/vs7:
17573           all files removed as they were out-dated.
17574
17575 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17576
17577         * docs/random/release:
17578           update notes
17579         * gst/gstbin.c: (gst_bin_init):
17580         * gst/gstbus.c: (gst_bus_new):
17581         * gst/gstbus.h:
17582         * gst/gstpipeline.c: (gst_pipeline_init):
17583           use gst_bus_new(), improve logging, fix docs
17584         * win32/common/config.h:
17585           update for cvs build
17586
17587 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17588
17589         * autogen.sh:
17590           up required version of automake to 1.7
17591
17592 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
17593
17594         * win32/common/libgstreamer.def:
17595           export gst_buffer_is_metadata_writable
17596
17597 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
17598
17599         * docs/gst/gstreamer-sections.txt:
17600         * gst/gstevent.h:
17601           Add gst_event_replace() (#327001)
17602
17603 2006-01-20  Wim Taymans  <wim@fluendo.com>
17604
17605         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
17606         Make it actually compile too..
17607
17608 2006-01-20  Wim Taymans  <wim@fluendo.com>
17609
17610         * gst/gstcaps.c:
17611         Clarify behaviour of _is_equal() when passing NULL parameters.
17612
17613         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17614         (gst_pad_set_caps):
17615         Cleanups. Don't unref NULL caps.
17616         When setting the same caps, protect caps of the pad with
17617         proper lock.
17618         Use full functionality of _is_equal() when comparing caps.
17619
17620 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17621
17622         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
17623         Don't loop infinitely if there are no buffers to present. Partially
17624         fixes #327197, but collectpads is just broken for reusing elements
17625         to do multiple encodes atm.
17626
17627 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17628
17629         * tools/gst-inspect.c: (print_element_features):
17630         * tools/gst-xmlinspect.c: (main):
17631         URL_HANDLER is not a plugin feature we can search for in
17632         the registry.
17633
17634 2006-01-19  Edward Hervey  <edward@fluendo.com>
17635
17636         * gst/gstelement.c: (gst_element_pads_activate): 
17637         When activating, do src pads first, then sink pads.
17638         When de-activating, do sink pads first, then src pads.
17639
17640 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17641
17642         * docs/gst/gstreamer-sections.txt:
17643         Add gst_index_add_associationv to the docs
17644
17645 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17646
17647         * gst/gstevent.c:
17648           Fix docs typo
17649
17650         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
17651         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
17652           Do some refactoring. Doesn't actually change functionality,
17653           but makes landing the DRAIN event easier later.
17654
17655 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
17656
17657         * docs/pwg/advanced-scheduling.xml:
17658           Update from 0.9.x to 0.10 API and make example a bit
17659           clearer.
17660
17661 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17662
17663         * docs/gst/gstreamer-sections.txt:
17664         Add gst_buffer_(is|make)_metadata_writable methods.
17665
17666 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17667
17668         * docs/design/part-sparsestreams.txt:
17669         Update sparse streams doc, hopefully for greater clarity
17670
17671 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
17672
17673         * docs/design/part-events.txt:
17674         Remove mention of FILLER events.
17675         Add DRAIN event.
17676
17677         * docs/design/part-sparsestreams.txt:
17678         Write some things about using NEWSEGMENT to keep sparse streams
17679         flowing.
17680
17681 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
17682
17683         * gst/gstbin.c: (gst_bin_dispose):
17684           Guard gst_object_unref call against a NULL object (dispose
17685           can theoretically be called multiple times).
17686           
17687 2006-01-18  Wim Taymans  <wim@fluendo.com>
17688
17689         * gst/gstbin.c: (gst_bin_element_set_state):
17690         * gst/gstclock.c: (gst_clock_id_wait):
17691         Added some more debug info.
17692
17693         * libs/gst/base/gstadapter.c:
17694         Added more docs.
17695
17696         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17697         (gst_base_sink_do_sync), (gst_base_sink_chain):
17698         Added some comments.
17699
17700 2006-01-18  Wim Taymans  <wim@fluendo.com>
17701
17702         * tests/check/Makefile.am:
17703         * tests/check/elements/fakesink.c: (chain_async_buffer),
17704         (chain_async), (chain_async_return), (GST_START_TEST),
17705         (fakesink_suite), (main):
17706         Added fakesink test that checks prerolling and clipping
17707         behaviour.
17708
17709         * tests/check/gst/gstutils.c: (GST_START_TEST):
17710         Make check run faster so that buildbots don't timeout.
17711
17712 2006-01-18  Wim Taymans  <wim@fluendo.com>
17713
17714         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17715         (gst_base_sink_do_sync):
17716         Some cleanups.
17717         When the sink finishes blocking on the preroll buffer, it can
17718         immediatly render it instead of rendering when the next buffer
17719         arrives.
17720
17721 2006-01-18  Wim Taymans  <wim@fluendo.com>
17722
17723         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
17724         (gst_base_sink_get_property), (gst_base_sink_do_sync),
17725         (gst_base_sink_chain):
17726         Small cleanups.
17727         GST_ELEMENT_CLOCK and sync are protected with LOCK.
17728         Don't store _last_stop if the buffer is dropped.
17729
17730 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
17731
17732         * plugins/elements/gsttypefindelement.c:
17733         (gst_type_find_element_class_init):
17734           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
17735           object method handler that sets the caps on the pad and we want
17736           that to happen before we emit the signal (fixes e.g. feeding a
17737           plain text file to decodebin).
17738
17739 2006-01-18  Christian Schaller  <Christian@fluendo.com>
17740
17741         * gst/gstplugin.c: Add MPL and Proprietary as license options
17742
17743 2006-01-18  Andy Wingo  <wingo@pobox.com>
17744
17745         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
17746         symbol was exported before, it appears this was just an oversight.
17747         Fixes #168703.
17748         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
17749
17750         * gst/gstindex.c (gst_index_add_associationv): Changed int in
17751         prototype to gint. OK since this prototype was not in the header.
17752
17753 2006-01-17  Andy Wingo  <wingo@pobox.com>
17754
17755         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
17756         registry while we remove plugins.
17757
17758         * tools/gst-inspect.c (print_element_info): Don't unref the
17759         factory arg, that should be the responsibility of whatever code
17760         received the ref. Fixes a double-free when called from
17761         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
17762         (main): Unref the factory if we have one.
17763         (print_element_list): No change -- relies on the
17764         plugin_feature_list_free to free the list of features.
17765
17766 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
17767
17768         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
17769         (gst_buffer_make_metadata_writable):
17770         * gst/gstbuffer.h:
17771         * libs/gst/base/gstbasetransform.c:
17772         (gst_base_transform_prepare_output_buf):
17773         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17774         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17775           Replace gst_buffer_(make|is)_metadata_writable patch now
17776           that the release is out.
17777
17778 2006-01-17  Andy Wingo  <wingo@pobox.com>
17779
17780         * gst/gstregistry.c: Reflow design comment. Update so as to speak
17781         in the present tense without reference to versions.
17782
17783         * gst/gstregistry.c (gst_registry_add_plugin)
17784         (gst_registry_remove_plugin, gst_registry_remove_feature)
17785         (gst_registry_find_feature, gst_registry_get_feature_list)
17786         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
17787         (gst_registry_lookup, gst_registry_scan_path)
17788         (_gst_registry_remove_cache_plugins)
17789         (gst_registry_get_feature_list_by_plugin): Add argument
17790         validation.
17791
17792 === release 0.10.2 ===
17793
17794 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
17795
17796         * configure.ac:
17797           releasing 0.10.2, "If man is five"
17798
17799 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
17800
17801         * gst/gstbuffer.c:
17802         * gst/gstbuffer.h:
17803         * libs/gst/base/gstbasetransform.c:
17804         (gst_base_transform_prepare_output_buf):
17805         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17806         * tests/check/gst/gstbuffer.c: (gst_test_suite):
17807           Back out patch until after the release.
17808
17809 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
17810
17811         * gst/gstminiobject.c:
17812           Spelling fix in docs.
17813         * ChangeLog - remove conflict indicator
17814
17815 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
17816
17817         Reviewed By: Andy Wingo
17818
17819         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
17820         (gst_buffer_make_metadata_writable):
17821         * gst/gstbuffer.h:
17822           Add gst_buffer_(is|make)_metadata_writable as analogues of
17823           gst_buffer_(is|make)_writable.
17824
17825         * libs/gst/base/gstbasetransform.c:
17826         (gst_base_transform_prepare_output_buf):
17827         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17828           Use name gst_buffer_(is|make)_metadata_writable functions.
17829
17830         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17831           Test gst_buffer_(is|make)_metadata_writable
17832         
17833           (Closes: #324162)
17834
17835 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
17836
17837         * docs/manual/Makefile.am:
17838           don't do parallel make
17839         * configure.ac:
17840           AC_SUBST HOST_CPU
17841         * win32/common/config.h.in:
17842           add generations for HOST_CPU and GST_MAJORMINOR
17843         * win32/common/config.h:
17844           commit generated result
17845
17846 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
17847
17848         * docs/manual/appendix-integration.xml:
17849           Update GNOME integration section to use gst_init_get_option_group()
17850           instead of the old popt stuff (#322911). Also, GNOME applications
17851           should  now use gconf*sink and gconf*src instead of the old gconf
17852           helper lib we had.
17853
17854 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
17855
17856
17857         * docs/gst/gstreamer-docs.sgml:
17858         * docs/gst/gstreamer-sections.txt:
17859         * docs/libs/gstreamer-libs-sections.txt:
17860           add new API entries to the docs
17861         * libs/gst/controller/Makefile.am:
17862         * libs/gst/controller/gstcontroller.c:
17863         * libs/gst/controller/gstcontroller.h:
17864         * libs/gst/controller/gstcontrollerprivate.h:
17865         * libs/gst/controller/gsthelper.c:
17866         * libs/gst/controller/gstinterpolation.c:
17867           move private structs to private header
17868         * po/README:
17869           gstreamer-0.7 -> gstreamer-0.10
17870         * tests/check/libs/struct_i386.h:
17871           remove private structs
17872
17873 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17874
17875         * plugins/indexers/Makefile.am:
17876           Fixes as part of #317048
17877
17878 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17879
17880         * plugins/indexers/Makefile.am:
17881           fix #316086 - compilation when mmap is missing
17882
17883 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
17884
17885         * libs/gst/base/gstbasesink.c:
17886           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
17887           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
17888         * win32/common/config.h:
17889           added some defines GST_MAJORMINOR and HOST_CPU
17890         * win32/common/libgstbase.def:
17891         * win32/common/libgstreamer.def:
17892           added some exported functions.
17893
17894 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
17895
17896         * libs/gst/controller/gstcontroller.c:
17897         (gst_controlled_property_set_interpolation_mode),
17898         (gst_controlled_property_new):
17899         * libs/gst/controller/gstcontroller.h:
17900         * libs/gst/controller/gstinterpolation.c:
17901         (interpolate_none_get_string_value_array):
17902           make G_TYPE_STRING controlable
17903
17904 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
17905
17906         * tools/README:
17907         * tools/gst-feedback.1.in:
17908         * tools/gst-inspect.1.in:
17909         * tools/gst-launch.1.in:
17910         * tools/gst-md5sum.1.in:
17911         * tools/gst-typefind.1.in:
17912         * tools/gst-xmlinspect.1.in:
17913         * tools/gst-xmllaunch.1.in:
17914           cleanup man-pages, remove reference to gst-register, document env-vars
17915
17916 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
17917
17918         * gst/gstbuffer.c: (gst_buffer_span):
17919           gst_buffer_span should copy the timestamp of the first buffer
17920           if they were both originally overlapping subbuffers of the 
17921           same parent, using the same logic as the 'slow copy' case.
17922
17923 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
17924
17925         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
17926           Need to awaken ALL the pads when we pop a buffer, otherwise
17927           collectpads only works when there is 2 input streams.
17928
17929 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
17930
17931         * docs/random/ensonic/media-device-daemon.txt:
17932           more ideas (dbus)
17933         * gst/gstbuffer.c:
17934           fix doc example, add clarification
17935         * tools/gst-launch.1.in:
17936           add initial info about GST_PLUGIN_PATH, needs more work
17937
17938 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
17939
17940         * docs/manual/basics-bins.xml:
17941         * docs/manual/basics-elements.xml:
17942         * docs/manual/intro-basics.xml:
17943           Some more minor docs additions and updates.
17944
17945 2006-01-11  Wim Taymans  <wim@fluendo.com>
17946
17947         * docs/manual/basics-bins.xml:
17948         * docs/manual/basics-elements.xml:
17949         Some small fixes as pointed out by Ser-ver on IRC.
17950
17951 2006-01-10  Edward Hervey  <edward@fluendo.com>
17952
17953         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
17954         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
17955         the single-segment mode.
17956
17957 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
17958
17959         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17960
17961         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
17962         (gst_base_src_perform_seek), (gst_base_src_send_event),
17963         (gst_base_src_set_property), (gst_base_src_get_property),
17964         (gst_base_src_loop), (gst_base_src_start),
17965         (gst_base_src_activate_push):
17966         * libs/gst/base/gstbasesrc.h:
17967           Name (private) union; makes Sun's Forte compiler happy (#324900).
17968
17969 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
17970
17971         * README:
17972           gst-register is gone.
17973
17974 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
17975
17976         * gst/gstvalue.c: (_gst_value_initialize):
17977           make the G_TYPE_DATE instantiation work if debug is disabled
17978
17979 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
17980
17981         * gst/gstmessage.c: (gst_message_parse_tag),
17982         (gst_message_parse_error), (gst_message_parse_warning):
17983           Don't crash when return location for error/warning debug
17984           string is NULL; add fact that return locations can be
17985           NULL to docs where appropriate.
17986
17987 2006-01-05  Wim Taymans  <wim@fluendo.com>
17988
17989         * gst/gstplugin.c: (gst_plugin_load_file):
17990         Replace strdup by g_strdup.
17991
17992 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17993
17994         * docs/pwg/advanced-types.xml:
17995           fix doc borkage
17996
17997 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17998
17999         submitted by: Abel Cheung
18000
18001         * po/LINGUAS:
18002         * po/zh_TW.po:
18003           Added Chinese (traditional) translation
18004
18005 2006-01-04  Wim Taymans  <wim@fluendo.com>
18006
18007         * docs/manual/basics-pads.xml:
18008         * docs/plugins/Makefile.am:
18009         * docs/plugins/gstreamer-plugins-docs.sgml:
18010         * docs/plugins/gstreamer-plugins-sections.txt:
18011         * docs/pwg/advanced-clock.xml:
18012         * docs/pwg/advanced-scheduling.xml:
18013         * docs/pwg/advanced-types.xml:
18014         * plugins/elements/gstfdsink.c:
18015         * plugins/elements/gstfdsrc.c:
18016         * plugins/elements/gstfdsrc.h:
18017         * plugins/elements/gstidentity.c: (gst_identity_class_init):
18018         * plugins/elements/gstidentity.h:
18019         * plugins/elements/gstqueue.h:
18020         * plugins/elements/gsttee.c:
18021         * plugins/elements/gsttee.h:
18022         * plugins/elements/gsttypefindelement.c:
18023         (gst_type_find_element_class_init):
18024         * plugins/elements/gsttypefindelement.h:
18025         Small updates to various docs.
18026         Added core plugins to docs.
18027
18028 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18029
18030         * common/gst.supp:
18031           add a suppression for liboil's uninitialized variable
18032
18033 2006-01-02  James Livingston  <jrl at ids dot org dot au>
18034
18035         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
18036
18037         * gst/gstutils.h:
18038           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
18039           macro, so that gcc doesn't complain if the -Wmissing-prototypes
18040           compiler switch is being used (#325429).
18041
18042 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
18043
18044         * gst/gstbin.c: (gst_bin_query):
18045           Disable duration query caching in bins until it gets
18046           fixed (see #324807).
18047
18048 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18049
18050         * tools/gst-inspect.c: (print_element_properties_info):
18051           Handle properties of POINTER and BOXED type.
18052
18053 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
18054
18055         * gst/gst.c: (init_post):
18056           Init tags stuff and some other things before loading
18057           any static plugins (there may be other static plugins
18058           than just the GStreamer ones, and they may want to
18059           register their own tags or formats or whatever, and
18060           preferably without segfaulting).
18061
18062         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
18063           Print at least a warning in the debug logs if we drop a
18064           query just because we don't know how to adjust the value
18065           in the particular format.
18066
18067 2005-12-24  David Schleef  <ds@schleef.org>
18068
18069         * tools/gstreamer-completion:
18070           Replacement for gst-complete written in sh and sed.  Only
18071           completes names of features, but that's 90% of what I want
18072           it for.  Properties are not available in registry.xml.  (Maybe
18073           they should be...)
18074
18075 === release 0.10.1 ===
18076
18077 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
18078
18079         * configure.ac:
18080           releasing 0.10.1, "Nollaig chridheil"
18081
18082 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
18083
18084         * docs/faq/cvs.xml:
18085           Add missing quote, should be make ERROR_CFLAGS="".
18086
18087 2005-12-20  Wim Taymans  <wim@fluendo.com>
18088
18089         * docs/design/part-trickmodes.txt:
18090         More documentation on trickmodes.
18091
18092 2005-12-20  Edward Hervey  <edward@fluendo.com>
18093
18094         * gst/gstcaps.c: (gst_static_caps_get_type):
18095         * gst/gstcaps.h:
18096           API addition: GST_TYPE_STATIC_CAPS
18097         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
18098         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
18099         * gst/gstpadtemplate.h:
18100           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
18101         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
18102         bindings.
18103
18104 2005-12-18  Wim Taymans  <wim@fluendo.com>
18105
18106         * libs/gst/base/gstadapter.c:
18107         * libs/gst/base/gstadapter.h:
18108         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
18109         (gst_base_sink_get_position):
18110         * libs/gst/base/gstbasesink.h:
18111         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18112         (gst_base_src_default_query), (gst_base_src_default_do_seek),
18113         (gst_base_src_do_seek), (gst_base_src_perform_seek),
18114         (gst_base_src_send_event), (gst_base_src_update_length),
18115         (gst_base_src_get_range), (gst_base_src_loop),
18116         (gst_base_src_start):
18117         * libs/gst/base/gstbasesrc.h:
18118         * libs/gst/base/gstbasetransform.h:
18119         * libs/gst/base/gstcollectpads.h:
18120         * libs/gst/base/gstpushsrc.c:
18121         * libs/gst/base/gstpushsrc.h:
18122         * libs/gst/dataprotocol/dataprotocol.c:
18123         * libs/gst/dataprotocol/dataprotocol.h:
18124         * libs/gst/net/gstnetclientclock.h:
18125         * libs/gst/net/gstnettimeprovider.h:
18126         Documentation updates.
18127
18128 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
18129
18130         * docs/manual/basics-helloworld.xml:
18131           Remove superfluous closing bracket in helloworld example.
18132
18133 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
18134
18135         * tools/gst-launch.1.in:
18136           Update gst-launch man page; add a section with useful
18137           environment variables. Fixes #323882.
18138
18139 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
18140
18141         * gst/gst.c:
18142         * gst/gst_private.h:
18143           change some char* into char[]
18144
18145 2005-12-16  Wim Taymans  <wim@fluendo.com>
18146
18147         * gst/gstregistryxml.c: (load_feature):
18148         Cleanups.
18149         Don't use g_object_unref on GstObjects so that we avoid
18150         leaks on unsafe glibs.
18151
18152 2005-12-16  Wim Taymans  <wim@fluendo.com>
18153
18154         * gst/gstbin.c: (gst_bin_recalc_state):
18155         Small doc updates.
18156
18157 2005-12-16  Wim Taymans  <wim@fluendo.com>
18158
18159         * common/check.mak:
18160         Added make forever target for check.
18161
18162 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18163
18164         * gst/gst.c: (init_post):
18165           make the registry cache file HOST_CPU-dependent
18166
18167 2005-12-16  Andy Wingo  <wingo@pobox.com>
18168
18169         * plugins/elements/gstbufferstore.c
18170         (gst_buffer_store_cleared_func): Pay attention to g_list_append
18171         return value.
18172
18173         * tests/check/gst/gstobject.c
18174         (test_fake_object_name_threaded_unique): Pay attention to
18175         g_list_sort return value.
18176
18177 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
18178
18179         * tools/gst-feedback-m.m:
18180           Update for 0.9/0.10 (fixes #323870).
18181
18182 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
18183
18184         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
18185           Fix lcopy for mini objects, the mini object needs to be ref'ed.
18186           
18187         * tests/check/gst/gstminiobject.c: (my_foo_init),
18188         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
18189         (test_value_collection), (gst_mini_object_suite):
18190           Add test to ensure refcounts end up as expected when passing
18191           GstMiniObjects through g_object_get() and g_object_set().
18192
18193 2005-12-14  Julien MOUTTE  <julien@moutte.net>
18194
18195         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18196         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
18197         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
18198         of collectpads. This version removes a lot of races without
18199         touching API/ABI. Yay !
18200
18201 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
18202
18203         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
18204           Don't allow activation of a srcpad in pull_range if it has no
18205           getrange function.
18206           Change some debug statements to be a little clearer
18207
18208         * plugins/elements/gsttypefindelement.c:
18209         (gst_type_find_handle_src_query):
18210           Check that we have a peer before executing queries thereupon.
18211
18212         * tests/examples/metadata/read-metadata.c: (message_loop):
18213           Use gst_bus_pop instead of gst_bus_poll when we just want it to
18214           immediately return us any available message with 0 timeout.
18215
18216 2005-12-12  Michael Smith  <msmith@fluendo.com>
18217
18218         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
18219           Don't unref factories after calling them.
18220         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
18221         * plugins/elements/gsttypefindelement.c:
18222         (gst_type_find_element_chain):
18223           Free lists of factories after using them. Fixing typefinding memory
18224           leaks.
18225
18226 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18227
18228         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
18229         (gst_plugin_feature_load):
18230           more meaningful debug output
18231         * configure.ac:
18232         * tests/Makefile.am:
18233         * tests/old/examples/Makefile.am:
18234           make make distcheck happy again
18235
18236 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18237
18238         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
18239           Catch the special case where we are operating chain-based,
18240           but the downstream peer pad has no chain function. Emit a
18241           custom error message in this case instead of letting the
18242           core generate one implying that this is some sort of core
18243           bug. It's not, it just means that whatever got plugged
18244           into the pipeline downstream when we announced the type
18245           can only operate pull-based, while our source can only
18246           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
18247           Error string has not been marked for translation yet, as
18248           it probably needs some more work first.
18249
18250         (gst_type_find_element_get_best_possibility):
18251           Add helper function to find the best of all available
18252           found possibilities that qualify given the min. threshold.
18253
18254         (gst_type_find_element_handle_event):
18255           Fix the case where we get an EOS while still in TYPEFIND
18256           mode (we want to chose the best of all possible types,
18257           not just the first type that happens to be in our unsorted
18258           list of possible types).
18259
18260         (gst_type_find_element_chain):
18261           Make sure we return GST_FLOW_ERROR when we errored out
18262           in stop_typefinding(); also, don't just find the best of
18263           all found type entries and then use the last examined
18264           type entry, but actually use the best entry.
18265
18266 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18267
18268         * tests/examples/typefind/typefind.c: (type_found):
18269         * tests/examples/xml/runxml.c: (xml_loaded):
18270           More gcc4 fixes and a mem leak fix.
18271
18272 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18273
18274         * tests/examples/xml/createxml.c: (object_saved):
18275           gcc 4 fixes
18276
18277 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18278
18279         * tests/Makefile.am:
18280           enable the examples even more
18281
18282 2005-12-12  Andy Wingo  <wingo@pobox.com>
18283
18284         * libs/gst/net/gstnettimeprovider.c
18285         (gst_net_time_provider_class_init, gst_net_time_provider_init)
18286         (gst_net_time_provider_set_property)
18287         (gst_net_time_provider_get_property):
18288         API addition: Export "active" as a GObject property.
18289         (gst_net_time_provider_thread): Only respond to time queries if
18290         the time provider is active.
18291
18292         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
18293         NetTimeProvider, preserving binary compat.
18294
18295 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18296
18297         * tests/examples/controller/audio-example.c: (main):
18298         * tests/examples/launch/Makefile.am:
18299           convert comments again
18300
18301 2005-12-12  Wim Taymans  <wim@fluendo.com>
18302
18303         * libs/gst/base/gstpushsrc.c:
18304         Fix typo.
18305
18306 2005-12-12  Wim Taymans  <wim@fluendo.com>
18307
18308         * docs/libs/gstreamer-libs-sections.txt:
18309         Added new symbol to docs.
18310
18311         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18312         (gst_base_src_init), (gst_base_src_set_format),
18313         (gst_base_src_default_query), (gst_base_src_query),
18314         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
18315         (gst_base_src_perform_seek), (gst_base_src_send_event),
18316         (gst_base_src_default_event), (gst_base_src_event_handler),
18317         (gst_base_src_set_property), (gst_base_src_get_property),
18318         (gst_base_src_wait), (gst_base_src_do_sync),
18319         (gst_base_src_update_length), (gst_base_src_get_range),
18320         (gst_base_src_check_get_range), (gst_base_src_loop),
18321         (gst_base_src_default_negotiate), (gst_base_src_start),
18322         (gst_base_src_activate_push), (gst_base_src_activate_pull),
18323         (gst_base_src_change_state):
18324         * libs/gst/base/gstbasesrc.h:
18325         Implement seeking to other formats than _BYTES.
18326         Implement more seeking methods correctly.
18327         Doc updates.
18328         Added query vmethod.
18329         Added do_seek vmethod to make life easier for subclasses
18330         when seeking.
18331         API addition: gst_base_src_set_format()
18332
18333 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18334
18335         * tests/examples/Makefile.am:
18336           added that too
18337
18338 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18339
18340         * configure.ac:
18341         * docs/random/ensonic/media-device-daemon.txt:
18342         * tests/examples/controller/.cvsignore:
18343         * tests/examples/controller/Makefile.am:
18344         * tests/examples/controller/audio-example.c: (main):
18345         * tests/examples/helloworld/.cvsignore:
18346         * tests/examples/helloworld/Makefile.am:
18347         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
18348         * tests/examples/launch/.cvsignore:
18349         * tests/examples/launch/Makefile.am:
18350         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
18351         * tests/examples/metadata/.cvsignore:
18352         * tests/examples/metadata/Makefile.am:
18353         * tests/examples/metadata/read-metadata.c: (message_loop),
18354         (make_pipeline), (print_tag), (main):
18355         * tests/examples/queue/.cvsignore:
18356         * tests/examples/queue/Makefile.am:
18357         * tests/examples/queue/queue.c: (event_loop), (main):
18358         * tests/examples/typefind/.cvsignore:
18359         * tests/examples/typefind/Makefile.am:
18360         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
18361         (main):
18362         * tests/examples/xml/.cvsignore:
18363         * tests/examples/xml/Makefile.am:
18364         * tests/examples/xml/createxml.c: (object_saved), (main):
18365         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
18366         * tests/old/examples/Makefile.am:
18367         * tests/old/examples/TODO:
18368         * tests/old/examples/controller/.cvsignore:
18369         * tests/old/examples/controller/Makefile.am:
18370         * tests/old/examples/controller/audio-example.c:
18371         * tests/old/examples/helloworld/.cvsignore:
18372         * tests/old/examples/helloworld/Makefile.am:
18373         * tests/old/examples/helloworld/helloworld.c:
18374         * tests/old/examples/launch/.cvsignore:
18375         * tests/old/examples/launch/Makefile.am:
18376         * tests/old/examples/launch/mp3parselaunch.c:
18377         * tests/old/examples/launch/mp3play:
18378         * tests/old/examples/manual/Makefile.am:
18379         * tests/old/examples/metadata/Makefile.am:
18380         * tests/old/examples/metadata/read-metadata.c:
18381         * tests/old/examples/queue/.cvsignore:
18382         * tests/old/examples/queue/Makefile.am:
18383         * tests/old/examples/queue/queue.c:
18384         * tests/old/examples/typefind/.cvsignore:
18385         * tests/old/examples/typefind/Makefile.am:
18386         * tests/old/examples/typefind/typefind.c:
18387         * tests/old/examples/xml/.cvsignore:
18388         * tests/old/examples/xml/Makefile.am:
18389         * tests/old/examples/xml/createxml.c:
18390         * tests/old/examples/xml/runxml.c:
18391           applied some simple fixing to some examples
18392           re-enabled the working examples
18393
18394 2005-12-12  Wim Taymans  <wim@fluendo.com>
18395
18396         * gst/gstsegment.c: (gst_segment_init),
18397         (gst_segment_set_last_stop), (gst_segment_set_seek),
18398         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18399         (gst_segment_to_running_time):
18400         Added more documentation.
18401         Make sure the last_pos value is updated properly.
18402         Make sure to_stream_time and to_running_time don't
18403         operate on wrong values.
18404
18405         * tests/check/gst/gstsegment.c: (GST_START_TEST):
18406         Update check.
18407
18408 2005-12-12  Michael Smith  <msmith@fluendo.com>
18409
18410         * plugins/elements/gsttypefindelement.c: (free_entry),
18411         (gst_type_find_element_chain):
18412           Now that we're not leaking factories, make sure we keep references
18413           to them while we need them.
18414
18415 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18416
18417         * tests/check/gst/struct_i386.h:
18418           ifdef out the XML structs
18419
18420 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18421
18422         * gst/gstvalue.c: (gst_value_transform_double_fraction):
18423           floor is not needed, F is always positive; this obviates the
18424           need for adding -lm when building without libxml
18425
18426 2005-12-12  Wim Taymans  <wim@fluendo.com>
18427
18428         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18429         Take current playback rate into account when reporting
18430         the position.
18431
18432 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18433
18434         * docs/manual/mime-world.fig:
18435           Let's try this again, this time with a file that is
18436           actually in XFig format.
18437
18438 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18439
18440         * docs/manual/mime-world.fig:
18441           Add audioconvert element to diagram so that it
18442           matches the text and the code (fixes #319526).
18443
18444 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18445
18446         * docs/pwg/building-chainfn.xml:
18447         * docs/pwg/building-pads.xml:
18448         * docs/pwg/building-state.xml:
18449         * docs/pwg/other-source.xml:
18450           Update state change stuff for 0.10 (fixes #322969).
18451
18452 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18453
18454         * docs/manual/advanced-dataaccess.xml:
18455         * docs/manual/appendix-checklist.xml:
18456         * docs/manual/appendix-programs.xml:
18457         * docs/manual/basics-pads.xml:
18458         * docs/manual/highlevel-components.xml:
18459         * docs/manual/manual.xml:
18460           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
18461           add converters in front of pipelines; remove curly
18462           brackets for threads stuff, they no longer exist; use
18463           GST_TYPE_FRACTION for framerates; update some pieces of
18464           code to 0.10, but there's plenty more to do.
18465
18466         * docs/manual/appendix-porting.xml:
18467           Expand on asynchroneous state changes; s/0.9/0.10/;
18468           mention disappearance of gst_init_get_popt_table()
18469           (fixes #322916).
18470
18471 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18472
18473         * docs/faq/using.xml:
18474           Spider no longer exists, and neither does gst-launch-ext.
18475           Update examples to use decodebin and playbin and put
18476           converters in front of sinks (fixes #323726).
18477
18478 2005-12-09  Michael Smith  <msmith@fluendo.com>
18479
18480         * plugins/elements/gsttypefindelement.c: (find_peek),
18481         (gst_type_find_element_chain):
18482           Fix leaking element factories in typefinding.
18483           Fix problem where we forgot about a probable type on non-seekable
18484           files, and thus later mis-typefound it.
18485
18486 2005-12-09  Michael Smith  <msmith@fluendo.com>
18487
18488         * common/m4/gst-makecontext.m4:
18489         * common/m4/gst-mcsc.m4:
18490         * configure.ac:
18491         * win32/common/config.h:
18492         * win32/common/config.h.in:
18493           Remove makecontext stuff; not used in 0.10 and causes problems on
18494           HPUX according to bug #322441
18495
18496 2005-12-07  Wim Taymans  <wim@fluendo.com>
18497
18498         * tests/check/Makefile.am:
18499         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
18500         (main):
18501         * tests/check/libs/struct_i386.h:
18502         Added ABI check for libs
18503
18504 2005-12-07  Wim Taymans  <wim@fluendo.com>
18505
18506         * tests/check/Makefile.am:
18507         And add the struct_i386.h to dist.
18508
18509 2005-12-07  Wim Taymans  <wim@fluendo.com>
18510
18511         * tests/check/Makefile.am:
18512         * tests/check/gst/.cvsignore:
18513         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
18514         (main):
18515         * tests/check/gst/struct_i386.h:
18516         Added check for ABI compatibility.
18517
18518 2005-12-07  Wim Taymans  <wim@fluendo.com>
18519
18520         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18521         (gst_fake_src_get_times), (gst_fake_src_create):
18522         Fix broken sync option, fixes #323259
18523
18524 2005-12-07  Wim Taymans  <wim@fluendo.com>
18525
18526         * gst/gstbuffer.c:
18527         Small docs update.
18528
18529         * gst/gstcaps.c: (gst_caps_is_equal):
18530         Don't assert on NULL <--> X. Fixes #323260
18531
18532         * gst/gstminiobject.c: (gst_mini_object_replace):
18533         If we're doing atomic operations, we might just as well use
18534         the proper way to get an atomic pointer.
18535
18536         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18537         Clean up debugging.
18538
18539 2005-12-07  Michael Smith  <msmith@fluendo.com>
18540
18541         * gst/parse/grammar.y:
18542           Remove handling of { } for threads.
18543
18544 2005-12-06  David Schleef  <ds@schleef.org>
18545
18546         * libs/gst/base/gstbasetransform.c: speling fix.
18547
18548 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18549
18550         * docs/libs/tmpl/gstdataprotocol.sgml:
18551         * docs/random/omega/testing/gstobject.c:
18552         * gst/gst.c:
18553         * gst/gstclock.c:
18554         * gst/gstelement.c:
18555         * gst/gstelementfactory.c:
18556         * gst/gsterror.c:
18557         * gst/gstevent.c:
18558         * gst/gstghostpad.c:
18559         * gst/gstinfo.c:
18560         * gst/gstpadtemplate.c:
18561         * gst/gstregistryxml.c:
18562         * gst/gsttaglist.c:
18563         * gst/gsttagsetter.c:
18564         * gst/gsttypefind.c:
18565         * gst/gstvalue.c:
18566         * libs/gst/base/gstbasesrc.c:
18567         * libs/gst/net/gstnetclientclock.c:
18568         * libs/gst/net/gstnettimeprovider.c:
18569         * plugins/elements/gstfakesrc.c:
18570         * plugins/elements/gstfdsrc.c:
18571         * plugins/elements/gstfilesrc.c:
18572         * plugins/elements/gstidentity.c:
18573         * plugins/elements/gstqueue.c:
18574         * plugins/elements/gsttypefindelement.c:
18575         * plugins/indexers/gstfileindex.c:
18576         * plugins/indexers/gstmemindex.c:
18577         * tests/check/gst/gsttag.c:
18578         * tests/old/examples/cutter/cutter.c:
18579         * tests/old/examples/mixer/mixer.c:
18580         * tests/old/examples/xml/runxml.c: (main):
18581         * tests/old/testsuite/caps/normalisation.c:
18582         * tests/old/testsuite/debug/global.c:
18583         * tests/old/testsuite/parse/parse1.c:
18584         * tools/gst-xmlinspect.c:
18585         * win32/common/dirent.c:
18586           expand tabs
18587
18588 === release 0.10.0 ===
18589
18590 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18591
18592         * configure.ac:
18593           releasing 0.10.0, "Maroilles"
18594
18595 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18596
18597         submitted by: Funda Wang <fundawang@linux.net.cn>
18598
18599         * po/LINGUAS:
18600         * po/zh_CN.po:
18601           added Chinese (Traditional) translation
18602
18603 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18604
18605         * docs/gst/gstreamer-sections.txt:
18606         * docs/libs/tmpl/gstdataprotocol.sgml:
18607         * docs/random/thomasvs/TODO:
18608         * gst/gstutils.c:
18609         * gst/gstutils.h:
18610           fix docs
18611
18612 2005-12-05  Andy Wingo  <wingo@pobox.com>
18613
18614         patch by: Wim Taymans <wim@fluendo.com>
18615
18616         * libs/gst/base/gstbasetransform.c
18617         (gst_base_transform_prepare_output_buf)
18618         (gst_base_transform_buffer_alloc):
18619         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
18620         alloc_buffer_and_set_caps.
18621
18622         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
18623         set_caps on the source pad.
18624         (gst_pad_alloc_buffer_and_set_caps): New function, does what
18625         alloc_buffer used to do. Fixes #322874.
18626
18627         * docs/gst/gstreamer-sections.txt: 
18628         * docs/design/part-negotiation.txt: 
18629         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
18630         changes.
18631
18632 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18633
18634         patch by: Sebastien Moutte
18635
18636         * win32/MANIFEST:
18637         * win32/common/config.h.in:
18638         * win32/vs6/libgstcontroller.dsp:
18639           win32 build fixes
18640
18641 2005-12-05  Wim Taymans  <wim@fluendo.com>
18642
18643         * gst/gstcaps.c: (gst_caps_is_equal):
18644         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18645         (gst_fake_src_create):
18646         Back out previous code changes, leave doc updates, file bugs 
18647         instead. 
18648
18649 2005-12-05  Wim Taymans  <wim@fluendo.com>
18650
18651         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18652         (gst_fake_src_get_times), (gst_fake_src_create):
18653         * plugins/elements/gstfakesrc.h:
18654         Fix broken sync code.
18655
18656 2005-12-05  Wim Taymans  <wim@fluendo.com>
18657
18658         * gst/gstcaps.c: (gst_caps_is_equal):
18659         Comparing NULL against !NULL yields different caps, not a
18660         failure.
18661
18662 2005-12-05  Wim Taymans  <wim@fluendo.com>
18663
18664         * gst/gstpipeline.c:
18665         Fix small typo in docs.
18666
18667 2005-12-05  Andy Wingo  <wingo@pobox.com>
18668
18669         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
18670
18671         * gst/gst.c (init_post): remove hard-coded 0.9 location for
18672         registries/plugins with a MAJORMINOR one.
18673         (plugin_desc): Rename library from gstcoreleements to
18674         staticelements. Fixes #323222.
18675
18676 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
18677
18678         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
18679           Change debug category to 'collectpads' from 'collect_pads'
18680           (fixes #323250).
18681
18682 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
18683
18684         patch by: Sebastien Moutte
18685
18686         * libs/gst/controller/gstinterpolation.c:
18687           use convert function for uint64/double
18688         * win32/vs6/libgstcontroller.dsp:
18689           link to GLib
18690
18691 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
18692
18693         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
18694         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
18695         * gst/gstutils.h:
18696         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18697           add tests that seem to show that the guint64/gdouble conversions
18698           are correct.
18699
18700 2005-12-02  Wim Taymans  <wim@fluendo.com>
18701
18702         * gst/gstregistry.c: (gst_registry_add_path):
18703         * gst/gstregistry.h:
18704         * gst/gstregistryxml.c:
18705         Fix docs again.
18706
18707 2005-12-02  Wim Taymans  <wim@fluendo.com>
18708
18709         * gst/gstutils.c: (gst_util_uint64_scale_int64),
18710         (gst_util_uint64_scale_int):
18711         Small cleanup.
18712
18713         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18714         Add debug log line.
18715
18716         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
18717         Add FIXME.
18718
18719 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18720
18721         * win32/MANIFEST:
18722         * win32/common/config.h:
18723         * win32/vs6/gstreamer.dsw:
18724         * win32/vs6/libgstcoreelements.dsp:
18725         * win32/vs6/libgstelements.dsp:
18726           renamed core elements plugin
18727
18728 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18729
18730         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
18731         (get_candidates):
18732           do piece-wise major/minor comparison so 0.9 < 0.10
18733           also allow .exe extensions for tools
18734
18735 2005-12-02  Michael Smith  <msmith@fluendo.com>
18736
18737         * gst/gst.c:
18738           Escape a % to make gtkdoc happier; bug 322958.
18739
18740 === release 0.9.7 ===
18741
18742 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18743
18744         * configure.ac:
18745           releasing 0.9.7, "My Dog Has No Nose"
18746
18747 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18748
18749         * common/gst-xmlinspect.py:
18750         * configure.ac:
18751         * docs/libs/tmpl/gstdataprotocol.sgml:
18752         * docs/random/release:
18753         * po/af.po:
18754         * po/az.po:
18755         * po/bg.po:
18756         * po/ca.po:
18757         * po/cs.po:
18758         * po/de.po:
18759         * po/en_GB.po:
18760         * po/fr.po:
18761         * po/it.po:
18762         * po/nb.po:
18763         * po/nl.po:
18764         * po/ru.po:
18765         * po/sq.po:
18766         * po/sr.po:
18767         * po/sv.po:
18768         * po/tr.po:
18769         * po/uk.po:
18770         * po/vi.po:
18771         * win32/common/config.h:
18772         * win32/common/config.h.in:
18773         * win32/vs6/gst_inspect.dsp:
18774         * win32/vs6/gst_launch.dsp:
18775         * win32/vs6/libgstbase.dsp:
18776         * win32/vs6/libgstelements.dsp:
18777         * win32/vs6/libgstreamer.dsp:
18778         * win32/vs7/GStreamer.vcproj:
18779         * win32/vs7/gst-inspect.vcproj:
18780         * win32/vs7/gst-launch.vcproj:
18781         * win32/vs7/libgstbase.vcproj:
18782           bump GST_MAJORMINOR to 0.10
18783           reset libtool version
18784
18785 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18786
18787         * po/LINGUAS:
18788         * po/bg.po:
18789           Added Bulgarian translation by (Alexander Shopov)
18790
18791 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18792
18793         * tests/check/gst/gstplugin.c:
18794           fix test
18795
18796 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18797
18798         * common/gst-xmlinspect.py:
18799         * common/gtk-doc-plugins.mak:
18800         * configure.ac:
18801         * docs/Makefile.am:
18802         * docs/gst/Makefile.am:
18803         * docs/gst/gstreamer-docs.sgml:
18804         * docs/gst/gstreamer-sections.txt:
18805         * docs/gst/gstreamer.types:
18806         * docs/gst/gstreamer.types.in:
18807         * docs/plugins/Makefile.am:
18808         * docs/plugins/gstreamer-plugins-docs.sgml:
18809         * docs/plugins/gstreamer-plugins-sections.txt:
18810         * docs/plugins/gstreamer-plugins.types:
18811         * docs/plugins/inspect.stamp:
18812         * docs/plugins/inspect/plugin-coreelements.xml:
18813         * docs/plugins/inspect/plugin-coreindexers.xml:
18814         * docs/plugins/scanobj-build.stamp:
18815         * gstreamer.spec.in:
18816         * plugins/elements/Makefile.am:
18817         * plugins/elements/gstelements.c:
18818         * plugins/elements/gstfakesink.c:
18819         * plugins/elements/gstfakesrc.c:
18820         * plugins/elements/gstfilesink.c:
18821         * plugins/elements/gstfilesrc.c:
18822         * plugins/elements/gstqueue.c:
18823         * plugins/indexers/Makefile.am:
18824         * plugins/indexers/gstindexers.c:
18825           document core plugins in a separate document just like all the
18826           others
18827           rename these plugins to something starting with core
18828
18829 2005-12-01  Andy Wingo  <wingo@pobox.com>
18830
18831         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
18832         padding here before, but it missed the commit.
18833
18834 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
18835
18836         * libs/gst/controller/gstinterpolation.c:
18837           whitespace prices have crashed, we should feel free to use some now
18838           use gst_guint64_to_gdouble
18839
18840 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
18841
18842         * libs/gst/controller/gstcontroller.c:
18843         * libs/gst/controller/gsthelper.c:
18844         * libs/gst/controller/gstinterpolation.c:
18845         * libs/gst/controller/lib.c:
18846           wrap config.h include
18847
18848 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
18849
18850         * docs/gst/gstreamer-sections.txt:
18851           update docs
18852
18853 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
18854
18855         * plugins/elements/gstelements.c:
18856         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
18857         (gst_fd_sink__class_init), (gst_fd_sink__init),
18858         (gst_fd_sink__chain), (gst_fd_sink__set_property),
18859         (gst_fd_sink__get_property):
18860         * plugins/elements/gstfdsink.h:
18861         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
18862         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
18863         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
18864         (gst_fd_src_unlock), (gst_fd_src_set_property),
18865         (gst_fd_src_get_property), (gst_fd_src_create),
18866         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
18867         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
18868         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
18869         (gst_fd_src_uri_handler_init):
18870         * plugins/elements/gstfdsrc.h:
18871         * plugins/elements/gstqueue.c: (gst_queue_get_type):
18872           more anal cleanup
18873
18874 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18875
18876         * docs/gst/Makefile.am:
18877         * docs/gst/gstreamer.types.in:
18878         * gst/Makefile.am:
18879           fix the docs build
18880
18881 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18882
18883         * configure.ac:
18884         * gst/Makefile.am:
18885         * gst/gst.c:
18886         * gst/gstplugin.h:
18887         * gst/gstregistry.h:
18888         * tests/benchmarks/complexity.c:
18889         * tests/benchmarks/mass-elements.c:
18890         * tests/check/Makefile.am:
18891         * tools/Makefile.am:
18892         * tools/gst-inspect.c:
18893         * tools/gst-xmlinspect.c:
18894           various fixes to make
18895           --disable-nls --disable-registry --disable-loadsave
18896           --disable-parse --disable-gst-debug
18897           work and get the core .so down to 360444 bytes after stripping
18898
18899 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18900
18901         * Makefile.am:
18902         * configure.ac:
18903           descend into tests
18904         * docs/random/thomasvs/TODO:
18905         * tests/Makefile.am:
18906         * tests/README:
18907           add a README
18908
18909 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18910
18911         * win32/GStreamer.vcproj:
18912         * win32/MANIFEST:
18913         * win32/Makefile:
18914         * win32/Makefile.inspect:
18915         * win32/Makefile.launch:
18916         * win32/Makefile.register:
18917         * win32/README.txt:
18918         * win32/gst-inspect.vcproj:
18919         * win32/gst-launch.vcproj:
18920         * win32/gst-register.vcproj:
18921         * win32/gstelements.vcproj:
18922         * win32/gstgetbits.def:
18923         * win32/gstgetbits.vcproj:
18924         * win32/gstreamer-dbg.def:
18925         * win32/gstreamer.def:
18926         * win32/libgstbase.def:
18927         * win32/libgstbase.vcproj:
18928         * win32/link_oldruntime.c:
18929         * win32/mman.c:
18930         * win32/mman.h:
18931         * win32/mman.inl:
18932         * win32/msvc71.sln:
18933           move even more stuff, win32/ is nice and clean now
18934
18935 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18936
18937         * libs/gst/control/.cvsignore:
18938         * win32/MANIFEST:
18939         * win32/config.h:
18940         * win32/dirent.c:
18941         * win32/dirent.h:
18942         * win32/gstbytestream.def:
18943         * win32/gstbytestream.vcproj:
18944         * win32/gstconfig.h:
18945         * win32/gstenumtypes.c:
18946         * win32/gstenumtypes.h:
18947         * win32/gstoptimalscheduler.vcproj:
18948         * win32/gstversion.h:
18949         * win32/gtchar.h:
18950         * win32/testsuite/bins.vcproj:
18951         * win32/testsuite/bytestream.vcproj:
18952         * win32/testsuite/caps.vcproj:
18953         * win32/testsuite/cleanup.vcproj:
18954         * win32/testsuite/clock.vcproj:
18955         * win32/testsuite/debug.vcproj:
18956         * win32/testsuite/dlopen.vcproj:
18957         * win32/testsuite/dynparams.vcproj:
18958         * win32/testsuite/elements.vcproj:
18959         * win32/testsuite/ghostpads.vcproj:
18960         * win32/testsuite/indexers.vcproj:
18961         * win32/testsuite/negotiation.vcproj:
18962         * win32/testsuite/parse.vcproj:
18963         * win32/testsuite/plugin.vcproj:
18964         * win32/testsuite/refcounting.vcproj:
18965         * win32/testsuite/schedulers.vcproj:
18966         * win32/testsuite/states.vcproj:
18967         * win32/testsuite/tags.vcproj:
18968         * win32/testsuite/threads.vcproj:
18969           remove old win32 stuff that isn't maintained and should be
18970           reorganized
18971
18972 2005-11-30  Andy Wingo  <wingo@pobox.com>
18973
18974         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
18975         loading the gst.interfaces python module bork.
18976
18977         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
18978         available since GLib 2.2. Fixes #318031.
18979
18980 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18981
18982         * Makefile.am:
18983         * check/.cvsignore:
18984         * check/Makefile.am:
18985         * check/elements/.cvsignore:
18986         * check/elements/fakesrc.c:
18987         * check/elements/fdsrc.c:
18988         * check/elements/identity.c:
18989         * check/generic/.cvsignore:
18990         * check/generic/states.c:
18991         * check/gst-libs/.cvsignore:
18992         * check/gst-libs/controller.c:
18993         * check/gst-libs/gdp.c:
18994         * check/gst/.cvsignore:
18995         * check/gst/capslist.h:
18996         * check/gst/gst.c:
18997         * check/gst/gstbin.c:
18998         * check/gst/gstbuffer.c:
18999         * check/gst/gstbus.c:
19000         * check/gst/gstcaps.c:
19001         * check/gst/gstelement.c:
19002         * check/gst/gstevent.c:
19003         * check/gst/gstghostpad.c:
19004         * check/gst/gstiterator.c:
19005         * check/gst/gstmessage.c:
19006         * check/gst/gstminiobject.c:
19007         * check/gst/gstobject.c:
19008         * check/gst/gstpad.c:
19009         * check/gst/gstpipeline.c:
19010         * check/gst/gstplugin.c:
19011         * check/gst/gstsegment.c:
19012         * check/gst/gststructure.c:
19013         * check/gst/gstsystemclock.c:
19014         * check/gst/gsttag.c:
19015         * check/gst/gstutils.c:
19016         * check/gst/gstvalue.c:
19017         * check/net/.cvsignore:
19018         * check/net/gstnetclientclock.c:
19019         * check/net/gstnettimeprovider.c:
19020         * check/pipelines/.cvsignore:
19021         * check/pipelines/cleanup.c:
19022         * check/pipelines/simple_launch_lines.c:
19023         * check/pipelines/stress.c:
19024         * check/states/.cvsignore:
19025         * check/states/sinks.c:
19026         * configure.ac:
19027         * examples/Makefile.am:
19028         * examples/appreader/.cvsignore:
19029         * examples/appreader/Makefile.am:
19030         * examples/appreader/appreader.c:
19031         * examples/controller/.cvsignore:
19032         * examples/controller/Makefile.am:
19033         * examples/controller/audio-example.c:
19034         * examples/cutter/.cvsignore:
19035         * examples/cutter/Makefile.am:
19036         * examples/cutter/cutter.c:
19037         * examples/cutter/cutter.h:
19038         * examples/events/Makefile.am:
19039         * examples/events/seek.c:
19040         * examples/helloworld/.cvsignore:
19041         * examples/helloworld/Makefile.am:
19042         * examples/helloworld/helloworld.c:
19043         * examples/helloworld2/.cvsignore:
19044         * examples/helloworld2/Makefile.am:
19045         * examples/helloworld2/helloworld2.c:
19046         * examples/launch/.cvsignore:
19047         * examples/launch/Makefile.am:
19048         * examples/launch/mp3parselaunch.c:
19049         * examples/launch/mp3play:
19050         * examples/manual/.cvsignore:
19051         * examples/manual/Makefile.am:
19052         * examples/manual/extract.pl:
19053         * examples/metadata/Makefile.am:
19054         * examples/metadata/read-metadata.c:
19055         * examples/mixer/.cvsignore:
19056         * examples/mixer/Makefile.am:
19057         * examples/mixer/mixer.c:
19058         * examples/mixer/mixer.h:
19059         * examples/pingpong/.cvsignore:
19060         * examples/pingpong/Makefile.am:
19061         * examples/pingpong/pingpong.c:
19062         * examples/plugins/.cvsignore:
19063         * examples/plugins/Makefile.am:
19064         * examples/plugins/example.c:
19065         * examples/plugins/example.h:
19066         * examples/pwg/.cvsignore:
19067         * examples/pwg/Makefile.am:
19068         * examples/pwg/extract.pl:
19069         * examples/queue/.cvsignore:
19070         * examples/queue/Makefile.am:
19071         * examples/queue/queue.c:
19072         * examples/queue2/.cvsignore:
19073         * examples/queue2/Makefile.am:
19074         * examples/queue2/queue2.c:
19075         * examples/queue3/.cvsignore:
19076         * examples/queue3/Makefile.am:
19077         * examples/queue3/queue3.c:
19078         * examples/queue4/.cvsignore:
19079         * examples/queue4/Makefile.am:
19080         * examples/queue4/queue4.c:
19081         * examples/retag/.cvsignore:
19082         * examples/retag/Makefile.am:
19083         * examples/retag/retag.c:
19084         * examples/retag/transcode.c:
19085         * examples/thread/.cvsignore:
19086         * examples/thread/Makefile.am:
19087         * examples/thread/thread.c:
19088         * examples/typefind/.cvsignore:
19089         * examples/typefind/Makefile.am:
19090         * examples/typefind/typefind.c:
19091         * examples/xml/.cvsignore:
19092         * examples/xml/Makefile.am:
19093         * examples/xml/createxml.c:
19094         * examples/xml/runxml.c:
19095         * tests/Makefile.am:
19096         * tests/check/Makefile.am:
19097         * testsuite/.cvsignore:
19098         * testsuite/Makefile.am:
19099         * testsuite/Rules:
19100         * testsuite/caps/.cvsignore:
19101         * testsuite/caps/Makefile.am:
19102         * testsuite/caps/app_fixate.c:
19103         * testsuite/caps/audioscale.c:
19104         * testsuite/caps/caps.c:
19105         * testsuite/caps/caps.h:
19106         * testsuite/caps/caps_strings:
19107         * testsuite/caps/compatibility.c:
19108         * testsuite/caps/deserialize.c:
19109         * testsuite/caps/enumcaps.c:
19110         * testsuite/caps/eratosthenes.c:
19111         * testsuite/caps/filtercaps.c:
19112         * testsuite/caps/fixed.c:
19113         * testsuite/caps/fraction-convert.c:
19114         * testsuite/caps/fraction-multiply-and-zero.c:
19115         * testsuite/caps/intersect2.c:
19116         * testsuite/caps/intersection.c:
19117         * testsuite/caps/normalisation.c:
19118         * testsuite/caps/random.c:
19119         * testsuite/caps/renegotiate.c:
19120         * testsuite/caps/sets.c:
19121         * testsuite/caps/simplify.c:
19122         * testsuite/caps/string-conversions.c:
19123         * testsuite/caps/structure.c:
19124         * testsuite/caps/subtract.c:
19125         * testsuite/caps/union.c:
19126         * testsuite/debug/.cvsignore:
19127         * testsuite/debug/Makefile.am:
19128         * testsuite/debug/category.c:
19129         * testsuite/debug/commandline.c:
19130         * testsuite/debug/global.c:
19131         * testsuite/debug/output.c:
19132         * testsuite/debug/printf_extension.c:
19133         * testsuite/dlopen/.cvsignore:
19134         * testsuite/dlopen/Makefile.am:
19135         * testsuite/dlopen/dlopen_gst.c:
19136         * testsuite/dlopen/loadgst.c:
19137         * testsuite/elements/.cvsignore:
19138         * testsuite/elements/Makefile.am:
19139         * testsuite/elements/gst-inspect-check.in:
19140         * testsuite/elements/struct_i386.h:
19141         * testsuite/elements/struct_size.c:
19142         * testsuite/indexers/.cvsignore:
19143         * testsuite/indexers/Makefile.am:
19144         * testsuite/indexers/cache1.c:
19145         * testsuite/indexers/indexdump.c:
19146         * testsuite/parse/.cvsignore:
19147         * testsuite/parse/Makefile.am:
19148         * testsuite/parse/parse1.c:
19149         * testsuite/parse/parse2.c:
19150         * testsuite/plugin/.cvsignore:
19151         * testsuite/plugin/Makefile.am:
19152         * testsuite/plugin/README:
19153         * testsuite/plugin/dynamic.c:
19154         * testsuite/plugin/linked.c:
19155         * testsuite/plugin/loading.c:
19156         * testsuite/plugin/registry.c:
19157         * testsuite/plugin/static.c:
19158         * testsuite/plugin/static2.c:
19159         * testsuite/plugin/testplugin.c:
19160         * testsuite/plugin/testplugin2.c:
19161         * testsuite/plugin/testplugin2_s.c:
19162         * testsuite/plugin/testplugin_s.c:
19163         * testsuite/refcounting/.cvsignore:
19164         * testsuite/refcounting/Makefile.am:
19165         * testsuite/refcounting/bin.c:
19166         * testsuite/refcounting/element.c:
19167         * testsuite/refcounting/element_pad.c:
19168         * testsuite/refcounting/mainloop.c:
19169         * testsuite/refcounting/mem.c:
19170         * testsuite/refcounting/mem.h:
19171         * testsuite/refcounting/object.c:
19172         * testsuite/refcounting/pad.c:
19173         * testsuite/refcounting/sched.c:
19174         * testsuite/refcounting/thread.c:
19175         * testsuite/states/.cvsignore:
19176         * testsuite/states/Makefile.am:
19177         * testsuite/states/bin.c:
19178         * testsuite/states/locked.c:
19179         * testsuite/states/parent.c:
19180         * testsuite/threads/.cvsignore:
19181         * testsuite/threads/159566.c:
19182         * testsuite/threads/159852.c:
19183         * testsuite/threads/Makefile.am:
19184         * testsuite/threads/queue.c:
19185         * testsuite/threads/signals.c:
19186         * testsuite/threads/staticrec.c:
19187         * testsuite/threads/thread.c:
19188         * testsuite/threads/threadb.c:
19189         * testsuite/threads/threadc.c:
19190         * testsuite/threads/threadd.c:
19191         * testsuite/threads/threade.c:
19192         * testsuite/threads/threadf.c:
19193         * testsuite/threads/threadg.c:
19194         * testsuite/threads/threadh.c:
19195         * testsuite/threads/threadi.c:
19196           move all of these under tests
19197
19198 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19199
19200         * configure.ac:
19201         * tests/Makefile.am:
19202           fix distcheck
19203
19204 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19205
19206         * docs/gst/gstreamer-sections.txt:
19207         * tests/sched/.cvsignore:
19208         * tests/sched/Makefile.am:
19209         * tests/sched/cases/(fs-fs).xml:
19210         * tests/sched/cases/(fs-i-fs).xml:
19211         * tests/sched/cases/(fs-i-i-fs).xml:
19212         * tests/sched/cases/(fs-i-q[i-fs]).xml:
19213         * tests/sched/dynamic-pipeline.c:
19214         * tests/sched/interrupt1.c:
19215         * tests/sched/interrupt2.c:
19216         * tests/sched/interrupt3.c:
19217         * tests/sched/runtestcases:
19218         * tests/sched/runxml.c:
19219         * tests/sched/sched-stress.c:
19220         * tests/sched/sort.c:
19221         * tests/sched/testcases:
19222         * tests/sched/testcases1.tc:
19223         * tests/seeking/.cvsignore:
19224         * tests/seeking/Makefile.am:
19225         * tests/seeking/seeking1.c:
19226         * tests/threadstate/.cvsignore:
19227         * tests/threadstate/Makefile.am:
19228         * tests/threadstate/test1.c:
19229         * tests/threadstate/test2.c:
19230         * tests/threadstate/threadstate1.c:
19231         * tests/threadstate/threadstate2.c:
19232         * tests/threadstate/threadstate3.c:
19233         * tests/threadstate/threadstate4.c:
19234         * tests/threadstate/threadstate5.c:
19235           remove obsolete tests
19236         * configure.ac:
19237         * tests/bench-complexity.scm:
19238         * tests/bench-mass_elements.scm:
19239         * tests/complexity.c:
19240         * tests/complexity.gnuplot:
19241         * tests/instantiate/.cvsignore:
19242         * tests/instantiate/Makefile.am:
19243         * tests/instantiate/caps.c:
19244         * tests/mass_elements.c:
19245         * tests/network-clock-utils.scm:
19246         * tests/network-clock.scm:
19247         * tests/plot-data:
19248         First pass at cleaning up tests/ dir before moving the rest
19249         Combined with CVS surgery
19250
19251 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19252
19253         * po/POTFILES.in:
19254           queue has moved, update
19255
19256 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19257
19258         * docs/gst/gstreamer-sections.txt:
19259           remove double entries from the docs
19260         * gst/gst_private.h:
19261         * gst/gstinfo.c: (_gst_debug_init):
19262           remove the THREAD debug category
19263         * gst/Makefile.am:
19264         * gst/gstqueue.c:
19265         * gst/gstqueue.h:
19266         * docs/gst/gstreamer.types:
19267         * plugins/elements/gstqueue.c: (gst_queue_get_type),
19268         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19269           completely move queue and fix up debugging categories
19270
19271 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19272
19273         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
19274           make initialization portable, using LL is not
19275
19276 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19277
19278         * win32/common/gstconfig.h:
19279           add large padding
19280
19281 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19282
19283         * win32/common/libgstreamer.def:
19284           rename symbols; sort base section
19285
19286 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19287
19288         * gst/gstclock.c: (do_linear_regression):
19289           remove crack non-portable handrolled DEBUG macro
19290
19291 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19292
19293         * docs/random/release:
19294           update notes
19295         * win32/common/gstenumtypes.c: (register_gst_object_flags),
19296         (gst_object_flags_get_type), (register_gst_bin_flags),
19297         (gst_bin_flags_get_type), (register_gst_buffer_flag),
19298         (gst_buffer_flag_get_type), (register_gst_bus_flags),
19299         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19300         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
19301         (gst_caps_flags_get_type), (register_gst_clock_return),
19302         (gst_clock_return_get_type), (register_gst_clock_entry_type),
19303         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19304         (gst_clock_flags_get_type), (register_gst_state),
19305         (gst_state_get_type), (register_gst_state_change_return),
19306         (gst_state_change_return_get_type), (register_gst_state_change),
19307         (gst_state_change_get_type), (register_gst_element_flags),
19308         (gst_element_flags_get_type), (register_gst_core_error),
19309         (gst_core_error_get_type), (register_gst_library_error),
19310         (gst_library_error_get_type), (register_gst_resource_error),
19311         (gst_resource_error_get_type), (register_gst_stream_error),
19312         (gst_stream_error_get_type), (register_gst_event_type_flags),
19313         (gst_event_type_flags_get_type), (register_gst_event_type),
19314         (gst_event_type_get_type), (register_gst_seek_type),
19315         (gst_seek_type_get_type), (register_gst_seek_flags),
19316         (gst_seek_flags_get_type), (register_gst_format),
19317         (gst_format_get_type), (register_gst_index_certainty),
19318         (gst_index_certainty_get_type), (register_gst_index_entry_type),
19319         (gst_index_entry_type_get_type),
19320         (register_gst_index_lookup_method),
19321         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19322         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19323         (gst_index_resolver_method_get_type), (register_gst_index_flags),
19324         (gst_index_flags_get_type), (register_gst_debug_level),
19325         (gst_debug_level_get_type), (register_gst_debug_color_flags),
19326         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19327         (gst_iterator_result_get_type), (register_gst_iterator_item),
19328         (gst_iterator_item_get_type), (register_gst_message_type),
19329         (gst_message_type_get_type), (register_gst_mini_object_flags),
19330         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19331         (gst_pad_link_return_get_type), (register_gst_flow_return),
19332         (gst_flow_return_get_type), (register_gst_activate_mode),
19333         (gst_activate_mode_get_type), (register_gst_pad_direction),
19334         (gst_pad_direction_get_type), (register_gst_pad_flags),
19335         (gst_pad_flags_get_type), (register_gst_pad_presence),
19336         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19337         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19338         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19339         (gst_plugin_error_get_type), (register_gst_plugin_flags),
19340         (gst_plugin_flags_get_type), (register_gst_rank),
19341         (gst_rank_get_type), (register_gst_query_type),
19342         (gst_query_type_get_type), (register_gst_tag_merge_mode),
19343         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19344         (gst_tag_flag_get_type), (register_gst_task_state),
19345         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19346         (gst_alloc_trace_flags_get_type),
19347         (register_gst_type_find_probability),
19348         (gst_type_find_probability_get_type), (register_gst_uri_type),
19349         (gst_uri_type_get_type), (register_gst_parse_error),
19350         (gst_parse_error_get_type):
19351         * win32/common/gstenumtypes.h:
19352         * win32/common/gstversion.h:
19353           update visual studio generated files
19354
19355 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19356
19357         * win32/vs6/libgstbase.dsp:
19358         * win32/vs6/libgstelements.dsp:
19359           update project files for new locations
19360
19361 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19362
19363         * Makefile.am:
19364           remove some files
19365         * README:
19366           reinstate and update
19367         * DEVEL:
19368         * REQUIREMENTS:
19369           removed
19370         * LICENSE:
19371         * docs/random/LICENSE:
19372           moved to random
19373
19374 2005-11-30  Edward Hervey  <edward@fluendo.com>
19375
19376         * gst/gsttypefind.c: (gst_type_find_register):
19377         * gst/gsttypefind.h:
19378         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19379         (gst_type_find_factory_dispose):
19380         * gst/gsttypefindfactory.h:
19381         Fix memory leak in GstTypeFindFactory.
19382
19383 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19384
19385         * gst/gst.c:
19386         * plugins/elements/Makefile.am:
19387         * plugins/elements/gstelements.c:
19388         * plugins/elements/gstqueue.c:
19389           move queue from core to the elements plugin
19390
19391 2005-11-29  Andy Wingo  <wingo@pobox.com>
19392
19393         * libs/gst/base/gstbasetransform.h: 
19394         * libs/gst/base/gstbasesrc.h: 
19395         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
19396
19397         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
19398         of pointers by which to pad very extensible base classes (like the
19399         ones in libs/gst/base).
19400
19401 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19402
19403         * docs/gst/gstreamer-docs.sgml:
19404         * docs/gst/gstreamer-sections.txt:
19405         * docs/libs/gstreamer-libs-docs.sgml:
19406         * docs/libs/gstreamer-libs-sections.txt:
19407           moving documentation from core to lib
19408
19409 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19410
19411         * check/Makefile.am:
19412         * configure.ac:
19413         * docs/gst/Makefile.am:
19414         * gst/Makefile.am:
19415         * gst/base/.cvsignore:
19416         * gst/base/Makefile.am:
19417         * gst/base/README:
19418         * gst/base/gstadapter.c:
19419         * gst/base/gstadapter.h:
19420         * gst/base/gstbasesink.c:
19421         * gst/base/gstbasesink.h:
19422         * gst/base/gstbasesrc.c:
19423         * gst/base/gstbasesrc.h:
19424         * gst/base/gstbasetransform.c:
19425         * gst/base/gstbasetransform.h:
19426         * gst/base/gstcollectpads.c:
19427         * gst/base/gstcollectpads.h:
19428         * gst/base/gstpushsrc.c:
19429         * gst/base/gstpushsrc.h:
19430         * gst/base/gsttypefindhelper.c:
19431         * gst/base/gsttypefindhelper.h:
19432         * gst/check/Makefile.am:
19433         * gst/check/gstcheck.c:
19434         * gst/check/gstcheck.h:
19435         * gst/net/Makefile.am:
19436         * gst/net/gstnet.h:
19437         * gst/net/gstnetclientclock.c:
19438         * gst/net/gstnetclientclock.h:
19439         * gst/net/gstnettimepacket.c:
19440         * gst/net/gstnettimepacket.h:
19441         * gst/net/gstnettimeprovider.c:
19442         * gst/net/gstnettimeprovider.h:
19443         * libs/gst/Makefile.am:
19444         * libs/gst/base/Makefile.am:
19445         * libs/gst/base/gstbasetransform.c:
19446         * libs/gst/check/Makefile.am:
19447         * plugins/elements/Makefile.am:
19448         * po/POTFILES.in:
19449           CVS surgery + support to move base, check, and net out of gst
19450           and into libs/gst
19451
19452 2005-11-29  Andy Wingo  <wingo@pobox.com>
19453
19454         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
19455
19456         * gst/gststructure.h (struct _GstStructure): Only one pointer of
19457         padding.
19458
19459         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
19460
19461         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
19462
19463         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
19464
19465         * gst/gstobject.h: (struct _GstObject): Only one pointer of
19466         padding; reduces object size by about 30%. We don't expect
19467         anything else to go into gstobject.
19468
19469         * gst/gstminiobject.h (struct _GstMiniObject)
19470         (struct _GstMiniObjectClass): Only one pointer of padding; the
19471         payload is only a pointer and two ints anyway. For the class there
19472         are only two methods as well.
19473         
19474         * gst/gstelement.h (struct _GstElementClass): Removed
19475         the state_changed signal callback, it is not used.
19476
19477 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19478
19479         * docs/gst/gstreamer.types:
19480           fix includes, though they are a little dinky
19481
19482 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19483
19484         * check/Makefile.am:
19485           look in the right place for elements, a lot more chance of
19486           success
19487         * gst/Makefile.am:
19488           remove indexers and elements subdirs
19489         * plugins/Makefile.am:
19490           make indexers conditional
19491
19492 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19493
19494         * Makefile.am:
19495         * configure.ac:
19496         * plugins/elements/Makefile.am:
19497         * plugins/elements/gstcapsfilter.c:
19498         * plugins/elements/gstfilesink.c:
19499         * plugins/elements/gstfilesrc.c:
19500         * plugins/elements/gstidentity.c:
19501         * plugins/indexers/Makefile.am:
19502           do CVS surgery and related build fixery to move elements
19503           and indexers in a new gstreamer/plugins directory, out of the
19504           gst/ directory
19505
19506 2005-11-29  Andy Wingo  <wingo@pobox.com>
19507
19508         * check/Makefile.am:
19509         * pkgconfig/gstreamer-net-uninstalled.pc.in:
19510         * pkgconfig/gstreamer-net.pc.in:
19511         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
19512         #322257.
19513
19514 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19515
19516         * tools/Makefile.am:
19517         * tools/gst-complete.1.in:
19518         * tools/gst-complete.c:
19519         * tools/gst-compprep.1.in:
19520         * tools/gst-compprep.c:
19521           removing -compprep and -complete
19522
19523 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19524
19525         * gst/gstevent.c: (gst_event_new_new_segment),
19526         (gst_event_parse_new_segment):
19527         * gst/gstevent.h:
19528           fix #320529 - clean up new_segment API and structure.
19529           Let's hope everyone was using the methods, and not the structure.
19530
19531 2005-11-29  Edward Hervey  <edward@fluendo.com>
19532
19533         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19534         (gst_base_sink_event), (gst_base_sink_do_sync),
19535         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19536         Properly handle non GST_FORMAT_TIME segment
19537         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19538         Properly handle non GST_FORMAT_TIME segment
19539         * gst/gstsegment.c:
19540         This function is valid if the accumulator is 0 and the format
19541         is different from the requested format.
19542         
19543 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19544
19545         * docs/gst/gstreamer-sections.txt:
19546         Add gst_query_new_seeking and gst_query_parse_seeking to the
19547         docs.
19548
19549 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19550
19551         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
19552           Treat a pad alloc with new caps the same as if we were not
19553           negotiated, in order to allow a changing upstream output
19554           to produce a new format of data.
19555
19556 2005-11-29  Edward Hervey  <edward@fluendo.com>
19557
19558         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19559         (gst_base_transform_event), (gst_base_transform_eventfunc):
19560         The event virtual method is now properly implemented, with a default
19561         handler
19562         Sub classes should call the parent_class event method. They should
19563         return FALSE if they had a problem handling the given event, or don't
19564         want GstBaseTransform to send that even downstream
19565         * gst/elements/gstidentity.c: (gst_identity_class_init),
19566         (gst_identity_init), (gst_identity_event),
19567         (gst_identity_transform_ip), (gst_identity_set_property),
19568         (gst_identity_get_property):
19569         * gst/elements/gstidentity.h:
19570         Added the single-segment boolean property.
19571         If set to TRUE, it will output a single segment of data, starting from
19572         0, will eat up all incoming newsegment, and modify the timestamp of the
19573         buffers accordingly
19574
19575 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
19576
19577         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
19578           Don't ref NULL target pad (#322751). Improve docs.
19579
19580 2005-11-29  Michael Smith  <msmith@fluendo.com>
19581
19582         * gst/gstregistryxml.c: (load_plugin):
19583           Don't crash if we failed to load a feature from a plugin. 
19584
19585 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19586
19587         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19588         (GST_START_TEST):
19589           use more check API and less GLib API
19590
19591 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19592
19593         * Makefile.am:
19594           don't run checks if we don't have check
19595         * common/check.mak:
19596           remove the registry when running make torture
19597         * docs/gst/gstreamer-sections.txt:
19598           remove second multiply
19599         * gst/gstqueue.c: (gst_queue_loop):
19600           fix a compile warning when disabling debug
19601
19602 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19603
19604         * gst/gstinfo.h:
19605         Hey! Let's print the pad name if the pointer != NULL instead
19606         of when it == NULL :-)
19607
19608 2005-11-28  Wim Taymans  <wim@fluendo.com>
19609
19610         * check/gst/gstutils.c: (GST_START_TEST):
19611         Updated check, add some scaling accuracy checking code.
19612
19613         * gst/gstutils.c: (gst_util_div128_64),
19614         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
19615         (gst_util_uint64_scale_int):
19616         Fix 6 times faster division code. Optimize for common 
19617         1/1 and less common X/1 cases.
19618
19619 2005-11-28  Wim Taymans  <wim@fluendo.com>
19620
19621         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19622         More checks.
19623
19624         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
19625         (do_linear_regression), (gst_clock_add_observation):
19626         Cleanups.
19627         Release lock when the clock cannot be slaved.
19628         Catch the case where the regression returned an invalid denominator.
19629
19630         * gst/gstutils.c: (gst_util_div128_64_iterate),
19631         (gst_util_div128_64), (gst_util_uint64_scale_int64),
19632         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19633         Add protentially more performant non-iterative 128/64 divide function
19634         that unfortunatly does not work yet.
19635         Shortcut the trivial 0/X = 0 case.
19636         Remove the warnings on overflow.
19637
19638 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19639
19640         * gst/gstplugin.c: (gst_plugin_register_func):
19641           everything causing a plugin not to load should be at least a WARNING
19642
19643 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
19644
19645         * docs/random/ensonic/dparams.txt:
19646           some TODOs for the next dev cycle
19647         * libs/gst/controller/gstcontroller.c:
19648         (gst_controlled_property_set_interpolation_mode),
19649         (gst_controlled_property_new):
19650         * libs/gst/controller/gstcontroller.h:
19651           use base type to assign acccessor functions
19652
19653 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19654
19655         * check/Makefile.am:
19656         Oops, that should have been top_srcdir
19657
19658 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19659
19660         * check/Makefile.am:
19661         * check/elements/fdsrc.c: (GST_START_TEST):
19662         Use a cmdline define to specify the location of a file to use for
19663         testing, to avoid breaking distcheck.
19664
19665 2005-11-28  Andy Wingo  <wingo@pobox.com>
19666
19667         * gst/gstpad.c (fixate_value): Use array functions for arrays.
19668
19669 2005-11-28  Edward Hervey  <edward@fluendo.com>
19670
19671         * tools/gst-launch.c: (main):
19672         Clarify the output strings, makes it easier to translate.
19673         Fixes #322626
19674
19675 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19676
19677         * gst/Makefile.am:
19678           don't try and build net if we don't even have <sys/socket.h>
19679
19680 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
19681
19682         * check/Makefile.am:
19683         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
19684         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
19685           Add tests for fdsrc seekability
19686
19687         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
19688         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
19689         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
19690         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
19691         * gst/elements/gstfdsrc.h:
19692           fdsrc should not be a 'live' source.
19693           Implement seeking on seekable fd's.
19694
19695         * gst/gstquery.c: (gst_query_new_seeking),
19696         (gst_query_parse_seeking):
19697         * gst/gstquery.h:
19698           Implement SEEKING query functions: 
19699             *_new_seeking and *_parse_seeking
19700
19701 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
19702
19703         * gst/gstelement.c: (gst_element_dispose):
19704           don't loop forever
19705
19706         * gst/gstiterator.c:
19707         * gst/gststructure.c:
19708           doc fixes
19709
19710         * libs/gst/controller/gstcontroller.c:
19711         (gst_controlled_property_set_interpolation_mode):
19712         * libs/gst/controller/gstcontroller.h:
19713         * libs/gst/controller/gstinterpolation.c:
19714         (interpolate_none_get_enum_value_array):
19715           support controlling enums
19716
19717 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
19718
19719         * gst/gstvalue.c:
19720           Improve documentation for gst_value_union().
19721
19722         * gst/gstvalue.h:
19723           Change return value for union, intersect and subtract functions
19724           from gint to gboolean.
19725
19726 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
19727
19728         * gst/gstvalue.c: (gst_value_serialize_any_list),
19729         (gst_value_transform_any_list_string),
19730         (gst_value_deserialize_list), (gst_value_deserialize_array),
19731         (gst_value_set_int_range), (gst_value_deserialize_int_range),
19732         (gst_value_set_double_range), (gst_value_deserialize_double_range),
19733         (gst_value_set_fraction_range_full),
19734         (gst_value_deserialize_fraction_range),
19735         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
19736         (gst_value_deserialize_boolean),
19737         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
19738         (gst_value_serialize_float), (gst_value_deserialize_float),
19739         (gst_string_wrap), (gst_value_deserialize_string),
19740         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
19741         (gst_value_union_int_range_int_range),
19742         (gst_value_intersect_int_range_int_range),
19743         (gst_value_intersect_double_range_double_range),
19744         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
19745         (gst_value_subtract_int_range_int_range),
19746         (gst_value_subtract_double_double_range),
19747         (gst_value_subtract_double_range_double_range),
19748         (gst_value_deserialize_fraction):
19749         * gst/gstvalue.h:
19750           Use gint, gdouble and gchar in our API instead of int, double and
19751           char (and make usage in gstvalue.c more consistent).
19752
19753 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19754
19755         * check/Makefile.am:
19756         * libs/gst/controller/Makefile.am:
19757         * libs/gst/dataprotocol/Makefile.am:
19758           fix up Makefile.am and remove GST_ENABLE_NEW
19759
19760 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19761
19762         * configure.ac:
19763         * gst/Makefile.am:
19764         * gst/base/Makefile.am:
19765         * gst/check/Makefile.am:
19766         * gst/elements/Makefile.am:
19767         * gst/net/Makefile.am:
19768           update LDFLAGS use some more
19769
19770 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19771
19772         * common/m4/gst-doc.m4:
19773           Fixes #312589
19774
19775 2005-11-26  Edward Hervey  <edward@fluendo.com>
19776
19777         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
19778         This shouldn't issue a g_warning since it returns NULL if it
19779         couldn't find the plugin, and all functions using this behave
19780         properly on a NULL return. Switching to a GST_WARNING.
19781
19782 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
19783
19784         * gst/gstbin.c: (gst_bin_handle_message_func):
19785         Don't leak clock messages.
19786
19787 2005-11-25  Wim Taymans  <wim@fluendo.com>
19788
19789         * gst/gstutils.c: (gst_util_uint64_scale_int64),
19790         (gst_util_uint64_scale_int):
19791         Optimisations, remove unneeded vars.
19792
19793 2005-11-25  Wim Taymans  <wim@fluendo.com>
19794
19795         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19796         Added more checks for the high precision uint64 cases.
19797
19798         * gst/gstutils.c: (gst_util_uint64_scale_int64),
19799         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19800         Implement high precision (guint64 * guint64) / guint64.
19801
19802 2005-11-24  Wim Taymans  <wim@fluendo.com>
19803
19804         * gst/base/gstbasesrc.c: (gst_base_src_query):
19805         Fix wrong percentage query.
19806
19807         * gst/gstutils.c: (gst_util_uint64_scale),
19808         (gst_util_uint64_scale_int):
19809         Add some more common cases that can be handled 
19810         efficiently to _scale.
19811
19812 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
19813
19814         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
19815         (gst_mini_object_suite):
19816           don't use check calls from threads; check probably isn't
19817           threadsafe and using a lock to make it threadsafe would
19818           defeat the purpose of this check
19819         * gst/check/gstcheck.c:
19820         * gst/check/gstcheck.h:
19821           use GST_DEBUG some more
19822
19823 2005-11-24  Wim Taymans  <wim@fluendo.com>
19824
19825         * gst/gstutils.c: (gst_util_uint64_scale),
19826         (gst_util_uint64_scale_int):
19827         Chain trivial case to _scale_int.
19828
19829 2005-11-24  Wim Taymans  <wim@fluendo.com>
19830
19831         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19832         Added test for scaling.
19833
19834         * gst/gstclock.h:
19835         Small doc fix.
19836
19837         * gst/gstutils.c: (gst_util_uint64_scale_int):
19838         Implemented high precision scaling code.
19839
19840 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
19841
19842         * gst/gstinfo.h:
19843           do not crash on pad==NULL
19844
19845 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
19846
19847         Patch by: Stefan Kost
19848
19849         * common/gtk-doc.mak:
19850         * docs/gst/Makefile.am:
19851         * docs/libs/Makefile.am:
19852           Fix distcheck issues for the libraries docs build
19853           Closes #319599.
19854
19855 2005-11-24  Michael Smith <msmith@fluendo.com>
19856
19857         * docs/manual/basics-helloworld.xml:
19858           Fix bug #315027: memory leak in example code in docs.
19859
19860 2005-11-24  Michael Smith <msmith@fluendo.com>
19861
19862         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19863           Unlock the PREROLL_LOCK in a failure case.
19864
19865 2005-11-24  Wim Taymans  <wim@fluendo.com>
19866
19867         * docs/gst/gstreamer-sections.txt:
19868         * gst/base/gstadapter.h:
19869         * gst/base/gstbasesink.h:
19870         * gst/base/gstbasesrc.h:
19871         * gst/base/gstbasetransform.h:
19872         * gst/base/gstpushsrc.h:
19873         * gst/elements/gstfakesink.h:
19874         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
19875         * gst/elements/gstfakesrc.h:
19876         * gst/elements/gstfilesink.h:
19877         * gst/elements/gstfilesrc.h:
19878         * gst/gst.c:
19879         * gst/gstbin.c:
19880         * gst/gstbuffer.c: (_gst_buffer_copy):
19881         * gst/gstbus.h:
19882         * gst/gstcaps.c:
19883         * gst/gstchildproxy.c:
19884         * gst/gstclock.c:
19885         * gst/gstelement.c:
19886         * gst/gstelementfactory.c:
19887         * gst/gstelementfactory.h:
19888         * gst/gstevent.c:
19889         * gst/gstghostpad.h:
19890         * gst/gstindex.h:
19891         * gst/gstinterface.h:
19892         * gst/gstminiobject.c:
19893         * gst/gstminiobject.h:
19894         * gst/gstpad.c:
19895         * gst/gstpad.h:
19896         * gst/gstpadtemplate.h:
19897         * gst/gstpipeline.h:
19898         * gst/gstpluginfeature.h:
19899         * gst/gstquery.h:
19900         * gst/gstqueue.h:
19901         * gst/gsttaglist.c:
19902         * gst/gsttaglist.h:
19903         * gst/gsttagsetter.c:
19904         * gst/gsttagsetter.h:
19905         * gst/gsttrace.c:
19906         * gst/gsttrace.h:
19907         * gst/gsttypefind.h:
19908         * gst/gsturi.h:
19909         * gst/gstvalue.c:
19910         * gst/net/gstnetclientclock.c:
19911         * gst/net/gstnetclientclock.h:
19912         * gst/net/gstnettimepacket.c:
19913         * gst/net/gstnettimeprovider.c:
19914         * gst/net/gstnettimeprovider.h:
19915         Doc fixes.
19916
19917 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19918
19919         * configure.ac: back to HEAD
19920
19921 === release 0.9.6 ===
19922
19923 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
19924
19925         * configure.ac:
19926           releasing 0.9.6, "Always On Time"
19927
19928 2005-11-23  Wim Taymans  <wim@fluendo.com>
19929
19930         * docs/gst/gstreamer-sections.txt:
19931         * gst/glib-compat.c:
19932         * gst/gsttagsetter.c:
19933         * gst/gstvalue.c:
19934         * gst/net/gstnetclientclock.c:
19935         * gst/net/gstnettimepacket.h:
19936         Doc updates.
19937
19938 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19939
19940         * docs/faq/using.xml:
19941         * docs/libs/tmpl/gstcontrol.sgml:
19942         * docs/manual/advanced-dparams.xml:
19943         * docs/manual/appendix-checklist.xml:
19944         * docs/manual/basics-elements.xml:
19945         * docs/pwg/other-source.xml:
19946         * docs/random/moving-plugins:
19947         * gst/gstpad.c:
19948         * tools/gst-launch.1.in:
19949           remove mentions of sinesrc
19950
19951 2005-11-23  Michael Smith <msmith@fluendo.com>
19952
19953         * docs/gst/gstreamer-sections.txt:
19954           Update for new API and API changes.
19955         * gst/gstobject.h:
19956           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
19957         * gst/gstvalue.c:
19958           Documentation typo fix.
19959         * gst/net/gstnettimepacket.c:
19960           Documentation fixes for arguments.
19961
19962 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
19963
19964         * gst/gststructure.c: (gst_structure_get_fraction),
19965         (gst_structure_parse_value),
19966         (gst_structure_fixate_field_nearest_fraction):
19967         * gst/gststructure.h:
19968         * gst/gstutils.c: (gst_util_uint64_scale_int):
19969         * gst/gstutils.h:
19970         * scripts/update-funcnames:
19971         API Changes. 
19972         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
19973         Make gst_structure_fixate_field_nearest_fraction take a numerator
19974         and denominator argument instead of a GValue
19975         add gst_structure_get_fraction helper function.
19976
19977 2005-11-23  Wim Taymans  <wim@fluendo.com>
19978
19979         * docs/design/part-TODO.txt:
19980         Update TODO.
19981
19982         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
19983         * gst/net/gstnetclientclock.h:
19984         Use parent fields for timeout and window_size.
19985
19986 2005-11-23  Andy Wingo  <wingo@pobox.com>
19987
19988         * check/net/gstnetclientclock.c (test_functioning): Adjust to
19989         rate_num/rate_denom change.
19990
19991         * gst/net/gstnetclientclock.c
19992         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
19993         OBJECT_LOCK. Don't call add_observation with the lock.
19994
19995         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
19996         fraction.
19997         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
19998         rate fraction.
19999         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
20000         deal with rate as a fraction whose numerator and denominator are
20001         GstClockTime values.
20002         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
20003         master; the other fields are protected by the SLAVE_LOCK.
20004         (do_linear_regression): Note that this must be called with the
20005         SLAVE_LOCK.
20006         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
20007         OBJECT_LOCK. Call set_calibration instead of touching the
20008         variables directly.
20009         (gst_clock_set_property, gst_clock_get_property): Protect
20010         master/slave parameters with the SLAVE_LOCK.
20011
20012         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
20013         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
20014         note that all of the instance variables that add_observation and
20015         the set_master functions use are protected by that lock and not
20016         the OBJECT_LOCK.
20017         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
20018
20019         * gst/gstclock.c (gst_clock_add_observation): No longer requires
20020         the caller to take the object lock.
20021
20022 2005-11-23  Wim Taymans  <wim@fluendo.com>
20023
20024         * gst/gsterror.c: (_gst_core_errors_init):
20025         * gst/gsterror.h:
20026         Add error for clock stuff.
20027
20028         * gst/gstpipeline.c: (gst_pipeline_change_state),
20029         (gst_pipeline_set_clock):
20030         Post clock error when clock cannot be used in a pipeline.
20031
20032 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
20033
20034         * docs/gst/gstreamer-sections.txt:
20035           make two symbols from gstinfo private for the docs
20036         * gst/base/gstcollectpads.h:
20037         * gst/gstutils.c:
20038           fix doc typos, update docs
20039
20040 2005-11-22  Wim Taymans  <wim@fluendo.com>
20041
20042         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
20043         (gst_base_sink_wait), (gst_base_sink_do_sync),
20044         (gst_base_sink_handle_event):
20045         * gst/base/gstbasesink.h:
20046         No need to store the clock, the parent element class already
20047         has it.
20048
20049         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
20050         Updates for clock_set returning a gboolean
20051
20052         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
20053         (gst_clock_id_wait_async), (gst_clock_class_init),
20054         (gst_clock_init), (gst_clock_finalize),
20055         (gst_clock_get_internal_time), (gst_clock_get_time),
20056         (gst_clock_slave_callback), (gst_clock_set_master),
20057         (gst_clock_get_master), (do_linear_regression),
20058         (gst_clock_add_observation), (gst_clock_set_property),
20059         (gst_clock_get_property):
20060         * gst/gstclock.h:
20061         Implement master/slave. When setting a clock as a slave, a
20062         periodic timeout is scheduled to sample master and slave times.
20063         Then the slave clock is recalibrated to match offset and rate
20064         of the master clock.
20065         Update logging a bit.
20066         Add flag so that a clock can state that is cannot be slaved to
20067         another clock.
20068
20069         * gst/gstelement.c: (gst_element_set_clock):
20070         * gst/gstelement.h:
20071         The set clock returns a gboolean for when an element cannot
20072         deal with the selected clock in the pipeline. 
20073
20074         * gst/gstpipeline.c: (gst_pipeline_change_state),
20075         (gst_pipeline_set_clock):
20076         * gst/gstpipeline.h:
20077         Handle the case where the selected clock cannot be set on
20078         the pipeline.
20079
20080         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
20081         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
20082         (gst_net_client_clock_set_property),
20083         (gst_net_client_clock_get_property),
20084         (gst_net_client_clock_observe_times):
20085         * gst/net/gstnetclientclock.h:
20086         Use regression code in GstClock parent, remove duplicated
20087         functionality.
20088
20089 2005-11-22  Michael Smith <msmith@fluendo.com>
20090
20091         * gst/gstutils.c: (gst_util_clock_time_scale):
20092         * gst/gstutils.h:
20093         * docs/gst/gstreamer-sections.txt:
20094           Rename method to have extra underscore.
20095
20096 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20097
20098         * gst/elements/Makefile.am:
20099         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
20100         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20101         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20102         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
20103         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
20104         * gst/elements/gstfakesrc.h:
20105         * gst/gstqueue.c: (queue_leaky_get_type):
20106           correctly fix GEnumValues so that nick is the short lowercase
20107           dashed tag
20108         * tools/gst-inspect.c: (print_element_properties_info):
20109           also show the nick, since it's useful to use from parse_launch
20110           syntax
20111           Fixes #322139
20112
20113 2005-11-22  Michael Smith <msmith@fluendo.com>
20114
20115         * gst/gstutils.c: (gst_util_clocktime_scale):
20116         * gst/gstutils.h:
20117         * docs/gst/gstreamer-sections.txt:
20118           Add util method for scaling a clocktime by a fraction. Useful 
20119           implementation is left as an exercise for the reader.
20120
20121 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20122
20123         * gst/gstvalue.c: (gst_value_collect_fraction_range):
20124         If needed, allocate storage in the destination value during
20125         collection.
20126
20127 2005-11-22  Edward Hervey  <edward@fluendo.com>
20128
20129         * docs/gst/gstreamer-sections.txt:
20130         * gst/Makefile.am:
20131         * gst/gst.h:
20132         * gst/gsturitype.c:
20133         * gst/gsturitype.h:
20134         * gst/gstutils.c: (gst_util_set_object_arg):
20135         * tools/gst-compprep.c: (main):
20136         * tools/gst-inspect.c: (print_element_properties_info):
20137         Removed GstURI, closes bug #321061
20138
20139 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20140
20141         * check/gst/gststructure.c: (GST_START_TEST):
20142         * gst/gststructure.c: (gst_structure_parse_value):
20143           Oops, broke automatic string type parsing.
20144           Add a test to catch it in future.
20145
20146 2005-11-22  Andy Wingo  <wingo@pobox.com>
20147
20148         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
20149         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
20150         Actually rename the function implementations. Grr.
20151
20152 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20153
20154         * check/gst/capslist.h:
20155           Comment test cases
20156         * check/gst/gststructure.c: (GST_START_TEST),
20157         (gst_structure_suite):
20158           Test automatic value type detection in gst_structure_from_string.
20159         * gst/gststructure.c: (gst_structure_parse_value):
20160           Add fraction as a type we try and guess automatically in
20161           caps/structure strings.
20162
20163 2005-11-22  Andy Wingo  <wingo@pobox.com>
20164
20165         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
20166
20167         * gst/gsttagsetter.h:
20168         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
20169         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
20170         (gst_tag_setter_add_tag_valist)
20171         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
20172         _add_values, _add_valist, and _add_valist_values. Since this is an
20173         interface the function suffixes should be more explicit so
20174         language binding don't end up with element.add_valist ->
20175         gst_tag_setter_add_valist, for example. Fixes #322069.
20176
20177 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20178
20179         * check/gst/gstcaps.c: (GST_START_TEST):
20180           Extend caps string tests to check that a caps to string
20181           conversion is reversible and produces the same caps.
20182
20183         * gst/gststructure.c: (gst_structure_value_get_generic_type):
20184           Output "fraction" as the generic type fraction range, so caps
20185           serialisation and deserialisation works.
20186         * check/gst/capslist.h:
20187         * gst/gstvalue.c: (gst_value_deserialize_fraction):
20188           Support 'MIN' and 'MAX' for deserialising fractions.
20189
20190 2005-11-22  Andy Wingo  <wingo@pobox.com>
20191
20192         * gst/gstevent.h (gst_event_new_new_segment)
20193         (gst_event_parse_new_segment, gst_event_new_buffer_size)
20194         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
20195         Renamed from *_newsegment, *_buffersize, *_notarget.
20196
20197         * scripts/update-funcnames: New script, performs the changes
20198         listed above.
20199
20200 2005-11-22  Wim Taymans  <wim@fluendo.com>
20201
20202         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20203         Make sure the GstFlowReturn is returned.
20204
20205         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
20206         (gst_bus_add_signal_watch):
20207         * gst/gstbus.h:
20208         add gst_bus_add_signal_watch_full.
20209
20210         * gst/gstplugin.c: (gst_plugin_load_file):
20211         Small style cleanup.
20212
20213 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20214
20215         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
20216           Block the fakesrc srcpad when we send an event, to avoid
20217           contention on the stream_lock causing random test failures.
20218
20219 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20220
20221         * check/gst/gstvalue.c: (GST_START_TEST):
20222         * gst/gstvalue.c: (gst_value_fraction_subtract):
20223           Fix subtraction.
20224
20225 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
20226
20227         * gst/gst.h:
20228           include "gstchildproxy.h"
20229         * gst/gstchildproxy.h:
20230         * libs/gst/controller/gstcontroller.h:
20231           use G_GNUC_NULL_TERMINATED
20232
20233 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20234
20235         * check/gst/capslist.h:
20236         * check/gst/gstcaps.c: (GST_START_TEST):
20237         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20238         * gst/gststructure.c: (gst_structure_parse_range),
20239         (gst_structure_fixate_field_nearest_fraction):
20240         * gst/gststructure.h:
20241         * gst/gstvalue.c: (gst_value_init_fraction_range),
20242         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
20243         (gst_value_collect_fraction_range),
20244         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
20245         (gst_value_set_fraction_range_full),
20246         (gst_value_get_fraction_range_min),
20247         (gst_value_get_fraction_range_max),
20248         (gst_value_serialize_fraction_range),
20249         (gst_value_transform_fraction_range_string),
20250         (gst_value_compare_fraction_range),
20251         (gst_value_deserialize_fraction_range),
20252         (gst_value_intersect_fraction_fraction_range),
20253         (gst_value_intersect_fraction_range_fraction_range),
20254         (gst_value_subtract_fraction_fraction_range),
20255         (gst_value_subtract_fraction_range_fraction),
20256         (gst_value_subtract_fraction_range_fraction_range),
20257         (gst_value_collect_fraction), (gst_value_fraction_multiply),
20258         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
20259         (gst_value_transform_string_fraction), (_gst_value_initialize):
20260         * gst/gstvalue.h:
20261           Implement fraction ranges and extend GstFraction to support
20262           arithmetic subtraction, as well as deserialization from integer
20263           strings such as "100"
20264           Add a testsuite as for int and double range set operations
20265
20266 2005-11-21  Andy Wingo  <wingo@pobox.com>
20267
20268         * gst/gsttaglist.h: 
20269         * gst/gstcaps.h: 
20270         * gst/gststructure.h: Add glib-compat.h.
20271
20272 2005-11-21  Wim Taymans  <wim@fluendo.com>
20273
20274         * gst/gstbin.c: (gst_bin_change_state_func):
20275         Fix for #321595
20276
20277 2005-11-21  Wim Taymans  <wim@fluendo.com>
20278
20279         * gst/gstsegment.h:
20280         And add a nice define too.
20281
20282 2005-11-21  Wim Taymans  <wim@fluendo.com>
20283
20284         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
20285         (gst_segment_new), (gst_segment_free), (gst_segment_init),
20286         (gst_segment_set_duration), (gst_segment_set_last_stop),
20287         (gst_segment_set_seek), (gst_segment_set_newsegment),
20288         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20289         (gst_segment_clip):
20290         * gst/gstsegment.h:
20291         Make binding friendly.
20292
20293 2005-11-21  Andy Wingo  <wingo@pobox.com>
20294
20295         * gst/gsttagsetter.h: 
20296         * gst/gsttaglist.h: 
20297         * gst/gststructure.h: 
20298         * gst/gstcaps.h: 
20299         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
20300         #319940.
20301
20302         * gst/gsterror.c (_gst_core_errors_init):
20303         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
20304         category.
20305
20306         * gst/Makefile.am (gst_headers): Add glib-compat.h.
20307         (noinst_HEADERS): noinst the -private.
20308
20309 2005-11-21  Michael Smith <msmith@fluendo.com>
20310
20311         * gst/gstplugin.h:
20312         * gst/gstregistry.h:
20313           Remove unimplemented declarations for which we can see no sensible
20314           use.
20315
20316 2005-11-21  Andy Wingo  <wingo@pobox.com>
20317
20318         * gst/gst.h: Include glib-compat.h.
20319
20320         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
20321
20322         * gst/glib-compat.c: Include the public and the private header.
20323
20324         * gst/glib-compat-private.h: Copied here from glib-compat.h.
20325
20326         * gst/gstvalue.c: 
20327         * gst/gstpad.c: 
20328         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
20329
20330         * check/gst/gstevent.c (create_custom_events): Check that
20331         FLUSH_STOP is serialized.
20332
20333         * check/elements/identity.c (event_func): 
20334         * check/elements/fakesrc.c (event_func): No stream lock, the core
20335         takes it.
20336
20337         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
20338         stream lock taking, yay.
20339
20340         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
20341         ensure that core takes the stream lock.
20342
20343         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
20344         lock name change.
20345
20346         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
20347         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
20348         it already. For the flush start we do take it though so we get the
20349         right preroll state change messages.
20350
20351         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
20352         the stream lock here, the core does it for us.
20353
20354         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
20355         GST_STREAM_GET_LOCK.
20356         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
20357         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
20358         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
20359         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
20360         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
20361         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
20362
20363         * gst/gstpad.c: Update for stream lock name change.
20364
20365         * gst/base/gstbasesink.c: Update for preroll lock name change.
20366
20367 2005-11-21  Wim Taymans  <wim@fluendo.com>
20368
20369         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
20370         (gst_clock_get_master):
20371         * gst/gstclock.h:
20372         * gst/gstsystemclock.c: (gst_system_clock_init):
20373         Convert Clock flags to object flags.
20374         Added methods to manage master/slave clocks.
20375
20376 2005-11-21  Wim Taymans  <wim@fluendo.com>
20377
20378         * check/gst/gstsegment.c: (GST_START_TEST):
20379         * docs/design/part-TODO.txt:
20380         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20381         (gst_base_sink_event), (gst_base_sink_do_sync),
20382         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
20383         (gst_base_sink_query), (gst_base_sink_change_state):
20384         * gst/base/gstbasesink.h:
20385         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20386         (gst_base_src_default_newsegment),
20387         (gst_base_src_configure_segment), (gst_base_src_do_seek),
20388         (gst_base_src_get_range), (gst_base_src_loop),
20389         (gst_base_src_change_state):
20390         * gst/base/gstbasesrc.h:
20391         * gst/base/gstbasetransform.c:
20392         (gst_base_transform_prepare_output_buf),
20393         (gst_base_transform_event), (gst_base_transform_change_state):
20394         * gst/base/gstbasetransform.h:
20395         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
20396         (gst_collect_pads_event):
20397         * gst/base/gstcollectpads.h:
20398         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
20399         (gst_fake_src_create):
20400         * gst/elements/gstfakesrc.h:
20401         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20402         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20403         (gst_segment_set_last_stop), (gst_segment_set_seek),
20404         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
20405         (gst_segment_to_running_time), (gst_segment_clip):
20406         * gst/gstsegment.h:
20407         More segment updates, replace code in plugins with segment
20408         helper functions.
20409
20410 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20411
20412         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
20413         Don't ignore sscanf results
20414
20415 2005-11-21  Andy Wingo  <wingo@pobox.com>
20416
20417         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
20418
20419         * *.h:
20420         * *.c: Ran scripts/update-macros. Oh yes.
20421
20422         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
20423         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
20424         GST_GET_LOCK, etc.
20425
20426         * scripts/update-macros: New script. Run it on your files to
20427         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
20428         well.
20429
20430 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20431
20432         * docs/gst/Makefile.am:
20433         * docs/gst/gstreamer-docs.sgml:
20434         * docs/gst/gstreamer-sections.txt:
20435         * docs/gst/gstreamer.types:
20436         * gst/gstinfo.h:
20437           more docs fixes, add new api to the docs
20438
20439 2005-11-21  Andy Wingo  <wingo@pobox.com>
20440
20441         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20442         state_broadcast call.
20443
20444         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
20445
20446 2005-11-21  Julien MOUTTE  <julien@moutte.net>
20447
20448         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
20449         function calls for arrays.
20450
20451 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20452
20453         * docs/random/ensonic/media-device-daemon.txt:
20454           wild idea, can this be done?
20455         * docs/gst/gstreamer-sections.txt:
20456         * gst/gsterror.h:
20457         * gst/gstfilter.c:
20458         * gst/gstfilter.h:
20459         * gst/gstplugin.h:
20460         * gst/gstpluginfeature.c:
20461         * gst/gsttrace.c:
20462         * gst/gstvalue.c:
20463         * gst/gstvalue.h:
20464           doc fixes and additions
20465
20466 2005-11-21  Andy Wingo  <wingo@pobox.com>
20467
20468         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
20469         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
20470         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
20471         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
20472         private to the basesrc implementation.
20473
20474         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
20475         behalf of event function if necessary. It should no longer be
20476         necessary to take the stream lock in pad's event functions. Fixes
20477         #320299.
20478
20479 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20480         * docs/gst/gstreamer-sections.txt:
20481         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
20482         (gst_structure_fixate_field_nearest_double),
20483         (gst_structure_fixate_field_boolean):
20484         * gst/gststructure.h:
20485         * win32/common/libgstreamer.def:
20486         * win32/gstreamer.def:
20487
20488         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
20489         (#322027)
20490
20491 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20492
20493         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
20494         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
20495         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
20496         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
20497         (gst_fdsrc_uri_handler_init):
20498         * gst/elements/gstfdsrc.h:
20499           Port fd:// URI handler from 0.8 to fdsrc
20500
20501 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20502
20503         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
20504         (gst_value_serialize_fourcc):
20505         * gst/gstvalue.h:
20506           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
20507           consistent with our other format defines (#320324).
20508
20509 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20510
20511         * gst/gstvalue.c: (gst_value_is_fixed):
20512           Revert previous commit. Value lists are by definition
20513           not fixed, as they are a list of possible values.
20514
20515 2005-11-21  Andy Wingo  <wingo@pobox.com>
20516
20517         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
20518         during the stable series if we need it. Fixes #319178.
20519
20520         * gst/gstevent.c (gst_event_new_filler): Removed.
20521
20522         * check/gst/gstevent.c: Update comment about filler events.
20523
20524 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20525
20526         * gst/gstvalue.c: (gst_value_is_fixed):
20527           Should handle both value arrays and value lists.
20528
20529 2005-11-21  Andy Wingo  <wingo@pobox.com>
20530
20531         patch by: Alessandro Dessina <alessandro nnva org>
20532
20533         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
20534         functions to access arrays. Fixes #321962.
20535
20536 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20537
20538         * docs/gst/gstreamer.types:
20539           gst_collectpads_get_type => gst_collect_pads_get_type.
20540           
20541         * gst/base/gstbasetransform.c:
20542           Remove unused SIGNAL_HANDOFF enum.
20543
20544 2005-11-21  Andy Wingo  <wingo@pobox.com>
20545
20546         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
20547         the event type (upstream, downstream, serialized). Renamed
20548         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
20549         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
20550         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
20551
20552         * gst/gstevent.c: Update for new CUSTOM event names.
20553
20554         * check/gst/gstevent.c: Update check for new CUSTOM event names.
20555
20556         * gst/gstevent.h:
20557         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
20558         bug #319392.
20559
20560 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20561
20562         * docs/gst/gstreamer-sections.txt:
20563         * win32/common/libgstbase.def:
20564         * win32/libgstbase.def:
20565         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
20566         (gst_collect_pads_class_init), (gst_collect_pads_init),
20567         (gst_collect_pads_finalize), (gst_collect_pads_new),
20568         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
20569         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
20570         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
20571         (gst_collect_pads_start), (gst_collect_pads_stop),
20572         (gst_collect_pads_peek), (gst_collect_pads_pop),
20573         (gst_collect_pads_available), (gst_collect_pads_read),
20574         (gst_collect_pads_flush), (gst_collect_pads_event),
20575         (gst_collect_pads_chain):
20576         * gst/base/gstcollectpads.h:
20577           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
20578           unimplemented functions as unimplemented. Add padding to
20579           GstCollectData. (#320766, #320423)
20580
20581 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20582
20583         * gst/gstmessage.c:
20584           Improve docs for DURATION message (usage of duration parameter)
20585           (#320113)
20586
20587 2005-11-20  Wim Taymans  <wim@fluendo.com>
20588
20589         * check/Makefile.am:
20590         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
20591         (main):
20592         * gst/Makefile.am:
20593         * gst/gst.h:
20594         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20595         (gst_segment_set_seek), (gst_segment_set_newsegment),
20596         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20597         (gst_segment_clip):
20598         * gst/gstsegment.h:
20599         Added segment helper structure and methods. Not fully implemented
20600         yet.
20601         Added segment check.
20602
20603 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
20604
20605         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20606           Add a deserialisation test for fractions
20607         * examples/metadata/read-metadata.c: (message_loop),
20608         (make_pipeline), (main):
20609           Fix up metadata reading sample.
20610         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20611           Debug format fix
20612         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20613           Don't try and fixate empty caps
20614         * gst/gst_private.h:
20615           Wrap in G_BEGIN_DECLS/G_END_DECLS
20616         * gst/gstvalue.c: (gst_value_collect_fraction),
20617         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
20618         (gst_value_transform_string_fraction),
20619         (gst_value_compare_fraction):
20620           Add some extra guards to ensure that we don't end up 
20621           with an invalid denominator of 0 in a gstfraction and
20622           that fractions always get reduced.
20623
20624 2005-11-20  Wim Taymans  <wim@fluendo.com>
20625
20626         * docs/gst/gstreamer-sections.txt:
20627         * gst/gstbuffer.h:
20628         * gst/gstelement.c:
20629         * gst/gstformat.c:
20630         * gst/gstformat.h:
20631         * gst/gstindex.h:
20632         * gst/gstquery.c:
20633         * gst/gstquery.h:
20634         * gst/gstvalue.c:
20635         Doc fixes.
20636
20637 2005-11-20  Wim Taymans  <wim@fluendo.com>
20638
20639         * docs/design/part-TODO.txt:
20640         * gst/gstcaps.h:
20641         Make a proper enum of the flag.
20642
20643 2005-11-19  Wim Taymans  <wim@fluendo.com>
20644
20645         * docs/design/part-TODO.txt:
20646         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
20647         (gst_format_to_quark), (gst_format_register):
20648         * gst/gstformat.h:
20649         * gst/gstquery.c: (_gst_query_initialize),
20650         (gst_query_type_get_name), (gst_query_type_to_quark),
20651         (gst_query_type_register):
20652         * gst/gstquery.h:
20653         Add type to quark and type to string conversions.
20654
20655 2005-11-19  Andy Wingo  <wingo@pobox.com>
20656
20657         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
20658         #320097.
20659
20660 2005-11-19  Wim Taymans  <wim@fluendo.com>
20661
20662         * docs/design/part-TODO.txt:
20663         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
20664         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
20665         (gst_bin_handle_message_func):
20666         * gst/gstbin.h:
20667         Make message handling overridable.
20668
20669 2005-11-19  Andy Wingo  <wingo@pobox.com>
20670
20671         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
20672
20673         * gst/gstclock.h:
20674         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
20675         be a GstClockTime.
20676         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
20677         is a GstClockTime. Fixes #321710.
20678
20679         * gst/gstclock.h (GstClock): Remove offset property. Add
20680         internal_calibration and external_calibration. Fix padding. Pad
20681         also by GstClockTime so we don't run into problems.
20682
20683         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
20684         (gst_clock_get_rate_offset): Remove.
20685         (gst_clock_set_time_adjust): Remove. Fixes #321712.
20686
20687         * gst/gstutils.h:
20688         * gst/gstutils.c (g_static_rec_cond_wait)
20689         (g_static_rec_cond_timed_wait): Removed, no longer needed.
20690
20691         * gst/gstbin.c: Remove terrible continue_state prototype.
20692
20693         * gst/gstelement.h (gst_element_continue_state): Make public.
20694
20695         * gst/gstelement.h:
20696         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
20697         by continue_state. Fixes #319389.
20698
20699         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
20700         Really fixes #168438. However I don't see anywhere where the
20701         filter function is called... stupid GStreamer...
20702         
20703         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
20704         don't have a dispose function, so it won't get called when the
20705         object is unreffed, but oh well!
20706
20707         * gst/gstindex.c (gst_index_set_filter_full): New API function,
20708         allows a destroy function to be set so user_data can be freed.
20709         Fixes #168438.
20710         (gst_index_set_filter): Call gst_index_set_filter_full.
20711
20712         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
20713
20714         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
20715         string should produce an error, given the lack of a way to
20716         represent NULL strings. Fixes #165650.
20717         
20718         * gst/gstvalue.h: 
20719         * gst/gstvalue.c (gst_value_array_append_value) 
20720         (gst_value_array_prepend_value, gst_value_array_get_size) 
20721         (gst_value_array_get_value): New API, copied from
20722         gst_value_list_*, only operates on arrays.
20723         (gst_value_list_append_value, gst_value_list_prepend_value) 
20724         (gst_value_list_concat, gst_value_list_get_size) 
20725         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
20726
20727         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
20728         init_list, because it works on both.
20729         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
20730         (gst_value_copy_list_or_array): Renamed from copy_list.
20731         (gst_value_free_list_or_array): Renamed from free_list.
20732         (gst_value_collect_list_or_array): Renamed from collect_list.
20733         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
20734         (gst_value_list_or_array_peek_pointer): Renamed from
20735         list_peek_pointer.
20736         (_gst_value_array_value_table, _gst_value_list_value_table):
20737         Update value table functions.
20738         (gst_value_compare_list_or_array): Renamed from compare_list.
20739
20740         * gsttaglist.h: Whoops, foreach function returns void. Also fix
20741         some constness.
20742
20743         * gst/gsttaglist.c:
20744         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
20745         GstTagList*. Fixes #143472.
20746
20747         * gst/gststructure.h: Clarify what the foreach/map functions can
20748         or can't do to their arguments.
20749
20750 2005-11-18  Wim Taymans  <wim@fluendo.com>
20751
20752         * gst/gstclock.c: (gst_clock_set_calibration),
20753         (gst_clock_get_calibration):
20754         Doc and API fixes.
20755         Calibration can be set with internal time equal to current
20756         internal time too.
20757
20758 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
20759
20760         * gst/gsterror.c:
20761         * gst/gsterror.h:
20762           document
20763
20764 2005-11-18  Andy Wingo  <wingo@pobox.com>
20765
20766         * configure.ac: 
20767         * pkgconfig/gstreamer-net.pc.in:
20768         * pkgconfig/gstreamer-net-uninstalled.pc.in:
20769         * pkgconfig/Makefile.am: Add net pkgconfig files.
20770
20771 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
20772
20773         * gst/gstcaps.c:
20774         * gst/gstghostpad.c:
20775         * gst/gsttrace.c:
20776         * gst/gstvalue.c:
20777         * gst/gstvalue.h:
20778           docs fixes
20779
20780 2005-11-18  Andy Wingo  <wingo@pobox.com>
20781
20782         * gst/net/gstnetclientclock.c: Turn off debugging.
20783
20784         * check/net/gstnetclientclock.c (test_functioning): Assert that the
20785         times connverge somewhat. Can't make a real test.
20786
20787         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
20788         integer arithmetic. Return the minimum of the domain, which can be
20789         set as "internal" for gst_clock_set_calibration.
20790         (gst_net_client_clock_observe_times): Call _set_calibration.
20791         (gst_net_client_clock_new): Call _set_calibration instead of
20792         rate_offset.
20793
20794         * check/net/gstnetclientclock.c (test_functioning): Use the right
20795         adjustment api.
20796
20797         * gst/gstclock.h:
20798         * gst/gstclock.c (gst_clock_get_calibration) 
20799         (gst_clock_set_calibration): New functions, obsolete the ones I
20800         added yesterday. Doh. Precision issues mean we have to extrapolate
20801         from a point in the more recent past than 1970.
20802         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
20803         obsolete.
20804         (gst_clock_adjust_unlocked): Use the right calibration data.
20805
20806 2005-11-18  Edward Hervey  <edward@fluendo.com>
20807
20808         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
20809         Also reset the ->current_* values in READY->PAUSED
20810
20811 2005-11-18  Andy Wingo  <wingo@pobox.com>
20812
20813         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
20814         Whoops, check the right fd. Also add some debugging.
20815         (gst_net_client_clock_observe_times): Adjust for int64 offset.
20816         (do_linear_regression): Add a crapload of debugging. Subtract off
20817         the minimum values from the input series to discard unneeded bits.
20818         Use only int arithmetic. There is still double arithmetic when
20819         calculating the intercept that needs fixing. Return boolean to
20820         indicate success; FALSE would mean the domain or range is too
20821         great. Still needs fixes.
20822
20823 2005-11-18  Wim Taymans  <wim@fluendo.com>
20824
20825         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
20826         For the current position in stream time, we need to subtract
20827         accumulated time.
20828         
20829         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
20830         Release lock before calling the callback function of async
20831         entries.
20832
20833 2005-11-18  Andy Wingo  <wingo@pobox.com>
20834
20835         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
20836         Port goes all the way to MAXUINT16.
20837
20838         * gst/net/gstnettimeprovider.c: Make the port range the same as
20839         for the kernel: 0 assigns, otherwise ports are less than
20840         MAXUINT16.
20841
20842         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
20843         port change.
20844
20845         * check/net/gstnetclientclock.c (test_functioning): Add the start
20846         of another test. 
20847
20848 2005-11-18  Wim Taymans  <wim@fluendo.com>
20849
20850         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
20851         (gst_bin_remove_func), (bin_bus_handler):
20852         * gst/gstbin.h:
20853         Removing a clock provider from a bin, triggers a clock lost message
20854         so that a new clock will be selected.
20855         Adding a clock to a bin triggers a clock provider message.
20856         Make sure we reselect a clock when we received a clock lost message.
20857         Keep a reference to the element that provided the clock.
20858
20859 2005-11-18  Andy Wingo  <wingo@pobox.com>
20860
20861         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
20862         the clock initially so it produces values around the base time.
20863         (gst_net_client_clock_class_init): Typo fix.
20864         (gst_net_client_clock_thread): Add note on when the socket gets
20865         closed.
20866
20867 2005-11-17  Wim Taymans  <wim@fluendo.com>
20868
20869         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
20870         Free remote and local time arrays.
20871
20872 2005-11-17  Wim Taymans  <wim@fluendo.com>
20873
20874         * gst/net/gstnetclientclock.c: (do_linear_regression),
20875         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
20876         Fix compilation, uninitialized vars and a forgotten continue.
20877
20878 2005-11-17  Andy Wingo  <wingo@pobox.com>
20879
20880         * check/Makefile.am (check_PROGRAMS): 
20881         * check/net/gstnetclientclock.c: Add a most minimal test for the
20882         net client clock. More to come later.
20883
20884         * gst/net/gstnet.h: 
20885         * gst/net/Makefile.am: Add netclientclock.
20886
20887         * gst/net/gstnetclientclock.h:
20888         * gst/net/gstnetclientclock.c: New files, implement an untested
20889         GstClock that takes its time from a network time provider.
20890         Implements the algorithm in network-clock.scm.
20891
20892         * tests/network-clock.scm (*window-size*): Rename from
20893         *queue-length*.
20894         * tests/network-clock.scm (network-time): 
20895         * tests/network-clock-utils.scm (q-push): Update callers.
20896
20897 2005-11-17  Wim Taymans  <wim@fluendo.com>
20898
20899         * gst/gstbin.c: (gst_bin_provide_clock_func),
20900         (gst_bin_sort_iterator_new):
20901         And unref the child too..
20902
20903 2005-11-17  Wim Taymans  <wim@fluendo.com>
20904
20905         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
20906         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
20907         Refactor the sort iterator so it can be used while holding the
20908         LOCK too.
20909         Make clock selection select a clock closest to the source.
20910
20911 2005-11-17  Michael Smith <msmith@fluendo.com>
20912
20913         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
20914         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
20915         * gst/gstclock.h:
20916           Anonymous structs are a gcc (and some other compilers) extension, so
20917           don't use them. Since this is only for ABI-compatibility, and our
20918           API/ABI freeze is over in a few days, this whole thing will only
20919           last a few days, so don't bother trying to think up a meaningful
20920           name for the struct.
20921
20922 2005-11-17  Andy Wingo  <wingo@pobox.com>
20923
20924         * gst/gstclock.h (GstClock): Add rate and offset properties,
20925         preserving ABI stability. Add rate/offset accessors. Will file bug
20926         for the freeze break.
20927
20928         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
20929         and offset, trying to keep precision and avoiding
20930         underflow/overflow.
20931         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
20932         functions. Make gst_clock_set_time_adjust obsolete.
20933         (gst_clock_set_time_adjust): Note that this function is obsolete.
20934         Will file bug soon.
20935
20936         * gst/base/gstbasetransform.h: Make the ABI-stability hack
20937         greppable by using GST_PADDING-1+1.
20938
20939 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
20940
20941         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
20942
20943         * gst/gstmessage.c: (gst_message_parse_clock_lost):
20944           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
20945
20946         * gst/gstpadtemplate.h:
20947         * gst/gstpluginfeature.h:
20948           Don't use c++ style comments in headers (#321638).
20949
20950 2005-11-16  Andy Wingo  <wingo@pobox.com>
20951
20952         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
20953         buffer.
20954
20955         * check/net/gstnettimeprovider.c: Check to see that the time
20956         provider actually provides times. Works, yo!
20957
20958 2005-11-16  Wim Taymans  <wim@fluendo.com>
20959
20960         * check/Makefile.am:
20961         Enable more tests.
20962
20963         * check/elements/fakesrc.c: (GST_START_TEST):
20964         Set element to NULL before disposing it.
20965
20966 2005-11-16  Andy Wingo  <wingo@pobox.com>
20967
20968         * gst/net/Makefile.am:
20969         * gst/net/gstnet.h:
20970         * gst/net/gstnettimeprovider.c: 
20971         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
20972         provider, include it from gstnet.h, and add it to the build.
20973
20974         * gst/net/gstnettimepacket.h: 
20975         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
20976         sending and receiving.
20977
20978 2005-11-16  Wim Taymans  <wim@fluendo.com>
20979
20980         * check/Makefile.am:
20981         Enable valgrind check.
20982
20983         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
20984         (gst_fake_src_alloc_buffer):
20985         Fix memleak.
20986
20987 2005-11-16  Wim Taymans  <wim@fluendo.com>
20988
20989         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
20990         Call parent finalize too.
20991
20992 2005-11-16  Wim Taymans  <wim@fluendo.com>
20993
20994         * check/Makefile.am:
20995         Enable valgrind check that should work fine now.
20996
20997         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
20998         * gst/gstqueue.c: (gst_queue_init):
20999         Fix memleaks in pad allocation.
21000
21001 2005-11-16  Andy Wingo  <wingo@pobox.com>
21002
21003         * gst/net/Makefile.am:
21004         * gst/net/gstnet.h: New part of core to hold network elements and
21005         objects. Put in core because it exposes API that applications want
21006         to use. The library is named libgstnet-tempname right now because
21007         of the existing libgstnet in gst-plugins-base. Solution is
21008         probably to rename the one in plugins-base; will file a bug for
21009         the freeze break.
21010
21011         * gst/net/gstnettimeprovider.c: 
21012         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
21013         get_time call over the network.
21014
21015         * configure.ac: 
21016         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
21017
21018         * check/Makefile.am:
21019         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
21020         get additions shortly.
21021
21022 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21023
21024         * gst/gstpad.c: (gst_pad_new_from_static_template):
21025         * gst/gstpad.h:
21026           add gst_pad_new_from_static_template functions
21027         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
21028         (gst_check_setup_sink_pad):
21029         * gst/elements/gsttee.c: (gst_tee_init):
21030           and use them
21031
21032 2005-11-16  Wim Taymans  <wim@fluendo.com>
21033
21034         * gst/gstpad.c: (gst_pad_pause_task):
21035         Removed warning, it's not really an error either.
21036
21037 2005-11-16  Wim Taymans  <wim@fluendo.com>
21038
21039         * gst/base/gstbasetransform.c:
21040         (gst_base_transform_prepare_output_buf),
21041         (gst_base_transform_event):
21042         Check if the caps are NULL, this can happen if the element
21043         is shutting down and the pad caps are set to NULL.
21044
21045 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21046
21047         * gst/elements/gsttee.c: (gst_tee_init):
21048           fix pad template leak in tee
21049
21050 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21051
21052         * gst/glib-compat.c: (g_value_dup_gst_object):
21053         * gst/glib-compat.h:
21054         * gst/gstpad.c: (gst_pad_set_property):
21055           use gst_object_ref when setting the pad template; this will
21056           trigger the pad template leaks on GLib 2.6 and the slaves
21057
21058 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21059
21060         * gst/glib-compat.c: (gst_flags_get_first_value):
21061         * gst/glib-compat.h:
21062         * gst/gstregistryxml.c:
21063           remove functions copied from GLib 2.6
21064
21065 2005-11-16  Michael Smith <msmith@fluendo.com>
21066
21067         * gst/Makefile.am:
21068           Don't link against VALGRIND_LIBS. That was always the wrong thing to
21069           do, but only breaks with newer valgrind versions. We're not a
21070           valgrind tool, we have no link-time dependencies on libcoregrind.
21071
21072 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21073
21074         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21075           some debug changes
21076         * gst/gstmessage.h:
21077           typo fixes
21078
21079 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21080
21081         * gst/base/gstbasesrc.c: (gst_base_src_init):
21082         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21083         * gst/gstqueue.c: (gst_queue_init):
21084         * gst/gstregistryxml.c: (load_feature):
21085           Revert all these unrefs, they don't even pass make check !
21086
21087 2005-11-15  Johan Dahlin  <johan@gnome.org>
21088
21089         * gst/base/gstbasesrc.c: (gst_base_src_init):
21090         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21091         * gst/gstqueue.c: (gst_queue_init): 
21092         Free pad templates, fixes a couple of leaks.
21093
21094 2005-11-15  Daniel Fischer  <dan at f3c dot com>
21095
21096         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21097
21098         * gst/gstpad.c: (gst_pad_get_property):
21099           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
21100           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
21101           (#321452)
21102
21103 2005-11-15  Wim Taymans  <wim@fluendo.com>
21104
21105         * gst/gstevent.c:
21106         Small doc update.
21107
21108 2005-11-15  Andy Wingo  <wingo@pobox.com>
21109
21110         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
21111
21112         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
21113         using GST_CLOCK_TIME_NONE to disable base time management.
21114         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
21115         time if it was NONE before.
21116         (gst_pipeline_change_state): Only munge the base time if
21117         stream_time != GST_CLOCK_TIME_NONE.
21118
21119         * check/gst/gstpipeline.c (test_base_time): Punt around the
21120         problem of the probe not being called, because that's not the
21121         issue I'm looking at. Add a check that setting stream_time to NONE
21122         disables base time management.
21123         
21124 2005-11-15  Wim Taymans  <wim@fluendo.com>
21125
21126         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21127         segment_stop == -1 at startup.
21128
21129         * gst/base/gstbasetransform.c: (gst_base_transform_event),
21130         (gst_base_transform_change_state):
21131         Init segment values at start.
21132
21133 2005-11-15  Wim Taymans  <wim@fluendo.com>
21134
21135         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21136         0 segment values are 0 in any format.
21137
21138         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21139         * gst/base/gstbasetransform.h:
21140         Parse newsegment correctly in basetransform
21141
21142         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
21143         Sync to clock using updated segment values.
21144
21145 2005-11-15  Andy Wingo  <wingo@pobox.com>
21146
21147         * check/gst/gstpipeline.c (test_base_time): Add check that the
21148         base time and stream time are reset correctly.
21149
21150 2005-11-15  Wim Taymans  <wim@fluendo.com>
21151
21152         * docs/design/part-TODO.txt:
21153         Some more TODO items.
21154
21155 2005-11-15  Andy Wingo  <wingo@pobox.com>
21156
21157         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
21158         error if the user selected "no clock" as the clocking method.
21159
21160         * check/gst/gstpipeline.c (test_base_time): New test for buffer
21161         timestamps with live capture.
21162
21163         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
21164         is 0 but we are a live source, timestamp the buffers using the
21165         element's clock.
21166
21167 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
21168
21169         * docs/gst/gstreamer-sections.txt:
21170         * gst/gsterror.c:
21171         * gst/gstghostpad.c:
21172         * gst/gstobject.h:
21173         * gst/gstxml.c:
21174           more section docs
21175
21176 2005-11-14  Wim Taymans  <wim@fluendo.com>
21177
21178         * common/gst.supp:
21179           add suppressions from Wim's Debian machine
21180
21181 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
21182
21183         * common/gst.supp:
21184           add suppressions from Andy's AMD64 Ubuntu machine
21185
21186 2005-11-14  Andy Wingo  <wingo@pobox.com>
21187
21188         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
21189         STATE_LOCK not necessary. Fixes #311489.
21190
21191         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
21192         #305291.
21193
21194         * gst/gstindex.c (gst_index_add_object): Note in the docs that
21195         this function is not implemented.
21196
21197 2005-11-14  Julien MOUTTE  <julien@moutte.net>
21198
21199         * gst/base/gstbasetransform.c:
21200         (gst_base_transform_prepare_output_buf):
21201         Ref the source pad caps while we need them.
21202         Fixes (#321386)
21203
21204 2005-11-11  Wim Taymans  <wim@fluendo.com>
21205
21206         * docs/gst/gstreamer-sections.txt:
21207         Added some docs for GstCollectData.
21208
21209         * gst/base/gstadapter.c:
21210         Some small code example fix.
21211
21212         * gst/base/gstcollectpads.c:
21213         * gst/base/gstcollectpads.h:
21214         Document some more.
21215
21216 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21217
21218         * configure.ac: back to HEAD
21219
21220 === release 0.9.5 ===
21221
21222 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
21223
21224         * configure.ac:
21225           releasing 0.9.5, "Bike Lunch Day"
21226
21227 2005-11-11  Wim Taymans  <wim@fluendo.com>
21228
21229         * gst/gstbuffer.c: (_gst_buffer_copy):
21230         Copy more flags.
21231
21232         * gst/gstcaps.c: (gst_caps_is_equal):
21233         Fix some docs.
21234         Make _is_equal fast in the trivial cases.
21235
21236         * gst/gstminiobject.c:
21237         * gst/gstminiobject.h:
21238         More docs. Spifify .h file.
21239
21240         * gst/gstutils.c:
21241         Small doc update.
21242
21243 2005-11-11  Wim Taymans  <wim@fluendo.com>
21244
21245         * gst/base/gstbasetransform.c:
21246         (gst_base_transform_prepare_output_buf),
21247         (gst_base_transform_handle_buffer):
21248         Small cleanups.
21249         If we're processing a buffer and need to allocate an output
21250         buffer, we cannot accept a format change. If we did get a 
21251         format change, we have to alloc a buffer ourselves of the 
21252         right size.
21253
21254 2005-11-11  Wim Taymans  <wim@fluendo.com>
21255
21256         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
21257         While checking the flag for reentrancy in the gstcaps function
21258         is nice to detect recursive invocations, it also makes it 
21259         impossible to call getcaps from multiple threads, which must be
21260         possible. So, checking for recursive calls has to go.
21261
21262 2005-11-11  Michael Smith <msmith@fluendo.com>
21263
21264         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21265           Don't sync on buffers that fall partially outside our current
21266           segment. Prevents an assertion failure/abort playing some files.
21267
21268 2005-11-10  Andy Wingo  <wingo@pobox.com>
21269
21270         * check/gst/gstbin.c (test_message_state_changed_children): Style
21271         fix..
21272
21273         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
21274         gst_bus_poll with the signal watch. Ensures that poll and a signal
21275         watch see the same messages.
21276
21277         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
21278         a poll and a watch at the same time get the same messages.
21279
21280 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21281
21282         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
21283         * gst/gstcaps.c: (gst_caps_intersect):
21284           Don't call gst_caps_do_simplify - it doesn't respect order of caps
21285           and it's not needed.
21286
21287 2005-11-10  Wim Taymans  <wim@fluendo.com>
21288
21289         * docs/design/part-TODO.txt:
21290         Updated todo.
21291
21292 2005-11-10  Wim Taymans  <wim@fluendo.com>
21293
21294         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21295         * gst/base/gstbasesrc.c: (gst_base_src_wait),
21296         (gst_base_src_do_sync), (gst_base_src_get_range):
21297         Implement clock sync in base class.
21298
21299 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21300
21301         patch by: Tim-Philipp Müller <tim at centricular dot net>
21302
21303         * gst/gststructure.c: (gst_structure_parse_field),
21304         (gst_structure_from_string):
21305           Forward-port a 0.8 patch to handle escaped spaces in structure string,
21306           so that gst_parse_launch() can deal with spaces in filtered link
21307           caps (fixes #164479)
21308         * check/gst/capslist.h:
21309         * check/gst/gststructure.c: (GST_START_TEST):
21310           add unit tests for this change
21311
21312 2005-11-10  Wim Taymans  <wim@fluendo.com>
21313
21314         * docs/gst/gstreamer-sections.txt:
21315         * gst/gstelement.c:
21316         * gst/gstelement.h:
21317         Fix docs, move some STATE macros to private.
21318
21319 2005-11-10  Wim Taymans  <wim@fluendo.com>
21320
21321         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21322         Added check for bug #317341
21323
21324         * gst/gstbuffer.c:
21325         * gst/gstbuffer.h:
21326         Some more spiffifying.
21327
21328         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
21329         Call peer linkfunction if we are a source pad. Totally fixes
21330         #317341
21331
21332         * gst/gstpad.c:
21333         Update docs, source pads should call the peer linkfunction
21334         so they can atomically perform the pad link.
21335
21336 2005-11-09  Wim Taymans  <wim@fluendo.com>
21337
21338         * gst/gstbuffer.c:
21339         * gst/gstbuffer.h:
21340         Uber-spiffy-spiffify some more.
21341
21342 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
21343
21344         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
21345         * gst/elements/gstfilesink.c: (gst_file_sink_init):
21346         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21347         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
21348         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
21349         * gst/gstpad.c: (gst_pad_init):
21350           Use GST_DEBUG_FUNCPTR() more extensively.
21351
21352 2005-11-09  Wim Taymans  <wim@fluendo.com>
21353
21354         * gst/gstobject.c: (gst_object_class_init):
21355         * gst/gstobject.h:
21356         Documentation fixes.
21357
21358 2005-11-09  Edward Hervey  <edward@fluendo.com>
21359
21360         * gst/gsttypefindfactory.c:
21361         Fix docs.
21362         
21363 2005-11-09  Edward Hervey  <edward@fluendo.com>
21364
21365         * gst/base/gsttypefindhelper.c:
21366         * gst/gsttypefind.c:
21367         * gst/gsttypefind.h:
21368         Fix docs.
21369
21370 2005-11-09  Wim Taymans  <wim@fluendo.com>
21371
21372         * gst/gstiterator.c:
21373         Fix revision data.
21374
21375         * gst/gsttask.c:
21376         * gst/gsttask.h:
21377         Fix docs.
21378
21379 2005-11-09  Wim Taymans  <wim@fluendo.com>
21380
21381         * gst/gstevent.h:
21382         * gst/gsturi.h:
21383         Fix docs.
21384
21385 2005-11-09  Wim Taymans  <wim@fluendo.com>
21386
21387         * docs/gst/gstreamer-sections.txt:
21388         Moved the message async delivery private lock and cond
21389         to the private section.
21390
21391         * gst/gstmessage.c:
21392         * gst/gstmessage.h:
21393         Fixed docs.
21394
21395 2005-11-09  Edward Hervey  <edward@fluendo.com>
21396
21397         * docs/gst/gstreamer-sections.txt:
21398         * gst/gsturi.c:
21399         * gst/gsturi.h:
21400         Document GstURIHandler
21401
21402 2005-11-09  Wim Taymans  <wim@fluendo.com>
21403
21404         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
21405         (gst_iterator_find_custom):
21406         * gst/gstiterator.h:
21407         Fix iterator docs.
21408
21409 2005-11-09  Wim Taymans  <wim@fluendo.com>
21410
21411         * gst/gstbin.h:
21412         Document another field.
21413
21414         * gst/gststructure.c:
21415         * gst/gststructure.h:
21416         Document.
21417
21418 2005-11-09  Wim Taymans  <wim@fluendo.com>
21419
21420         * gst/gstbin.h:
21421         Documented structs.
21422
21423 2005-11-09  Wim Taymans  <wim@fluendo.com>
21424
21425         * docs/gst/gstreamer-sections.txt:
21426         Added some new macros.
21427
21428         * gst/gstclock.c:
21429         * gst/gstclock.h:
21430         * gst/gstobject.h:
21431         Docs updates.
21432
21433 2005-11-09  Wim Taymans  <wim@fluendo.com>
21434
21435         * docs/design/part-TODO.txt:
21436         Some more items for the TODO
21437
21438         * gst/gstcaps.c:
21439         * gst/gstcaps.h:
21440         Document GstCaps.
21441
21442 2005-11-09  Andy Wingo  <wingo@pobox.com>
21443
21444         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
21445         to work on something else now tho...
21446
21447         * gst/base/gstadapter.c: More adapter docs.
21448
21449         * gst/elements/gstfilesink.c (gst_file_sink_start) 
21450         (gst_file_sink_stop): New functions, replace the state change
21451         handler.
21452         (gst_file_sink_class_init): Hook up the start and stop functions.
21453         (gst_file_sink_base_init): Don't set the state change handler any
21454         more. It was a bit ugly too, being set from here...
21455         (gst_file_sink_get_property, gst_file_sink_set_property):
21456         Cleanups...
21457         (gst_file_sink_set_location): More robust check that doesn't call
21458         GST_STATE. Ugggggg.
21459
21460 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
21461
21462         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21463           Hold STREAM_LOCK while pushing newsegment or tag events as well.
21464
21465 2005-11-08  Wim Taymans  <wim@fluendo.com>
21466
21467         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21468         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
21469         (gst_base_sink_chain), (gst_base_sink_change_state):
21470         * gst/base/gstbasesink.h:
21471         * gst/base/gstbasesrc.h:
21472         * gst/gstelement.h:
21473         * gst/gstevent.h:
21474         Avoid excessive typechecking in macros.
21475
21476         * gst/gstminiobject.c: (gst_mini_object_get_type),
21477         (gst_mini_object_init), (gst_mini_object_new),
21478         (gst_mini_object_free):
21479         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
21480         (gst_object_finalize):
21481         Remove cruft code, optimize alloc_trace.
21482
21483 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
21484
21485         * docs/faq/gst-uninstalled:
21486           fix up PS1 for systems that try to reset it
21487
21488 2005-11-07  Wim Taymans  <wim@fluendo.com>
21489
21490         * gst/base/gstbasesrc.c: (gst_base_src_init),
21491         (gst_base_src_get_range):
21492         Set the segment_end to -1 initially. Fixed typefind.
21493
21494 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
21495
21496         * gst/base/gstadapter.c:
21497           Debug category should be 'adapter', not 'GstAdapter'.
21498           
21499         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
21500         (gst_collectpads_class_init), (gst_collectpads_init),
21501         (gst_collectpads_peek), (gst_collectpads_pop),
21502         (gst_collectpads_event), (gst_collectpads_chain):
21503           Add debug category and some debugging output. Use boilerplate
21504           macros. Remove some extraneous words from docs.
21505
21506 2005-11-05  Andy Wingo  <wingo@pobox.com>
21507
21508         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
21509         macro.
21510
21511 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21512
21513         * docs/gst/gstreamer-sections.txt:
21514         * gst/gstcaps.h:
21515         * gst/gstinfo.c:
21516         * gst/gstminiobject.h:
21517         * gst/gstobject.h:
21518         * gst/gstutils.h:
21519           more docs added
21520
21521 2005-11-04  Wim Taymans  <wim@fluendo.com>
21522
21523         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21524         Small update to stop at the configured segment_end
21525         position.
21526
21527 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21528
21529         * gst/gstregistry.c:
21530         * gst/gstregistry.h:
21531           added missing docs
21532
21533 2005-11-04  Edward Hervey  <edward@fluendo.com>
21534
21535         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21536         Check if we are doing a segment seek and have arrived at the
21537         end of that segment.
21538
21539 2005-11-04  Wim Taymans  <wim@fluendo.com>
21540
21541         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
21542         Don't leak a mutex unlock in case of an error.
21543
21544         * gst/gstbus.h:
21545         Doc fixes.
21546
21547 2005-11-04  Wim Taymans  <wim@fluendo.com>
21548
21549         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
21550         (gst_bus_post):
21551         Get the context to wake up only once.
21552
21553 2005-11-03  Wim Taymans  <wim@fluendo.com>
21554
21555         * check/states/sinks.c: (GST_START_TEST):
21556         Uncomment fixed check.
21557
21558         * docs/design/part-TODO.txt:
21559         Updated TODO.
21560
21561         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21562         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21563         (gst_base_sink_get_position):
21564         If we are going to PLAYING, post the right pending state
21565         when we post the intermediate paused message.
21566
21567         * gst/gstelement.c: (gst_element_continue_state),
21568         (gst_element_set_state_func), (gst_element_change_state):
21569         Don't post state changes that were between the same state
21570         and were not ASYNC.
21571
21572 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21573
21574         * docs/gst/gstreamer-sections.txt:
21575         * gst/gstcaps.h:
21576         * gst/gstinfo.c:
21577         * gst/gstminiobject.h:
21578         * gst/gstobject.h:
21579         * gst/gstutils.h:
21580           more docs and doc style fixes
21581
21582 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21583
21584         * docs/gst/gstreamer-sections.txt:
21585         * gst/gstelement.c:
21586         * gst/gstminiobject.c:
21587         doc fixes
21588
21589 2005-11-03  Andy Wingo  <wingo@pobox.com>
21590
21591         * check/states/sinks.c (test_livesrc_sink): Add checks that the
21592         state-changed messages actually have the right order and the right
21593         values.
21594
21595 2005-11-03  Wim Taymans  <wim@fluendo.com>
21596
21597         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21598         Added some more checks. Specifically the case where NO_PREROLL
21599         elements are in the pipeline.
21600
21601         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21602         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21603         (gst_base_sink_get_position):
21604         Post READY->PAUSED state change messages too.
21605         Fix bug where VOID was posted as pending state...
21606
21607         * gst/gstbin.c: (gst_bin_recalc_state):
21608         use _element_continue_state() to continue the state change.
21609
21610         * gst/gstelement.c: (gst_element_continue_state),
21611         (gst_element_commit_state), (gst_element_set_state_func),
21612         (gst_element_change_state), (gst_element_change_state_func):
21613         Lots of state change cleanups, assign the STATE_RETURN in
21614         a new continue_state() function that also propagates the
21615         last return value from a state change to the app.
21616         Update some debug statements with proper category.
21617
21618 2005-11-03  Wim Taymans  <wim@fluendo.com>
21619
21620         * docs/design/part-events.txt:
21621         * docs/design/part-gstpipeline.txt:
21622         * docs/design/part-messages.txt:
21623         * docs/design/part-overview.txt:
21624         * docs/design/part-seeking.txt:
21625         * docs/design/part-states.txt:
21626         * docs/design/part-trickmodes.txt:
21627         * docs/manual/advanced-position.xml:
21628         Small docs updates.
21629
21630         * gst/gstobject.h:
21631         People think !! is ugly, this looks better.
21632
21633         * gst/gstpad.c: (gst_pad_set_blocked_async):
21634         Remove !! since it's fixed elsewhere now.
21635
21636 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21637
21638         * gst/gstminiobject.h:
21639         * gst/gstobject.h:
21640           Add !! to _FLAG_IS_SET macros to make the result boolean.
21641
21642 2005-11-03  Edward Hervey  <edward@fluendo.com>
21643
21644         * gst/gstpad.c: (gst_pad_set_blocked_async):
21645         comparing a flag and a gboolean rarely returns coherent results...
21646         Added two characters (!!) to make that work correctly.
21647         
21648 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21649
21650         * gst/gstbus.c: (gst_bus_class_init):
21651           Fix some typos.
21652           
21653         * gst/gstqueue.c: (gst_queue_loop):
21654           Don't assume a miniobject that isn't a buffer is an
21655           event (it could be that there is a refcounting
21656           problem somewhere and the pointer is stale and
21657           refers to an already destroyed miniobject).
21658
21659 2005-11-03  Julien MOUTTE  <julien@moutte.net>
21660
21661         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
21662
21663 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21664
21665         * docs/manual/advanced-position.xml:
21666           Update seek example and explanations to current 0.9 API.
21667
21668         * gst/elements/gsttypefindelement.c:
21669         (gst_type_find_element_activate):
21670           Remove FIXME comment now that the found caps
21671           are unreffed.
21672
21673 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21674
21675         * gst/gstregistryxml.c: (load_feature):
21676           Add another GST_STR_NULL instance
21677
21678 2005-11-02  Edward Hervey  <edward@fluendo.com>
21679
21680         * gst/gstpad.c: (handle_pad_block):
21681         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
21682         
21683 2005-11-02  Wim Taymans  <wim@fluendo.com>
21684
21685         * gst/gstbin.c:
21686         Fix typo in docs.
21687
21688         * gst/gstelement.c: (gst_element_commit_state):
21689         Remove unused value.
21690
21691         * gst/gstiterator.c:
21692         Mention that the returned element is reffed in the docs.
21693
21694 2005-11-02  Wim Taymans  <wim@fluendo.com>
21695
21696         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
21697         (gst_pad_push), (gst_pad_push_event):
21698         Unlock blocked pads when they are flushed.
21699
21700 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21701
21702         * docs/README:
21703         * docs/gst/gstreamer-sections.txt:
21704         * gst/gstbin.c:
21705           doc updates
21706         * gst/gstregistry.c: (gst_registry_scan_path_level):
21707           fix for a nasty little missed situation where an installed plug-in
21708           which was in the cache did not get overridden by an uninstalled one
21709           which was earlier in the plugin path because the newly created plugin
21710           for the uninstalled one (not in the registry) didn't get its
21711           ->registered set to TRUE
21712
21713 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
21714
21715         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
21716         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
21717         (gst_collectpads_is_active), (gst_collectpads_collect),
21718         (gst_collectpads_collect_range), (gst_collectpads_start),
21719         (gst_collectpads_stop), (gst_collectpads_peek),
21720         (gst_collectpads_pop), (gst_collectpads_available),
21721         (gst_collectpads_read), (gst_collectpads_flush):
21722           Guard public API with assertions.
21723         
21724         * gst/gstpad.c:
21725           Fix docs for gst_pad_set_link_function().
21726
21727 2005-11-02  Johan Dahlin  <johan@gnome.org>
21728
21729         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
21730         Unref found_caps after we used it.
21731
21732 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
21733
21734         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
21735           Don't try to ref NULL.
21736
21737 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21738
21739         * win32/common/config.h.in:
21740           provide a GST_FUNCTION that just gives a string for now
21741
21742 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21743
21744         * win32/common/gstenumtypes.c: (register_gst_object_flags),
21745         (gst_object_flags_get_type), (register_gst_bin_flags),
21746         (gst_bin_flags_get_type), (register_gst_buffer_flag),
21747         (gst_buffer_flag_get_type), (register_gst_bus_flags),
21748         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
21749         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
21750         (gst_clock_return_get_type), (register_gst_clock_entry_type),
21751         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
21752         (gst_clock_flags_get_type), (register_gst_state),
21753         (gst_state_get_type), (register_gst_state_change_return),
21754         (gst_state_change_return_get_type), (register_gst_state_change),
21755         (gst_state_change_get_type), (register_gst_element_flags),
21756         (gst_element_flags_get_type), (register_gst_core_error),
21757         (gst_core_error_get_type), (register_gst_library_error),
21758         (gst_library_error_get_type), (register_gst_resource_error),
21759         (gst_resource_error_get_type), (register_gst_stream_error),
21760         (gst_stream_error_get_type), (register_gst_event_type),
21761         (gst_event_type_get_type), (register_gst_seek_type),
21762         (gst_seek_type_get_type), (register_gst_seek_flags),
21763         (gst_seek_flags_get_type), (register_gst_format),
21764         (gst_format_get_type), (register_gst_index_certainty),
21765         (gst_index_certainty_get_type), (register_gst_index_entry_type),
21766         (gst_index_entry_type_get_type),
21767         (register_gst_index_lookup_method),
21768         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
21769         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
21770         (gst_index_resolver_method_get_type), (register_gst_index_flags),
21771         (gst_index_flags_get_type), (register_gst_debug_level),
21772         (gst_debug_level_get_type), (register_gst_debug_color_flags),
21773         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
21774         (gst_iterator_result_get_type), (register_gst_iterator_item),
21775         (gst_iterator_item_get_type), (register_gst_message_type),
21776         (gst_message_type_get_type), (register_gst_mini_object_flags),
21777         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
21778         (gst_pad_link_return_get_type), (register_gst_flow_return),
21779         (gst_flow_return_get_type), (register_gst_activate_mode),
21780         (gst_activate_mode_get_type), (register_gst_pad_direction),
21781         (gst_pad_direction_get_type), (register_gst_pad_flags),
21782         (gst_pad_flags_get_type), (register_gst_pad_presence),
21783         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
21784         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
21785         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
21786         (gst_plugin_error_get_type), (register_gst_plugin_flags),
21787         (gst_plugin_flags_get_type), (register_gst_rank),
21788         (gst_rank_get_type), (register_gst_query_type),
21789         (gst_query_type_get_type), (register_gst_tag_merge_mode),
21790         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
21791         (gst_tag_flag_get_type), (register_gst_task_state),
21792         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
21793         (gst_alloc_trace_flags_get_type),
21794         (register_gst_type_find_probability),
21795         (gst_type_find_probability_get_type), (register_gst_uri_type),
21796         (gst_uri_type_get_type), (register_gst_parse_error),
21797         (gst_parse_error_get_type):
21798         * win32/common/gstversion.h:
21799           update win32 copies
21800
21801 2005-11-01  Luca Ognibene  <luogni@tin.it>
21802
21803         * gst/gst.c:
21804           fix docs. popt is dead, long live GOption.
21805
21806 2005-10-31  Wim Taymans  <wim@fluendo.com>
21807
21808         * gst/gstbuffer.h:
21809         Small doc fix.
21810
21811 2005-10-31  Andy Wingo  <wingo@pobox.com>
21812
21813         * Boo!
21814
21815         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
21816
21817         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
21818         need to serialize property notifications on GLib 2.8. GLib 2.6 has
21819         the possibility of deadlocks here if code calling notify() or
21820         set() has a lock that can be taken in another notify handler (ABBA
21821         with class lock and e.g. python GIL state lock).
21822
21823 2005-10-28  Julien MOUTTE  <julien@moutte.net>
21824
21825         * gst/gstbus.c: Doc updates.
21826
21827 2005-10-28  Wim Taymans  <wim@fluendo.com>
21828
21829         * docs/design/part-TODO.txt:
21830         * gst/gstiterator.c:
21831         * gst/gstsystemclock.c:
21832         * gst/gstsystemclock.h:
21833         Doc updates.
21834
21835 2005-10-28  Edward Hervey  <edward@fluendo.com>
21836
21837         * docs/gst/gstreamer-docs.sgml:
21838         * docs/gst/gstreamer-sections.txt:
21839         the GstURIType documentation page is private, it only defines GstURIType
21840         which should be defined in the GstURIHandler page
21841         
21842 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
21843
21844         * gst/gstbin.c: (gst_bin_class_init):
21845         * gst/gstbin.h:
21846         * gst/gstutils.c:
21847         Documentation updates.
21848
21849 2005-10-28  Wim Taymans  <wim@fluendo.com>
21850
21851         * docs/gst/gstreamer-sections.txt:
21852         * gst/gstclock.c:
21853         * gst/gstclock.h:
21854         Documented the clocks.
21855
21856 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
21857
21858         * docs/gst/gstreamer-sections.txt:
21859           move some macros to private sections
21860         * gst/gstminiobject.c:
21861         * gst/gstminiobject.h:
21862           add descriptions provided by ds and some more
21863         * gst/gstpad.h:
21864           mark macro as to be removed
21865
21866 2005-10-28  Wim Taymans  <wim@fluendo.com>
21867
21868         * docs/design/part-TODO.txt:
21869         Add an item to TODO.
21870
21871         * gst/gstiterator.c: (gst_iterator_fold),
21872         (gst_iterator_find_custom):
21873         * gst/gstiterator.h:
21874         Add iterator docs.
21875
21876 2005-10-28  Wim Taymans  <wim@fluendo.com>
21877
21878         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
21879         (gst_base_transform_init):
21880         Don't leak class.
21881
21882         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
21883         An EOS event marks the queue as completely filled.
21884
21885 2005-10-27  Wim Taymans  <wim@fluendo.com>
21886
21887         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21888         (gst_base_sink_do_sync), (gst_base_sink_get_position):
21889         Some more debugging.
21890
21891         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
21892         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
21893         (gst_base_transform_event), (gst_base_transform_getrange),
21894         (gst_base_transform_chain):
21895         * gst/base/gstbasetransform.h:
21896         Fix debugging,
21897         Protect transform and concurrent buffer alloc with a new lock.
21898         Try not to break ABI/API.
21899
21900 2005-10-27  Wim Taymans  <wim@fluendo.com>
21901
21902         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
21903         (gst_base_src_init), (gst_base_src_query),
21904         (gst_base_src_default_newsegment),
21905         (gst_base_src_configure_segment), (gst_base_src_do_seek),
21906         (gst_base_src_send_event), (gst_base_src_event_handler),
21907         (gst_base_src_pad_get_range), (gst_base_src_loop),
21908         (gst_base_src_unlock), (gst_base_src_default_negotiate),
21909         (gst_base_src_start), (gst_base_src_deactivate),
21910         (gst_base_src_activate_push), (gst_base_src_change_state):
21911         Move some stuff around and cleanup things.
21912
21913 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
21914
21915         * gst/base/gstbasesrc.c: (gst_base_src_query):
21916           Add missing break statements.
21917
21918 2005-10-27  Wim Taymans  <wim@fluendo.com>
21919
21920         * check/gst/gstbin.c: (GST_START_TEST):
21921         An extra refcount is taken in basesrc.
21922
21923         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
21924         (gst_base_src_get_range), (gst_base_src_pad_get_range),
21925         (gst_base_src_loop):
21926         Small cleanups, check for flushing after being unlocked from the 
21927         LIVE_LOCK. take refcounts correctly (not yet everywhere).
21928         Don't send out EOS when going to READY.
21929
21930 2005-10-27  Wim Taymans  <wim@fluendo.com>
21931
21932         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21933         (gst_base_sink_get_position):
21934         Some more debug.
21935
21936         * gst/gstbin.c: (message_check), (bin_replace_message),
21937         (bin_remove_messages), (is_eos), (gst_bin_add_func),
21938         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
21939         (bin_query_duration_init), (bin_query_duration_fold),
21940         (bin_query_duration_done), (bin_query_generic_fold),
21941         (gst_bin_query):
21942         * tools/gst-launch.c: (main):
21943         Remove old option.
21944
21945 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
21946
21947         * examples/controller/audio-example.c: (main):
21948         * examples/queue/queue.c: (event_loop):
21949         * gst/base/gstbasetransform.h:
21950         * gst/gstelement.c: (gst_element_send_event):
21951         * gst/gstevent.h:
21952         * gst/gstpad.c: (gst_pad_send_event):
21953           fixing examples
21954           fixing docs typos
21955           changing log priority in error situations
21956
21957 2005-10-25  Wim Taymans  <wim@fluendo.com>
21958
21959         * gst/gstbin.c: (message_check), (bin_replace_message),
21960         (bin_remove_messages), (is_eos), (gst_bin_add_func),
21961         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
21962         (bin_query_duration_init), (bin_query_duration_fold),
21963         (bin_query_duration_done), (bin_query_generic_fold),
21964         (gst_bin_query):
21965         Some doc and debug updates.
21966         Cache previously requested query DURATION for speed. invalidate
21967         cached duration if element posts a DURATION message.
21968
21969 2005-10-25  Wim Taymans  <wim@fluendo.com>
21970
21971         * docs/design/part-TODO.txt:
21972         Update TODO.
21973
21974         * gst/gstbin.c: (message_check), (bin_replace_message),
21975         (bin_remove_messages), (is_eos), (gst_bin_add_func),
21976         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
21977         (bin_query_duration_init), (bin_query_duration_fold),
21978         (bin_query_duration_done), (bin_query_generic_fold),
21979         (gst_bin_query):
21980         Handle SEGMENT_START/DONE messages correctly.
21981         More evolved query algorithm that handles duration queries
21982         correctly.
21983
21984         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
21985         (gst_element_get_state_func), (gst_element_abort_state),
21986         (gst_element_commit_state), (gst_element_lost_state):
21987         Some more debugging.
21988
21989         * gst/gstmessage.h:
21990         Added doc.
21991
21992 2005-10-25  Wim Taymans  <wim@fluendo.com>
21993
21994         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
21995         Don't use invalid stream_time.
21996
21997         * gst/gstevent.c: (gst_event_new_newsegment):
21998         stream_time in newsegment cannot be undefined.
21999
22000 2005-10-24  Wim Taymans  <wim@fluendo.com>
22001
22002         * gst/gstbus.c:
22003         Doc fix.
22004
22005         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
22006         (gst_queue_loop):
22007         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
22008
22009 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
22010
22011         * docs/libs/tmpl/gstdparam.sgml:
22012         * docs/libs/tmpl/gstdplinint.sgml:
22013         * docs/libs/tmpl/gstdpman.sgml:
22014         * docs/libs/tmpl/gstdpsmooth.sgml:
22015         * docs/libs/tmpl/gstunitconvert.sgml:
22016           these are obsolete
22017
22018 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
22019
22020         * configure.ac:
22021           back to HEAD
22022
22023 === release 0.9.4 ===
22024
22025 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22026
22027         * configure.ac:
22028           releasing 0.9.4, "Tyrannosaurus Rex"
22029
22030 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
22031
22032         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22033         (gst_file_sink_get_current_offset):
22034           Use fseeko() and ftello() if available. When falling back on
22035           lseek() to get the current offset, fflush() first to make sure
22036           everything is up-to-date and we get the right offset.
22037
22038 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
22039
22040         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22041         * gst/base/gstbasesrc.c: (gst_base_src_loop):
22042         * gst/gsterror.c: (_gst_stream_errors_init):
22043         * gst/gsterror.h:
22044         * gst/gstqueue.c: (gst_queue_loop):
22045         * po/POTFILES.in:
22046           remove prematurely added error category and clean up the instances
22047
22048 2005-10-21  Wim Taymans  <wim@fluendo.com>
22049
22050         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22051         (gst_base_sink_get_position), (gst_base_sink_query),
22052         (gst_base_sink_change_state):
22053         Simply set the right flag when going to playing, that's all
22054         we need to do instead of calling a function inside the object
22055         lock (that could take the lock as well and deadlock)
22056
22057 2005-10-21  Wim Taymans  <wim@fluendo.com>
22058
22059         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
22060         (gst_base_src_loop):
22061         Don't warn, the peer element knows what to do best when
22062         the seek failed, it might try something else.
22063
22064 2005-10-21  Wim Taymans  <wim@fluendo.com>
22065
22066         * gst/base/gstbasesrc.c: (gst_base_src_init),
22067         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
22068         Fix seeking.
22069
22070 2005-10-21  Wim Taymans  <wim@fluendo.com>
22071
22072         * docs/design/part-segments.txt:
22073         More docs.
22074
22075         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
22076         Correctly set caps, even on the subbufer.
22077
22078 2005-10-21  Wim Taymans  <wim@fluendo.com>
22079
22080         * docs/gst/gstreamer-docs.sgml:
22081         * docs/gst/gstreamer-sections.txt:
22082         * gst/gstelement.h:
22083         * gst/gstevent.c:
22084         * gst/gstevent.h:
22085         * gst/gstmessage.h:
22086         * gst/gstpad.h:
22087         * gst/gstparse.h:
22088         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
22089         * gst/gsttask.h:
22090         * gst/gstutils.c:
22091         * gst/gstutils.h:
22092         And 2% more doc coverage.
22093
22094 2005-10-21  Andy Wingo  <wingo@pobox.com>
22095
22096         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
22097         position reporting.
22098
22099 2005-10-20  Wim Taymans  <wim@fluendo.com>
22100
22101         * gst/gsterror.c: (gst_error_get_message):
22102         * gst/gstparse.h:
22103         * gst/gstquery.h:
22104         * gst/gststructure.c:
22105         * gst/gsttrace.c:
22106         * gst/gstutils.c:
22107         More docs.
22108
22109 2005-10-20  Wim Taymans  <wim@fluendo.com>
22110
22111         * gst/gstbuffer.h:
22112         * gst/gstpad.c:
22113         * gst/gstparse.c:
22114         Another 1% more coverage.
22115
22116 2005-10-20  Wim Taymans  <wim@fluendo.com>
22117
22118         * docs/gst/gstreamer-sections.txt:
22119         * gst/gstelement.c: (gst_element_get_state_func),
22120         (gst_element_abort_state), (gst_element_commit_state),
22121         (gst_element_lost_state):
22122         * gst/gstevent.h:
22123         * gst/gstquery.c: (gst_query_set_position),
22124         (gst_query_parse_position), (gst_query_set_duration),
22125         (gst_query_parse_duration), (gst_query_new_convert):
22126         * gst/gstutils.c:
22127         Yay! 1% more docs coverage.
22128
22129 2005-10-20  Wim Taymans  <wim@fluendo.com>
22130
22131         * gst/gstpad.h:
22132         * gst/gstquery.c: (gst_query_set_position),
22133         (gst_query_parse_position), (gst_query_set_duration),
22134         (gst_query_parse_duration), (gst_query_new_convert):
22135         * gst/gstquery.h:
22136         * gst/gstutils.c: (gst_element_query_convert):
22137         * gst/gstutils.h:
22138         Docs and consistency fixes.
22139
22140 2005-10-20  Wim Taymans  <wim@fluendo.com>
22141
22142         * gst/gsttask.c:
22143         * gst/gsttask.h:
22144         More docs.
22145
22146 2005-10-20  Wim Taymans  <wim@fluendo.com>
22147
22148         * gst/gstbin.c: (message_check), (bin_replace_message),
22149         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22150         (update_degree), (gst_bin_sort_iterator_next),
22151         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
22152         Reworked the message handling a bit, cache the messages instead of
22153         only the senders. alows us to do more in the future.
22154
22155 2005-10-20  Wim Taymans  <wim@fluendo.com>
22156
22157         * docs/design/part-TODO.txt:
22158         Update TODO
22159
22160         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22161         (gst_base_sink_query):
22162         Don't use clock time to report position when in EOS.
22163
22164 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
22165
22166         * tools/gst-inspect.c: (print_interfaces),
22167         (print_element_properties_info), (print_element_info):
22168           Fix interface output with gst-inspect -a; don't print
22169           newlines after double/float properties.
22170
22171 2005-10-20  Wim Taymans  <wim@fluendo.com>
22172
22173         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22174         (gst_base_sink_query):
22175         Speed up current position calculation.
22176
22177         * gst/base/gstbasesrc.c: (gst_base_src_query),
22178         (gst_base_src_default_newsegment):
22179         Correctly set stream position in newsegment.
22180
22181         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
22182         (update_degree), (gst_bin_sort_iterator_next),
22183         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
22184         * gst/gstmessage.c: (gst_message_new_custom):
22185         Clean up debugging info
22186
22187         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22188         (gst_queue_loop), (gst_queue_handle_src_query):
22189         Pause task faster.
22190
22191 2005-10-19  Wim Taymans  <wim@fluendo.com>
22192
22193         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22194         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22195         Fix query handling again.
22196
22197 2005-10-19  Wim Taymans  <wim@fluendo.com>
22198
22199         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22200         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22201         * gst/base/gstbasesrc.c: (gst_base_src_query):
22202         * gst/elements/gstfilesink.c: (gst_file_sink_query):
22203         * gst/elements/gsttypefindelement.c:
22204         (gst_type_find_handle_src_query), (find_element_get_length),
22205         (gst_type_find_element_activate):
22206         API change fix.
22207
22208         * gst/gstquery.c: (gst_query_new_position),
22209         (gst_query_set_position), (gst_query_parse_position),
22210         (gst_query_new_duration), (gst_query_set_duration),
22211         (gst_query_parse_duration), (gst_query_set_segment),
22212         (gst_query_parse_segment):
22213         * gst/gstquery.h:
22214         Bundling query position/duration is not a good idea since duration
22215         does not change much and we don't want to recalculate it for every
22216         position query, so they are separated again..
22217         Base value in segment query is not needed.
22218
22219         * gst/gstqueue.c: (gst_queue_handle_src_query):
22220         * gst/gstutils.c: (gst_element_query_position),
22221         (gst_element_query_duration), (gst_pad_query_position),
22222         (gst_pad_query_duration):
22223         * gst/gstutils.h:
22224         Updates for query API change.
22225         Added some docs here and there.
22226
22227 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22228
22229         * check/gst/gstbin.c: (GST_START_TEST):
22230         * check/gst/gstghostpad.c: (GST_START_TEST):
22231         * check/pipelines/cleanup.c: (GST_START_TEST):
22232           wait on thread to die so we can check refcount correctly
22233
22234 2005-10-18  Wim Taymans  <wim@fluendo.com>
22235
22236         * check/pipelines/stress.c: (GST_START_TEST):
22237         Make check a little more time consuming.
22238
22239 2005-10-18  Wim Taymans  <wim@fluendo.com>
22240
22241         * check/Makefile.am:
22242         * check/pipelines/stress.c: (GST_START_TEST),
22243         (simple_launch_lines_suite), (main):
22244         Small state change torture test.
22245
22246         * docs/design/part-states.txt:
22247         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22248         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
22249         (gst_base_sink_change_state):
22250         Never take state lock from streaming thread, clean up ugly
22251         hacks. Unfortunatly core does not yet support nice ways to
22252         async commit state.
22253         
22254         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
22255         (bin_bus_handler):
22256         Start state recalc if a STATE_DIRTY message is posted, but only
22257         on the toplevel bin.
22258
22259         * gst/gstelement.c: (gst_element_sync_state_with_parent),
22260         (gst_element_get_state_func), (gst_element_abort_state),
22261         (gst_element_commit_state), (gst_element_lost_state),
22262         (gst_element_set_state_func), (gst_element_change_state):
22263         * gst/gstelement.h:
22264         State variables are now protected with the LOCK, the state
22265         lock is only used to serialize _set_state().
22266
22267 2005-10-18  Wim Taymans  <wim@fluendo.com>
22268
22269         * check/gst/gstbin.c: (GST_START_TEST):
22270         * check/gst/gstmessage.c: (GST_START_TEST):
22271         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22272         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
22273         (bin_bus_handler):
22274         * gst/gstelement.c: (gst_element_abort_state),
22275         (gst_element_commit_state), (gst_element_lost_state):
22276         * gst/gstmessage.c: (gst_message_new_state_changed),
22277         (gst_message_new_state_dirty), (gst_message_new_segment_start),
22278         (gst_message_new_segment_done), (gst_message_new_duration),
22279         (gst_message_parse_state_changed),
22280         (gst_message_parse_segment_start),
22281         (gst_message_parse_segment_done), (gst_message_parse_duration):
22282         * gst/gstmessage.h:
22283         * tools/gst-launch.c: (event_loop):
22284         Seriously, this is better than a previous commit as we only need
22285         to notify the fact that an element changed state in a streaming
22286         thread, marking the state of the parents dirty, hence the 
22287         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
22288         message.
22289
22290 2005-10-18  Wim Taymans  <wim@fluendo.com>
22291
22292         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
22293         (gst_bin_recalc_func):
22294         * gst/gstelement.c: (gst_element_set_clock),
22295         (gst_element_abort_state), (gst_element_lost_state):
22296         Cleanups, prepare for state change fixes.
22297
22298 2005-10-18  Wim Taymans  <wim@fluendo.com>
22299
22300         * gst/gstbin.h:
22301         * gst/gstelement.c: (gst_element_class_init),
22302         (gst_element_set_state), (gst_element_set_state_func):
22303         * gst/gstelement.h:
22304         Pending ABI changes.
22305         GThreadPool in GstBinClass to monitor async state changes.
22306         state_cookie in GstElement to detect concurrent gst/set state.
22307         set_state is now virtual too in case a very complicated element
22308         has to be constructed.
22309
22310 2005-10-18  Wim Taymans  <wim@fluendo.com>
22311
22312         * check/gst/gstbin.c: (GST_START_TEST):
22313         * check/gst/gstmessage.c: (GST_START_TEST):
22314         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22315         * gst/gstbin.c: (bin_bus_handler):
22316         * gst/gstelement.c: (gst_element_commit_state),
22317         (gst_element_lost_state):
22318         * gst/gstmessage.c: (gst_message_new_state_changed),
22319         (gst_message_new_segment_start), (gst_message_new_segment_done),
22320         (gst_message_new_duration), (gst_message_parse_state_changed),
22321         (gst_message_parse_segment_start),
22322         (gst_message_parse_segment_done), (gst_message_parse_duration):
22323         * gst/gstmessage.h:
22324         * tools/gst-launch.c: (event_loop):
22325         Make messages future proof.
22326         state-change gets a flag if it was a message comming from the
22327         streaming thread.
22328         segment-start/stop can also be specified in other formats.
22329         A message to notify an app that a pipeline changed playback 
22330         duration.
22331         Also fix a GstMessage leak in -launch
22332
22333 2005-10-18  Andy Wingo  <wingo@pobox.com>
22334
22335         * gst/gstelement.c (gst_element_dispose): More helpful message.
22336
22337 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22338
22339         reviewed by: <delete if not using a buddy>
22340
22341         * common/gtk-doc.mak:
22342
22343 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22344
22345         * gst/gstregistry.c: (gst_registry_scan_path_level):
22346           unref a plug-in we get that was already initialized
22347
22348 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
22349
22350         * docs/gst/gstreamer-sections.txt:
22351         * docs/libs/gstreamer-libs-sections.txt:
22352         * gst/gstelement.h:
22353           add new api entries
22354           hide internal macro
22355
22356 2005-10-17  Andy Wingo  <wingo@pobox.com>
22357
22358         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
22359         cleanup.
22360
22361         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
22362
22363         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
22364
22365         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
22366         (gst_element_get_state_func): Better debug message.
22367         (gst_element_commit_state): s/INFO/DEBUG/.
22368         (gst_element_lost_state, gst_element_change_state): 
22369
22370         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
22371         (gst_message_new_custom): s/INFO/LOG/.
22372
22373 2005-10-17  Michael Smith <msmith@fluendo.com>
22374
22375         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
22376           Check if end time is valid using end time, not start time.
22377
22378 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
22379
22380         * check/gst-libs/controller.c: (GST_START_TEST),
22381         (gst_controller_suite):
22382         * libs/gst/controller/gstcontroller.c:
22383         (gst_controlled_property_set_interpolation_mode):
22384         * libs/gst/controller/gstcontroller.h:
22385         * libs/gst/controller/gstinterpolation.c:
22386         * testsuite/controller/.cvsignore:
22387         * testsuite/controller/Makefile.am:
22388         * testsuite/controller/interpolator.c:
22389           merge controller testsuites
22390           fix broken tests
22391           remove mem-chunk from docs
22392
22393 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22394
22395         * gst/gstmemchunk.c:
22396         * gst/gstmemchunk.h:
22397         * gst/gsttrashstack.c:
22398         * gst/gsttrashstack.h:
22399           out.  get out.  you're fired.  to the Attic !
22400
22401 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22402
22403         * gst/gstcaps.c: (gst_caps_intersect):
22404           fix signedness issues in a (hopefully) correct way
22405         * gst/gstelement.c: (gst_element_pads_activate):
22406           some debugging
22407         * gst/gstobject.c: (gst_object_set_parent):
22408           some debugging
22409
22410 2005-10-17  Julien MOUTTE  <julien@moutte.net>
22411
22412         * gst/gstvalue.h: Fix prototypes.
22413
22414 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22415
22416         * docs/gst/gstreamer-sections.txt:
22417         * gst/gst.c: (gst_version_string):
22418         * gst/gst.h:
22419         * gst/gstversion.h.in:
22420         * win32/common/libgstreamer.def:
22421           add gst_version_string ()
22422
22423 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22424
22425         * configure.ac:
22426           clean up further
22427         * gst/gst.c: (init_post):
22428         * win32/common/config.h.in:
22429           it's PLUGINDIR now
22430         * gst/gstcaps.c: (gst_caps_intersect):
22431           use gint64, the range could be bigger than a guint
22432
22433 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22434
22435         * gst/gstclock.h:
22436           document potential problem in 2038
22437
22438 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22439
22440         * gst/gstcaps.c: (gst_caps_intersect):
22441           Fix guint j diving under 0
22442
22443 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22444
22445         * configure.ac:
22446         * win32/common/config.h:
22447         * win32/common/config.h.in:
22448           check for process.h, declares getpid() on Windows
22449         * gst/gstinfo.c:
22450           include process.h if we have it
22451         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
22452         * gst/gstmemchunk.h:
22453           fix signedness issues
22454         * win32/common/libgstreamer.def:
22455           fix get_type's
22456
22457 2005-10-16  Julien MOUTTE  <julien@moutte.net>
22458
22459         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
22460         fix. Because of unsigned ints, caps intersection was going nuts and
22461         trying to access structures with G_MAXUINT index. That fixes
22462         videotestsrc ! ffmpegcolorspace ! fakesink
22463         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
22464         consistency.
22465
22466 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22467
22468         * configure.ac:
22469           use the gettext macro
22470         * gst/elements/gstelements.c:
22471         * gst/gst.c:
22472         * gst/indexers/gstindexers.c:
22473           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
22474         * win32/common/config.h:
22475           updated config.h
22476         * win32/common/config.h.in:
22477           add the template to generate config.h
22478         * win32/common/gstenumtypes.c:
22479         * win32/common/gstversion.h:
22480           updated copies
22481
22482 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22483
22484         * gst/gst.c: (gst_version):
22485         * gst/gstversion.h.in:
22486           add the nano
22487
22488 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22489
22490         * gst/gstevent.h:
22491           Oops, add missing closing bracket.
22492
22493 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22494
22495         * configure.ac:
22496           use common m4's for argument checking
22497
22498 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22499
22500         * docs/gst/gstreamer-sections.txt:
22501         * gst/gstevent.h:
22502           Add GST_EVENT_TYPE_NAME() macro.
22503
22504 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22505
22506         * gst/gstinfo.c:
22507         * gst/gstpluginfeature.c:
22508         * gst/gsttask.c:
22509           privatize more symbols
22510
22511 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22512
22513         * configure.ac:
22514           add srcdir, builddir includes to GST_ALL_CFLAGS, since
22515           everything that uses GStreamer API should have the includes
22516
22517 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22518
22519         * docs/gst/gstreamer-sections.txt:
22520         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
22521         * gst/gstvalue.h:
22522           give each value a _get_type, removes the DATA exports
22523
22524 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22525
22526         * gst/gst.c:
22527         * gst/gst.h:
22528           remove _gst_registry_auto_load, not used anymore
22529         * gst/gstbin.c: (gst_bin_get_type):
22530         * gst/gstbin.h:
22531         * gst/gstelement.c: (gst_element_get_type):
22532         * gst/gstelement.h:
22533         * gst/gstobject.c: (gst_object_get_type):
22534         * gst/gstobject.h:
22535         * gst/gstpad.c: (gst_pad_get_type):
22536         * gst/gstpad.h:
22537           make _get_type functions similar, fixes data export from library
22538
22539 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22540
22541         * configure.ac:
22542           correctly make conditionals
22543         * gst/elements/Makefile.am:
22544         * gst/elements/gstelements.c:
22545           fix typo causing fdsrc not to build
22546
22547 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22548
22549         * testsuite/Makefile.am:
22550         * testsuite/bytestream/.cvsignore:
22551         * testsuite/bytestream/Makefile.am:
22552         * testsuite/bytestream/filepadsink.c:
22553         * testsuite/bytestream/gstbstest.c:
22554         * testsuite/bytestream/test1.c:
22555         * testsuite/bytestream/testfile1:
22556         * testsuite/caps/normalisation.c:
22557         * testsuite/caps/random.c: (main):
22558         * testsuite/cleanup/.cvsignore:
22559         * testsuite/cleanup/Makefile.am:
22560         * testsuite/cleanup/cleanup1.c:
22561         * testsuite/cleanup/cleanup2.c:
22562         * testsuite/cleanup/cleanup3.c:
22563         * testsuite/cleanup/cleanup4.c:
22564         * testsuite/cleanup/cleanup5.c:
22565         * testsuite/controller/interpolator.c:
22566         * testsuite/debug/printf_extension.c: (main):
22567         * testsuite/elements/tee.c:
22568         * testsuite/negotiation/.cvsignore:
22569         * testsuite/negotiation/Makefile.am:
22570         * testsuite/negotiation/pad_link.c:
22571         * testsuite/pad/Makefile.am:
22572         * testsuite/pad/chainnopull.c:
22573         * testsuite/pad/getnopush.c:
22574         * testsuite/pad/link.c:
22575         * testsuite/refcounting/sched.c: (create_pipeline):
22576         * testsuite/registry/Makefile.am:
22577         * testsuite/registry/gst-print-formats.c:
22578         * testsuite/schedulers/.cvsignore:
22579         * testsuite/schedulers/142183-2.c:
22580         * testsuite/schedulers/142183.c:
22581         * testsuite/schedulers/143777-2.c:
22582         * testsuite/schedulers/143777.c:
22583         * testsuite/schedulers/147713.c:
22584         * testsuite/schedulers/147819.c:
22585         * testsuite/schedulers/147894-2.c:
22586         * testsuite/schedulers/147894.c:
22587         * testsuite/schedulers/Makefile.am:
22588         * testsuite/schedulers/group_link.c:
22589         * testsuite/schedulers/queue_link.c:
22590         * testsuite/schedulers/relink.c:
22591         * testsuite/schedulers/unlink.c:
22592         * testsuite/schedulers/unref.c:
22593         * testsuite/schedulers/useless_iteration.c:
22594         * testsuite/states/bin.c:
22595           clean out/remove some stuff from the testsuite directories
22596
22597 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22598
22599         * configure.ac:
22600           check for some headers
22601         * gst/elements/Makefile.am:
22602         * gst/elements/gstelements.c:
22603           don't compile fdsrc without sys/socket.h
22604         * gst/indexers/Makefile.am:
22605         * gst/indexers/gstindexers.c: (plugin_init):
22606           don't compile fileindex without mmap
22607
22608 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22609
22610         * configure.ac:
22611           reorganize
22612           clean up
22613           document more
22614           remove cruft
22615         * check/Makefile.am:
22616         * docs/gst/Makefile.am:
22617         * examples/helloworld/Makefile.am:
22618         * gst/Makefile.am:
22619         * gst/base/Makefile.am:
22620         * gst/check/Makefile.am:
22621         * gst/elements/Makefile.am:
22622         * gst/indexers/Makefile.am:
22623         * gst/parse/Makefile.am:
22624         * libs/gst/controller/Makefile.am:
22625         * libs/gst/dataprotocol/Makefile.am:
22626         * examples/helloworld/helloworld.c: (event_loop):
22627           compile fixes, though it's not being compiled currently
22628
22629 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22630
22631         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
22632           Add some simple tests for the new taglist date API.
22633
22634 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22635
22636         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
22637         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
22638           Beautify 'last-message' output: print 'none' for buffer timestamps
22639           and durations if none is set; improve alignment with next messages.
22640
22641 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22642
22643         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
22644         * gst/gstpluginfeature.h:
22645         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
22646         * gst/gstregistry.h:
22647         * docs/gst/gstreamer-sections.txt:
22648           Add new API to check plugin feature version requirements.
22649
22650         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
22651           Some basic tests for the above.         
22652
22653 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22654
22655         * gst/gststructure.c: (gst_structure_to_string):
22656           guard against NULL printf - happens when for example
22657           a message structure with GstClock gets serialized
22658
22659 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
22660
22661         * gst/base/gstcollectpads.c: (gst_collectpads_event):
22662           Fix presumable copy'n'pasto.
22663
22664 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22665
22666         * gst/elements/gstfakesrc.h:
22667         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
22668         * gst/elements/gsttypefindelement.c:
22669           fix some signedness
22670         * gst/elements/gstfilesink.c: (gst_file_sink_render):
22671           I wonder if this could actually write +2GB files before
22672
22673 2005-10-13  Andy Wingo  <wingo@pobox.com>
22674
22675         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
22676         Fix Timmeke Waymans bug.
22677         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
22678         string of the proper length to gst_caps_from_string. There's a
22679         potential for, before this fix, that this could cause someone
22680         connecting over the network to cause a segfault if the payload is
22681         not NUL-terminated.
22682
22683 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
22684
22685         * docs/design/draft-push-pull.txt:
22686         * docs/design/part-overview.txt:
22687         * docs/random/TODO-pre-0.9:
22688         * docs/random/old/ChangeLog.gstreamer:
22689         * gst/base/gstpushsrc.c:
22690         * gst/gstclock.c:
22691           fixed typos
22692
22693 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22694
22695         * gst/glib-compat.c: (gst_flags_get_first_value):
22696         * gst/glib-compat.h:
22697         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
22698         (gst_value_compare_double), (gst_value_serialize_flags):
22699           GLib 2.6 g_flags_get_first_value has a bug that triggers an
22700           infinite loop
22701
22702 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22703
22704         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22705         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22706           fix up debugging
22707         * tools/gst-launch.c: (event_loop):
22708           print out clock nicely
22709
22710 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
22711
22712         * docs/gst/gstreamer-sections.txt:
22713         * gst/gsttaglist.h:
22714         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
22715         (gst_tag_list_get_date_index):
22716           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
22717           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
22718
22719 2005-10-13  Julien MOUTTE  <julien@moutte.net>
22720
22721         * gst/base/gstcollectpads.c: (gst_collectpads_event),
22722         (gst_collectpads_chain):
22723         * gst/base/gstcollectpads.h: Handle newsegment and store informations
22724         in CollectData.
22725
22726 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
22727
22728         * docs/gst/gstreamer-sections.txt:
22729         * gst/gst.c:
22730         * gst/gsterror.h:
22731         * tools/gst-inspect.c: (main):
22732         * tools/gst-launch.c: (main):
22733         * tools/gst-run.c: (main):
22734         * tools/gst-xmlinspect.c: (main):
22735           fix GOption context leaks
22736           doc fixes
22737
22738 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22739
22740         * gst/gstbus.c:
22741           use HAVE_UNISTD_H
22742         * win32/common/config.h:
22743           update config
22744         * win32/vs6/grammar.dsp:
22745         * win32/vs6/libgstelements.dsp:
22746         * win32/vs6/libgstreamer.dsp:
22747           update vs6 files
22748
22749 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22750
22751         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22752         * gst/base/gstbasesrc.c: (gst_base_src_query):
22753           fix more guint64<->gdouble conversions
22754
22755 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22756
22757         * Makefile.am:
22758           add win32-update target
22759         * win32/common/gstconfig.h:
22760         * win32/common/gstenumtypes.c:
22761         * win32/common/gstenumtypes.h:
22762         * win32/common/gstversion.h:
22763           add files that visual studio can't generate
22764
22765 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22766
22767         * Makefile.am:
22768           add a win32-update target
22769         * configure.ac:
22770
22771 2005-10-12  Wim Taymans  <wim@fluendo.com>
22772
22773         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22774         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
22775         * gst/gstelement.c: (gst_element_commit_state),
22776         (gst_element_set_state):
22777         Protect flags with proper lock.
22778         unref provided cached clock in dispose.
22779
22780 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
22781
22782         * gst/gst.c:
22783         * gst/gstminiobject.h:
22784         * gst/gstpad.h:
22785         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
22786           removed unused flags from miniobject
22787           doc fixes
22788
22789 2005-10-12  Wim Taymans  <wim@fluendo.com>
22790
22791         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22792         (gst_file_sink_event), (gst_file_sink_render):
22793         Flush before seeking.
22794
22795 2005-10-12  Andy Wingo  <wingo@pobox.com>
22796
22797         * gst/gst.c (gst_init_check): Ignore unknown options, as has
22798         always been the case.
22799
22800 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
22801
22802         * check/gst/gstbin.c: (GST_START_TEST):
22803         * docs/gst/gstreamer-sections.txt:
22804         * gst/base/gstbasesink.c: (gst_base_sink_init):
22805         * gst/base/gstbasesrc.c: (gst_base_src_init),
22806         (gst_base_src_get_range), (gst_base_src_check_get_range),
22807         (gst_base_src_start), (gst_base_src_stop):
22808         * gst/base/gstbasesrc.h:
22809         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
22810         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22811         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
22812         (bin_bus_handler):
22813         * gst/gstbin.h:
22814         * gst/gstbuffer.h:
22815         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
22816         * gst/gstbus.h:
22817         * gst/gstelement.c: (gst_element_is_locked_state),
22818         (gst_element_set_locked_state), (gst_element_commit_state),
22819         (gst_element_set_state):
22820         * gst/gstelement.h:
22821         * gst/gstindex.c: (gst_index_init):
22822         * gst/gstindex.h:
22823         * gst/gstminiobject.h:
22824         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
22825         (gst_object_set_parent):
22826         * gst/gstobject.h:
22827         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
22828         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
22829         * gst/gstpad.h:
22830         * gst/gstpadtemplate.h:
22831         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
22832         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
22833         * gst/gstpipeline.h:
22834         * gst/indexers/gstfileindex.c: (gst_file_index_load),
22835         (gst_file_index_commit):
22836         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
22837         * testsuite/pad/link.c: (gst_test_src_init),
22838         (gst_test_filter_init), (gst_test_sink_init):
22839         * testsuite/states/locked.c: (main):
22840           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
22841           moved bitshift from macro to enum definition
22842
22843 2005-10-12  Wim Taymans  <wim@fluendo.com>
22844
22845         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
22846         * gst/elements/gstfilesink.c: (gst_file_sink_event),
22847         (gst_file_sink_render):
22848         Some more debugging info.
22849
22850 2005-10-12  Wim Taymans  <wim@fluendo.com>
22851
22852         * docs/design/part-states.txt:
22853         * tools/gst-launch.c: (main):
22854         Some doc updates.
22855         Revert non-intentional change.
22856
22857 2005-10-12  Wim Taymans  <wim@fluendo.com>
22858
22859         * check/gst/gstbin.c: (GST_START_TEST):
22860         * check/gst/gstelement.c: (GST_START_TEST):
22861         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
22862         * check/gst/gstghostpad.c: (GST_START_TEST):
22863         * check/gst/gstpipeline.c: (GST_START_TEST):
22864         * check/pipelines/simple_launch_lines.c: (run_pipeline):
22865         * check/states/sinks.c: (GST_START_TEST):
22866         * gst/elements/gsttypefindelement.c: (stop_typefinding):
22867         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
22868         (gst_bin_remove_func), (gst_bin_get_state_func),
22869         (gst_bin_recalc_state), (gst_bin_change_state_func),
22870         (bin_bus_handler):
22871         * gst/gstelement.c: (gst_element_get_state_func),
22872         (gst_element_get_state), (gst_element_abort_state),
22873         (gst_element_commit_state), (gst_element_set_state),
22874         (gst_element_change_state), (gst_element_change_state_func):
22875         * gst/gstelement.h:
22876         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
22877         (gst_pipeline_provide_clock_func):
22878         * gst/gstutils.c: (gst_element_link_pads_filtered):
22879         * tools/gst-launch.c: (main):
22880         * tools/gst-typefind.c: (main):
22881         Use GstClockTime in _get_state() instead of GTimeVal.
22882         Remove old code in gstutils.c
22883
22884 2005-10-12  Andy Wingo  <wingo@pobox.com>
22885
22886         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
22887         removed.
22888
22889         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
22890         there is no task. Shouldn't affect any code, as nothing in our
22891         plugins checks this return value.
22892         (gst_pad_stop_task): Also take the stream lock if the pad has no
22893         task. Docs updated.
22894
22895 2005-10-12  Wim Taymans  <wim@fluendo.com>
22896
22897         * gst/gstpad.c: (pre_activate), (post_activate),
22898         (gst_pad_activate_pull), (gst_pad_activate_push):
22899         Cleanup activation code. Reset old state if
22900         activation failed.
22901
22902 2005-10-12  Wim Taymans  <wim@fluendo.com>
22903
22904         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22905         (gst_base_sink_change_state):
22906         No need to prerol after receiving EOS.
22907
22908         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
22909         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
22910         * gst/elements/gstidentity.c: (gst_identity_event):
22911         Print events more verbosely.
22912
22913 2005-10-12  Wim Taymans  <wim@fluendo.com>
22914
22915         * check/Makefile.am:
22916         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
22917         * check/states/sinks2.c:
22918         Moved sinks2 testcode in sinks check.
22919
22920         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
22921         (gst_bin_remove_func), (gst_bin_recalc_state),
22922         (gst_bin_change_state_func), (bin_bus_handler):
22923         Fix potential race condition when _get_state() iterated over an
22924         ASYNC element right before it posted a state completion.
22925
22926         * gst/gstclock.h:
22927         Do proper cast here.
22928
22929         * gst/gstevent.c: (gst_event_new_newsegment),
22930         (gst_event_parse_newsegment):
22931         A playback rate of 0.0 is not allowed.
22932
22933 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22934
22935         * win32/common/config.h:
22936         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
22937         (_trewinddir), (_ttelldir), (_tseekdir):
22938         * win32/common/dirent.h:
22939         * win32/common/gtchar.h:
22940         * win32/common/libgstbase.def:
22941         * win32/common/libgstreamer.def:
22942         * win32/vs6/grammar.dsp:
22943         * win32/vs6/gst_inspect.dsp:
22944         * win32/vs6/gst_launch.dsp:
22945         * win32/vs6/gstreamer.dsw:
22946         * win32/vs6/libgstbase.dsp:
22947         * win32/vs6/libgstelements.dsp:
22948         * win32/vs6/libgstreamer.dsp:
22949           Visual Studio 6 project files, and a new common directory.
22950           Phear.
22951
22952 2005-10-11  Wim Taymans  <wim@fluendo.com>
22953
22954         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22955         (gst_base_sink_do_sync), (gst_base_sink_query),
22956         (gst_base_sink_change_state):
22957         * gst/base/gstbasesink.h:
22958         Correctly parse newsegment info.
22959
22960 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22961
22962         * gst/gst.c: (init_post):
22963           split plugin paths correctly
22964
22965 2005-10-11  Wim Taymans  <wim@fluendo.com>
22966
22967         * check/gst/gstevent.c: (GST_START_TEST):
22968         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22969         (gst_base_sink_change_state):
22970         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
22971         * gst/base/gstbasetransform.c: (gst_base_transform_event):
22972         * gst/elements/gstfilesink.c: (gst_file_sink_event):
22973         * gst/gstevent.c: (gst_event_new_newsegment),
22974         (gst_event_parse_newsegment):
22975         * gst/gstevent.h:
22976         Added extra flag to newsegment for future API freeze.
22977         Updated check and base elements.
22978
22979 2005-10-11  Julien MOUTTE  <julien@moutte.net>
22980
22981         * gst/base/gstcollectpads.c: (gst_collectpads_init),
22982         (gst_collectpads_add_pad), (gst_collectpads_pop),
22983         (gst_collectpads_event), (gst_collectpads_chain):
22984         * gst/base/gstcollectpads.h: Handle EOS correctly.
22985
22986 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22987
22988         * tools/gst-launch.c: (main):
22989           more null protecting
22990
22991 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22992
22993         * gst/gst-i18n-lib.h:
22994           check for ENABLE_NLS, not GETTEXT_PACKAGE
22995         * gst/gstregistry.c: (gst_registry_add_plugin),
22996         (gst_registry_scan_path_level),
22997         (_gst_registry_remove_cache_plugins):
22998           protect possibly NULL strings
22999         * gst/parse/types.h:
23000           config.h already included before
23001         * tools/gst-inspect.c: (main):
23002           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
23003           check for ENABLE_NLS, not GETTEXT_PACKAGE
23004         * tools/gst-launch.c: (main):
23005           check for ENABLE_NLS, not GETTEXT_PACKAGE
23006
23007 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23008
23009         * configure.ac:
23010           if we don't have glib, fail before testing 2.8
23011         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
23012           fix a leak, should fix plugins-base testsuite
23013
23014 2005-10-11  Andy Wingo  <wingo@pobox.com>
23015
23016         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
23017         take the mode we're going to as an arg. Go head and set the mode
23018         and flushing flags now, so that if the activate function starts a
23019         thread all the flags will be in the right state.
23020         (post_activate): Renamed also. Just handle making sure streaming
23021         finishes for the deactivation case, and setting the deactivated
23022         mode.
23023         (gst_pad_set_active): Complain loudly if deactivation fails.
23024         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
23025         (gst_pad_activate_push): Adapt to pre/post_activate changes,
23026         remove the terrible hack.
23027
23028 2005-10-11  Wim Taymans  <wim@fluendo.com>
23029
23030         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23031         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
23032         (gst_bin_recalc_state), (gst_bin_change_state_func),
23033         (gst_bin_dispose), (bin_bus_handler):
23034         * gst/gstbin.h:
23035         Prepare to make current EOS message queue more generic.
23036         Fix some typos.
23037
23038         * gst/gstevent.c: (gst_event_new_newsegment),
23039         (gst_event_parse_newsegment):
23040         * gst/gstevent.h:
23041         Rename base to stream_time.
23042
23043         * gst/gstmessage.h:
23044         Fix typo in docs.
23045
23046 2005-10-11  Wim Taymans  <wim@fluendo.com>
23047
23048         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
23049         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
23050         (gst_bin_change_state_func), (bin_bus_handler):
23051         * gst/gstbin.h:
23052         Work on proper clock selection.
23053
23054 2005-10-11  Edward Hervey  <edward@fluendo.com>
23055
23056         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
23057         * libs/gst/controller/gstcontroller.h:
23058         Added GList* version of _remove_properties() in order to be able to wrap
23059         it in bindings.
23060
23061 2005-10-11  Wim Taymans  <wim@fluendo.com>
23062
23063         * docs/design/part-states.txt:
23064         Some more docs.
23065
23066         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
23067         (gst_bin_change_state_func), (bin_bus_handler):
23068         Doc updates. Don't distribute the same clock over and over again.
23069
23070         * gst/gstclock.c:
23071         * gst/gstclock.h:
23072         Doc updates.
23073
23074         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
23075         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
23076         (gst_pad_send_event):
23077         * gst/gstpad.h:
23078         Make probe emission threadsafe again.
23079         Register quarks and move _get_name() from utils.
23080         Doc updates.
23081
23082         * gst/gstpipeline.c: (gst_pipeline_class_init),
23083         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23084         Only redistribute the clock of it changed.
23085
23086         * gst/gstsystemclock.h:
23087         Doc updates. 
23088
23089         * gst/gstutils.c:
23090         * gst/gstutils.h:
23091         Moved the _flow_get_name() to GstPad.
23092
23093 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23094
23095         * check/gst-libs/gdp.c: (GST_START_TEST):
23096         * check/gst/gstcaps.c: (GST_START_TEST):
23097         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
23098         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
23099         (gst_dp_packet_from_caps):
23100           fix more valgrind warnings before turning up the heat
23101
23102 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23103
23104         * gst/parse/grammar.y:
23105           some cleanup before the hacking
23106
23107 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23108
23109         * gst/base/gstbasesrc.c: (gst_base_src_query):
23110           use conversions
23111         * gst/gstutils.c: (gst_guint64_to_gdouble),
23112         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
23113         * gst/gstutils.h:
23114           externalize, basesrc uses it
23115           obviously the implementation needs testing
23116
23117 2005-10-10  Wim Taymans  <wim@fluendo.com>
23118
23119         * tests/sched/Makefile.am:
23120         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
23121         (make_pipeline3), (make_pipeline4), (print_elem), (main):
23122
23123 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23124
23125         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
23126           apparently converting from guint64 to double is not implemented
23127           on MSVC
23128
23129 2005-10-10  Wim Taymans  <wim@fluendo.com>
23130
23131         * check/Makefile.am:
23132         * check/generic/states.c: (GST_START_TEST):
23133         * check/gst/gstbin.c: (GST_START_TEST):
23134         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23135         * check/states/sinks.c: (GST_START_TEST):
23136         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
23137         (main):
23138         Check fixes, use API as stated in design docs, remove hacks.
23139
23140         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23141         (gst_base_sink_change_state):
23142         Catch stopping our task while we're shutting down.
23143
23144         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
23145         (gst_bin_remove_func), (gst_bin_get_state_func),
23146         (gst_bin_recalc_state), (gst_bin_change_state_func),
23147         (bin_bus_handler):
23148         * gst/gstbin.h:
23149         * gst/gstelement.c: (gst_element_init),
23150         (gst_element_get_state_func), (gst_element_abort_state),
23151         (gst_element_commit_state), (gst_element_lost_state),
23152         (gst_element_set_state), (gst_element_change_state),
23153         (gst_element_change_state_func):
23154         * gst/gstelement.h:
23155         New state change algorithm (see #318116)
23156
23157         * gst/gstpipeline.c: (gst_pipeline_class_init),
23158         (gst_pipeline_init), (gst_pipeline_set_property),
23159         (gst_pipeline_get_property), (do_pipeline_seek),
23160         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23161         * gst/gstpipeline.h:
23162         Remove crude state change hacks.
23163
23164         * gst/gstutils.h:
23165         Remove crude hacks.
23166
23167         * tools/gst-launch.c: (main):
23168         Fixes for state change. Needs some more work to fully use the
23169         new stuff.
23170
23171 2005-10-10  Andy Wingo  <wingo@pobox.com>
23172
23173         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
23174
23175         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
23176         this flag, but it's not even in GLib 2.6. Odd. Hack around the
23177         issue.
23178
23179 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23180
23181         * gst/gstiterator.c: (gst_iterator_new):
23182           Fix my previous commit: GTypes passed to gst_iterator_new()
23183           can be fundamental types.
23184
23185 2005-10-10  Wim Taymans  <wim@fluendo.com>
23186
23187         * gst/gstelement.c: (gst_element_iterate_pad_list),
23188         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
23189         (gst_element_iterate_sink_pads):
23190         Use src/sink pads lists for the respective iterators instead
23191         of filtering.
23192
23193 2005-10-10  Andy Wingo  <wingo@pobox.com>
23194
23195         Merged in popt removal + GOption addition patch from Ronald, bug
23196         #169772.
23197
23198         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
23199         GstElement macros around, remove popt-related symbols, add goption
23200         stuff.
23201
23202         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
23203         
23204         * docs/gst/Makefile.am:
23205         * docs/libs/Makefile.am: No POPT_CFLAGS.
23206         
23207         * examples/manual/Makefile.am:
23208         * docs/manual/basics-init.xml: Doc updates with an example.
23209         
23210         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
23211         (gst_init), (parse_one_option), (parse_goption_arg):
23212         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
23213         bit of hand merging and debugging to get the GOption stuff working
23214         tho.
23215         
23216         * tests/Makefile.am:
23217         * tools/Makefile.am:
23218         * tools/gst-inspect.c: (main):
23219         * tools/gst-launch.c: (main):
23220         * tools/gst-run.c: (main):
23221         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
23222
23223 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23224
23225         * gst/gstiterator.c: (gst_iterator_new):
23226           Add assertions to make sure passed GType is likely to really
23227           be a GType (as the compiler won't catch it if the size and
23228           GType arguments get mixed up, see #318447).
23229
23230 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
23231
23232         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23233
23234         * gst/gstbin.c: (gst_bin_iterate_sorted):
23235           Pass GType and size arguments to gst_iterator_new() in the right
23236           order (maybe we should make _new() take the GType as first argument
23237           just like _new_list()?) (#318447).
23238           
23239
23240 2005-10-10  Wim Taymans  <wim@fluendo.com>
23241
23242         * gst/gstelement.c: (gst_element_finalize):
23243         And free the GStaticRecMutex too
23244
23245 2005-10-10  Andy Wingo  <wingo@pobox.com>
23246
23247         * gst/gstelement.c (gst_element_init, gst_element_finalize):
23248         Allocate and free the mutex properly.
23249
23250         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
23251         New macros.
23252         (GstElement): The state_lock is now recursive. Rebuild your
23253         plugins, suckers. Old macros adapted.
23254
23255         * docs/gst/gstreamer-sections.txt: Doc updates.
23256
23257         * gst/gstutils.h:
23258         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
23259         (g_static_rec_cond_wait): Ported from state changes patch, while
23260         we wait on bug #317802 to be solved in a well-distributed GLib.
23261
23262         * gst/gstelement.c (gst_element_change_state_func): Renamed from
23263         gst_element_change_state, variable name changes.
23264         (gst_element_change_state): Split out of gst_element_set_state in
23265         preparation for the state change merge. Doesn't pay attention to
23266         the 'transition' argument.
23267         (gst_element_set_state): Updates, hopefully purely cosmetic.
23268         (gst_element_sync_state_with_parent): MT-safety. Ported from the
23269         state change patch.
23270         (gst_element_get_state_func): Renamed from get_state, cosmetic
23271         changes.
23272
23273 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23274
23275         * gst/elements/gstelements.c:
23276         * win32/GStreamer.vcproj:
23277         * win32/config.h:
23278         * win32/dirent.c: (_tseekdir):
23279         * win32/gst-inspect.vcproj:
23280         * win32/gst-launch.vcproj:
23281         * win32/gstconfig.h:
23282         * win32/gstelements.vcproj:
23283         * win32/gstenumtypes.c: (gst_object_flags_get_type):
23284         * win32/gstreamer.def:
23285         * win32/msvc71.sln:
23286           updates for the win32 build (patch from Sebastien Moutte)
23287
23288 2005-10-10  Andy Wingo  <wingo@pobox.com>
23289
23290         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
23291         gst_bin_get_state, cleaned up (but no logic changes).
23292         (bin_element_is_sink): Comment updates.
23293         (sink_iterator_filter): Remove needless cast.
23294         (gst_bin_iterate_sinks): Doc update.
23295         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
23296         cleaned up (but no logic changes).
23297
23298         * check/states/sinks.c (test_src_sink): Cleanups from the state
23299         change patch.
23300         (test_livesrc_sink): Sync on the state.
23301
23302         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
23303         the state change patch.
23304
23305         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
23306         change patch.
23307
23308         * check/gst/gstbin.c: Merge in some style fixes and additional
23309         checks from Wim's state change patch.
23310
23311 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23312
23313         * gst/base/gsttypefindhelper.c: (helper_find_peek),
23314         (gst_type_find_helper):
23315           Check whether we have the requested data already in our list of
23316           cached buffers before pulling a new buffer; also make the buffer
23317           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
23318
23319 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23320
23321         * gst/gstcaps.c:
23322         * gst/gstevent.c:
23323           doc updates
23324         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23325           don't use long long, it's not portable.  Replacing with
23326           gint64 seems to work; let's hope no skeletons fall out of the closet.
23327
23328 2005-10-10  Andy Wingo  <wingo@pobox.com>
23329
23330         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
23331
23332 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
23333
23334         * docs/gst/gstreamer-sections.txt:
23335         * gst/gstevent.c:
23336         * gst/gstevent.h:
23337         * gst/gstinfo.c:
23338         * gst/gstinfo.h:
23339         * gst/gstmessage.c: (gst_message_parse_state_changed):
23340         * gst/gstpad.c:
23341         * gst/gstpad.h:
23342           more docs, fix compilation
23343
23344 2005-10-09  Philippe Khalaf <burger@speedy.org>
23345         * gst/gstmessage.c:
23346           Fixed a few forgotten variables on previous commit
23347
23348 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
23349
23350         * gst/base/gsttypefindhelper.c: (helper_find_peek):
23351           Fix evil typefind crasher: getrange() might return a short
23352           buffer at the end of a file, but gst_type_find_peek() must
23353           either return the full data as requested or NULL, but
23354           never a short buffer.
23355
23356 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23357
23358         * gst/gstmessage.c: (gst_message_new_state_changed),
23359         (gst_message_parse_state_changed):
23360         * gst/gstmessage.h:
23361           don't use "new", it's a C++ keyword
23362
23363 2005-10-08  Wim Taymans  <wim@fluendo.com>
23364
23365         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
23366         * gst/gstelement.c: (gst_element_post_message):
23367         * gst/gstpipeline.c: (gst_pipeline_change_state):
23368         Small docs and debug updates.
23369
23370 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23371
23372         * docs/gst/gstreamer-sections.txt:
23373         * gst/gstelementfactory.c:
23374         * gst/gstevent.c:
23375         * gst/gsttaglist.c:
23376           more docs
23377
23378 2005-10-08  Wim Taymans  <wim@fluendo.com>
23379
23380         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
23381         (gst_bin_dispose), (bin_bus_handler):
23382         Fix typos, add comments.
23383         Clear EOS list when going to PAUSED from any direction and do it
23384         in a threadsafe way.
23385         Get base time in a threadsafe way too.
23386         Fix confusing debug in the change_state function.
23387         Various other small cleanups.
23388         
23389         * gst/gstelement.c: (gst_element_post_message):
23390         Fix very verbose bus posting code.
23391
23392         * gst/gstpipeline.c: (gst_pipeline_class_init),
23393         (gst_pipeline_set_property), (gst_pipeline_get_property),
23394         (gst_pipeline_change_state):
23395         Small ARG_ -> PROP_ cleanup
23396
23397 2005-10-08  Wim Taymans  <wim@fluendo.com>
23398
23399         * gst/gstbin.c: (is_eos), (bin_bus_handler):
23400         Do a less CPU demanding EOS check because we can.
23401
23402 2005-10-08  Wim Taymans  <wim@fluendo.com>
23403
23404         * libs/gst/dataprotocol/dataprotocol.c:
23405         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
23406         (gst_dp_packet_from_event):
23407         * libs/gst/dataprotocol/dataprotocol.h:
23408         * libs/gst/dataprotocol/dp-private.h:
23409         It's about time we bump the version number.
23410         Since event types don't fit in the guint8 anymore describing
23411         the payload type, make payload type 16 bits wide.
23412
23413 2005-10-08  Wim Taymans  <wim@fluendo.com>
23414
23415         * docs/design/part-TODO.txt:
23416         * docs/design/part-clocks.txt:
23417         * docs/design/part-events.txt:
23418         * docs/design/part-gstbin.txt:
23419         * docs/design/part-gstelement.txt:
23420         * docs/design/part-gstpipeline.txt:
23421         * docs/design/part-live-source.txt:
23422         * docs/design/part-messages.txt:
23423         * docs/design/part-overview.txt:
23424         * docs/design/part-states.txt:
23425         Many doc updates.
23426
23427 2005-10-08  Wim Taymans  <wim@fluendo.com>
23428
23429         * gst/gstevent.c:
23430         * gst/gstevent.h:
23431         Fix event quark registration.
23432         Add some space between events so we can insert them in the
23433         right groups.
23434
23435 2005-10-08  Wim Taymans  <wim@fluendo.com>
23436
23437         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23438         (gst_base_sink_handle_buffer):
23439         Better log message.
23440
23441         * gst/gstbus.h:
23442         * gst/gstelement.h:
23443         More docs.
23444
23445         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23446         (gst_queue_set_property), (gst_queue_get_property):
23447         * gst/gstqueue.h:
23448         Remove old unused properties.
23449
23450 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23451         * docs/gst/gstreamer-sections.txt:
23452         * gst/gstmessage.c:
23453         * gst/gstmessage.h:
23454         * gst/gstminiobject.c:
23455         * gst/gstminiobject.h:
23456         * gst/gstobject.h:
23457         * gst/gstpad.h:
23458         * gst/gstutils.h:
23459           lots of new docs and doc fixes
23460
23461 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23462
23463         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
23464         * gst/gstplugin.h:
23465         * gst/gstregistry.c: (gst_registry_lookup_locked),
23466         (gst_registry_scan_path_level):
23467         * gst/gstregistryxml.c: (load_plugin):
23468           Only ever load one plugin for a given plugin basename.
23469           This ensures correct overriding of GST_PLUGIN_PATH over
23470           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
23471           system installed plugins.
23472
23473 2005-10-08  Wim Taymans  <wim@fluendo.com>
23474
23475         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23476         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
23477         Prepare for doing QOS.
23478
23479 2005-10-08  Wim Taymans  <wim@fluendo.com>
23480
23481         * check/gst/gstbin.c: (GST_START_TEST):
23482         * check/pipelines/cleanup.c: (GST_START_TEST):
23483         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23484         Allow new clock message too.
23485
23486 2005-10-08  Wim Taymans  <wim@fluendo.com>
23487
23488         * gst/gstmessage.c: (gst_message_new_error),
23489         (gst_message_new_warning), (gst_message_new_tag),
23490         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23491         (gst_message_new_clock_lost), (gst_message_new_new_clock),
23492         (gst_message_new_segment_start), (gst_message_new_segment_done),
23493         (gst_message_parse_state_changed),
23494         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
23495         (gst_message_parse_new_clock):
23496         * gst/gstmessage.h:
23497         Also carry the clock in question.
23498
23499 2005-10-08  Wim Taymans  <wim@fluendo.com>
23500
23501         * gst/gstmessage.c: (gst_message_new_custom),
23502         (gst_message_new_eos), (gst_message_new_error),
23503         (gst_message_new_warning), (gst_message_new_tag),
23504         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23505         (gst_message_new_new_clock), (gst_message_new_segment_start),
23506         (gst_message_new_segment_done), (gst_message_parse_state_changed),
23507         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
23508         * gst/gstmessage.h:
23509         Clean up.
23510         Added clock related messages.
23511
23512         * gst/gstpipeline.c: (gst_pipeline_change_state):
23513         Post message when the clock changed.
23514
23515         * tools/gst-launch.c: (event_loop):
23516         Print new clock.
23517
23518 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
23519
23520         * tools/gst-inspect.c: (print_element_properties_info):
23521           Can't pass NULL strings to g_print() on windows.
23522
23523 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23524
23525         * docs/Makefile.am:
23526         * docs/gst/Makefile.am:
23527         * docs/gst/gstreamer-docs.sgml:
23528         * docs/gst/running.xml:
23529         * docs/version.entities.in:
23530           add a chapter on running GStreamer.
23531           document GST_DEBUG and GST_PLUGIN* env vars
23532
23533 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23534
23535         * Makefile.am:
23536           remove include dir
23537         * configure.ac:
23538           remove PLUGINS_BUILDDIR stuff
23539         * gst/gst.c: (init_post):
23540           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
23541         * idiottest.mak:
23542           remove, it was condescending and not needed
23543
23544 2005-10-08  Wim Taymans  <wim@fluendo.com>
23545
23546         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
23547         (gst_base_sink_handle_object), (gst_base_sink_event),
23548         (gst_base_sink_wait), (gst_base_sink_handle_event),
23549         (gst_base_sink_change_state):
23550         * gst/base/gstbasesink.h:
23551         Repost EOS message while going to PLAYING if still EOS.
23552         Make sure that when receiving a FLUSH_START we don't attempt
23553         to sync on the clock anymore.
23554
23555 2005-10-08  Wim Taymans  <wim@fluendo.com>
23556
23557         * tools/gst-launch.c: (event_loop):
23558         Better message printout.
23559
23560 2005-10-08  Wim Taymans  <wim@fluendo.com>
23561
23562         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
23563         (gst_bin_child_proxy_get_children_count):
23564         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
23565         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
23566         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
23567         (gst_child_proxy_set_valist):
23568         * gst/parse/grammar.y:
23569         Make ChildProxy threadsafe and fix mem leaks.
23570
23571 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23572
23573         * gst/gst.c: (init_post):
23574           debug the GST_PLUGIN_ env vars
23575
23576 2005-10-08  Wim Taymans  <wim@fluendo.com>
23577
23578         * check/gst/gstbin.c: (GST_START_TEST):
23579         * check/gst/gstmessage.c: (GST_START_TEST):
23580         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
23581         * gst/gstelement.c: (gst_element_commit_state),
23582         (gst_element_lost_state):
23583         * gst/gstmessage.c: (gst_message_new_state_changed),
23584         (gst_message_parse_state_changed):
23585         * gst/gstmessage.h:
23586         * tools/gst-launch.c: (event_loop):
23587         Added extra field to STATE_CHANGE message with the pending
23588         state, which will be different from the new state soon.
23589
23590 2005-10-08  Wim Taymans  <wim@fluendo.com>
23591
23592         * gst/gstbus.c: (gst_bus_pop):
23593         * gst/gstclock.c:
23594         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
23595         Small cleanups and doc updates.
23596
23597 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23598
23599         * gst/gst.c: (init_pre):
23600         * gst/gstbin.c: (gst_bin_add_func):
23601           log distributing clocks and base time
23602         * gst/gstregistry.c: (gst_registry_add_plugin),
23603         (gst_registry_scan_path_level), (gst_registry_scan_path):
23604           clean up the debugging output a little
23605         * gst/gstutils.c: (gst_element_state_get_name):
23606           warn about a memleak (I've actually seen this be used, though
23607           it was probably a bug)
23608
23609 2005-10-07  Wim Taymans  <wim@fluendo.com>
23610
23611         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23612         (gst_base_src_init), (gst_base_src_default_newsegment),
23613         (gst_base_src_newsegment), (gst_base_src_do_seek),
23614         (gst_base_src_loop), (gst_base_src_start):
23615         * gst/base/gstbasesrc.h:
23616         Make the newsegment event customizable by subclasses.
23617
23618 2005-10-07  Wim Taymans  <wim@fluendo.com>
23619
23620         * gst/gstevent.c: (gst_event_new_buffersize),
23621         (gst_event_parse_buffersize):
23622         * gst/gstevent.h:
23623         New event for future idea.
23624
23625 2005-10-07  Andy Wingo  <wingo@pobox.com>
23626
23627         * gst/gstelement.c (gst_element_post_message): Doc update.
23628
23629         * docs/gst/gstreamer-sections.txt: Update.
23630
23631         * gst/gstmessage.c (gst_message_new_application): Made into a
23632         function like honest API calls.
23633         (gst_message_new_element): New message type.
23634
23635         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
23636
23637         * check/elements/fakesrc.c (test_no_preroll): New check, checks
23638         that setting a live fakesrc to PAUSED returns NO_PREROLL both
23639         times.
23640
23641         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
23642         NO_PREROLL from gst_element_change_state to fall through.
23643
23644 2005-10-07  Wim Taymans  <wim@fluendo.com>
23645
23646         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
23647         (gst_ghost_pad_do_activate_push):
23648         Activating a ghostpad with no internal pad in push mode
23649         is ok.
23650
23651 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
23652
23653         * gst/gstobject.h:
23654           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
23655           Fixes compilation on Windows.
23656
23657 2005-10-07  Michael Smith <msmith@fluendo.com>
23658
23659         * tools/gst-inspect.c:
23660           Print out feature and plugin count at the end when printing out
23661           all features.
23662
23663 2005-10-04  Michael Smith <msmith@fluendo.com>
23664
23665         * gst/gsterror.c: (_gst_stream_errors_init):
23666           Add another error string used in a few existing plugins.
23667
23668         * gst/gstplugin.c:
23669         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
23670         * tools/gst-inspect.c: (print_element_info):
23671           When a feature disappears from a plugin (and the feature exists in
23672           the cached registry file), things went horribly wrong. This isn't a
23673           complete fix, we should actually be removing the 'missing' features
23674           from the features list when we load the actual plugin. That's not
23675           yet implemented. 
23676
23677 2005-10-04  Johan Dahlin  <johan@gnome.org>
23678
23679         * check/gst/gstiterator.c: (GST_START_TEST):
23680         * gst/gstbin.c: (gst_bin_iterate_elements),
23681         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
23682         * gst/gstelement.c: (gst_element_iterate_pads):
23683         * gst/gstformat.c: (gst_format_iterate_definitions):
23684         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
23685         (gst_iterator_new_list), (gst_iterator_filter):
23686         * gst/gstiterator.h:
23687         * gst/gstquery.c: (gst_query_type_iterate_definitions):
23688         Add a GType to GstIterator, update callsites and tests.
23689
23690 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23691
23692         * gst/gstpad.c: (gst_pad_event_default_dispatch):
23693           give events a chance to be handled by event probes when the pad
23694           is not linked
23695
23696 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23697
23698         * gst/gstevent.c: (gst_event_type_get_name),
23699         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
23700         * gst/gstevent.h:
23701           add string representations for event types
23702
23703 2005-10-06  Wim Taymans  <wim@fluendo.com>
23704
23705         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
23706         Don't use NULL pointers.
23707
23708 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23709
23710         * gst/gst_private.h:
23711         * gst/gstbus.c:
23712         * gst/gstelement.c:
23713         * gst/gstinfo.c:
23714         * gst/gstpluginfeature.c:
23715           widen the debug category in output to fit the biggest one we have
23716           add a bus category and use it
23717           play with the colors
23718           fix up some categories
23719
23720 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23721
23722         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
23723           add push activation of sink ghost pads.
23724           Andye, please verify
23725
23726 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
23727
23728         * gst/gstutils.c: (gst_element_link_pads):
23729           fix a bug in the case where neither element has a pad
23730         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
23731           add a test for that case
23732
23733 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
23734
23735         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
23736           emit have-data before checking for peers.  This allows
23737           for probe handlers to connect elements.  This helps autopluggers.
23738         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
23739         (gst_pad_suite):
23740           add six checks, linked/unlinked with no/true/false probe
23741
23742 2005-10-04  Wim Taymans  <wim@fluendo.com>
23743
23744         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
23745         (gst_fake_sink_event), (gst_fake_sink_preroll),
23746         (gst_fake_sink_render), (gst_fake_sink_change_state):
23747         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
23748         (gst_fake_src_get_property), (gst_fake_src_create),
23749         (gst_fake_src_stop):
23750         * gst/elements/gstidentity.c: (gst_identity_stop):
23751         Protect last_message with lock.
23752
23753 2005-10-04  Edward Hervey  <edward@fluendo.com>
23754
23755         * gst/gstformat.h: 
23756         Added precision in the comments for GST_FORMAT_DEFAULT
23757
23758 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
23759
23760         * tools/gst-launch.c: (main):
23761           Don't try to run erroneous pipelines.
23762
23763 2005-10-04  Julien MOUTTE  <julien@moutte.net>
23764
23765         * gst/gstbus.c: We don't need this header.
23766
23767 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
23768
23769         * configure.ac:
23770           back to development
23771
23772 === release 0.9.3 ===
23773
23774 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
23775
23776         * README:
23777         * configure.ac:
23778           Releasing 0.9.3, "Unregistered"
23779
23780 2005-10-03  Andy Wingo  <wingo@pobox.com>
23781
23782         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
23783         whereby calling a pad's activatepush() function can start a thread
23784         that starts to push or pull before the pad gets the FLUSHING flag
23785         unset. Hack around it by holding the stream lock until the flag is
23786         set. Need to replace this with a proper solution. Together with
23787         the ghost pad fixes, this fixes mp3 playing/tagreading.
23788
23789         * docs/design/part-gstghostpad.txt: Add a note about activation of
23790         proxy pads outside of ghost pads.
23791
23792         * gst/gstghostpad.c: Implement the ghost pad activation design.
23793
23794 2005-10-02  Andy Wingo  <wingo@pobox.com>
23795
23796         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
23797         It is volatile, after all.
23798
23799         * docs/design/part-gstghostpad.txt: Flesh out activation with
23800         ghost pads.
23801
23802         * gst/base/gstbasesrc.c (gst_base_src_init): Use
23803         GST_DEBUG_FUNCPTR.
23804
23805 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
23806
23807         * configure.ac:
23808           Fix (unused) AM_CONDITIONAL tests.
23809
23810 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
23811
23812         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23813
23814         * gst/gstutils.c: (gst_pad_query_convert):
23815           Add assertion that makes sure src_val is >=0, just like
23816           gst_query_new_convert() has. (#315895)
23817
23818 2005-09-30  Edward Hervey  <edward@fluendo.com>
23819
23820         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
23821         Let's not iterate pads we're not interested in, it avoids getting 
23822         sky-high refcounts on sinkpad.
23823
23824 2005-09-30  Wim Taymans  <wim@fluendo.com>
23825
23826         * gst/gstelement.c: (gst_element_set_state),
23827         (gst_element_change_state):
23828         Small tweak, element in ASYNC remains ASYNC.
23829
23830 2005-09-30  Wim Taymans  <wim@fluendo.com>
23831
23832         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
23833         Only error is an error.
23834
23835         * gst/gstbin.c: (gst_bin_change_state):
23836         Better debugging.
23837
23838         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
23839         Also call pad_block in pad alloc.
23840
23841         * gst/gstutils.c: (gst_flow_get_name):
23842         Better debugging.
23843
23844 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
23845
23846         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23847         (gst_base_src_get_range):
23848           Fix documentation typos. Add some more debug info.
23849
23850 2005-09-29  David Schleef  <ds@schleef.org>
23851
23852         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
23853           more end-user friendly.
23854         * tools/gst-inspect.c: (main): Check if command-line argument is
23855           a file and attempt to load that file as a plugin.
23856
23857 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
23858
23859         * check/gst/gstbin.c:
23860         * check/states/sinks.c:
23861           fix tests for the new warning
23862         * check/gst/gstpipeline.c:
23863           add a test for pipeline and bus interaction
23864         * gst/gstelement.c:
23865           elements should be NULL if they get disposed; add a warning if not
23866
23867 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
23868
23869         * gst/gstobject.c:
23870           for 2.6 refcounting, make debug log more correct by printing
23871           the actual refcounts at the time of swap (Wim)
23872
23873 2005-09-29  Andy Wingo  <wingo@pobox.com>
23874
23875         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
23876         removes signal watches previously added via
23877         gst_bus_add_signal_watch.
23878         (gst_bus_add_signal_watch): Don't return the source id, just store
23879         it on the bus if there wasn't an id already.
23880
23881         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
23882         add_signal_watch and remove_signal_watch.
23883
23884 2005-09-29  Edward Hervey  <edward@fluendo.com>
23885
23886         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
23887         Better if we actually iterate the list :)
23888
23889 2005-09-29  Wim Taymans  <wim@fluendo.com>
23890
23891         * check/gst/gstbin.c: (GST_START_TEST):
23892         Change for new bus API.
23893
23894         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
23895         (send_messages), (GST_START_TEST), (gstbus_suite):
23896         Change for new bus signal API.
23897
23898         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
23899         (gst_bus_source_prepare), (gst_bus_source_check),
23900         (gst_bus_create_watch), (gst_bus_add_watch_full),
23901         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
23902         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
23903         * gst/gstbus.h:
23904         Remove support for multiple GSources operating on different
23905         message types as it is too complex and unneeded when using
23906         signals.
23907         Added support for receiving signals from the bus.
23908
23909 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
23910
23911         * docs/libs/tmpl/gstdataprotocol.sgml:
23912         * docs/manual/advanced-dataaccess.xml:
23913         * gst/elements/gstcapsfilter.c:
23914         * gst/gstutils.c:
23915           rename filter-caps to caps property
23916
23917 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
23918
23919         * gst/gstvalue.c: (gst_value_deserialize_fraction):
23920           More robust fraction string parsing.
23921
23922         * docs/pwg/appendix-porting.xml:
23923           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
23924
23925 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
23926
23927         * gst/gstcaps.c: (gst_caps_do_simplify):
23928           Thou shalt not free a structure and then continue using it
23929           in the next loop iteration.
23930
23931         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
23932         (gst_caps_suite):
23933           Add test case for caps simplification.
23934
23935 2005-09-29  Wim Taymans  <wim@fluendo.com>
23936
23937         * check/gst/gstbin.c: (GST_START_TEST):
23938         Oops.
23939
23940 2005-09-29  Wim Taymans  <wim@fluendo.com>
23941
23942         * check/gst/gstbin.c: (GST_START_TEST):
23943         Add bus to bin.
23944
23945         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
23946         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
23947         (find_element), (gst_bin_sort_iterator_next),
23948         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
23949         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
23950         (gst_bin_change_state), (gst_bin_dispose):
23951         A bin does not have a bus, it gets the bus from the parent.
23952
23953         * gst/gstelement.c: (gst_element_requires_clock),
23954         (gst_element_provides_clock), (gst_element_is_indexable),
23955         (gst_element_is_locked_state), (gst_element_change_state),
23956         (gst_element_set_bus_func):
23957         Small cleanups.
23958
23959         * gst/gstpipeline.c: (gst_pipeline_class_init),
23960         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
23961         The pipeline provides a bus.
23962
23963 2005-09-28  Johan Dahlin  <johan@gnome.org>
23964
23965         * gst/gstmessage.c (gst_message_parse_state_changed): Use
23966         gst_structure_get_enum instead of gst_structure_get_int
23967
23968         * gst/gststructure.c (gst_structure_get_enum): Impl.
23969
23970         * gst/gststructure.h (gst_structure_get_enum): Add
23971
23972         * docs/gst/gstreamer-sections.txt: Ditto
23973
23974         * gst/gstmessage.c (gst_message_new_state_changed): Use
23975         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
23976         which does introspection.
23977         Reviewed by Christian Schaller
23978
23979 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
23980
23981         * gst/gstinfo.c: (gst_debug_log_default):
23982           don't do dummy g_strdup()s
23983         * libs/gst/controller/gstcontroller.c:
23984         (on_object_controlled_property_changed),
23985         (gst_controlled_property_new), (gst_controller_new_valist),
23986         (gst_controller_new_list),
23987         (gst_controller_remove_properties_valist), (gst_controller_set),
23988         (gst_controller_get), (gst_controller_sync_values),
23989         (gst_controller_get_value_array), (_gst_controller_class_init),
23990         (gst_controller_get_type):
23991         * libs/gst/controller/gstcontroller.h:
23992         * libs/gst/controller/gstinterpolation.c:
23993         (gst_controlled_property_find_timed_value_node):
23994           convert // to /**/ comments
23995
23996 2005-09-28  Wim Taymans  <wim@fluendo.com>
23997
23998         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
23999         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
24000         (gst_bus_sync_signal_handler):
24001         * gst/gstbus.h:
24002         Added async-message and sync-message signals to the bus.
24003         Added helper BusFunc to emit signals for all posted messages.
24004
24005         * gst/gstmessage.c: (gst_message_type_get_name),
24006         (gst_message_type_to_quark), (gst_message_get_type):
24007         * gst/gstmessage.h:
24008         Register quarks for message names.
24009
24010 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
24011
24012         * docs/libs/gstreamer-libs-sections.txt:
24013         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
24014         (gst_controller_new_list):
24015         * libs/gst/controller/gstcontroller.h:
24016           added another constructor for language bindings
24017
24018 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
24019
24020         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
24021           add another check
24022         * gst/gstbus.c:
24023           add some doc
24024         * gst/gstinfo.c: (_gst_debug_init):
24025           slightly more readable color for refcount debugging
24026
24027 2005-09-28  Wim Taymans  <wim@fluendo.com>
24028
24029         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
24030         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
24031         (find_element), (gst_bin_sort_iterator_next),
24032         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24033         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24034         (gst_bin_change_state), (gst_bin_dispose):
24035         Small doc fixes. get_clock -> provide_clock.
24036
24037         * gst/gstelement.c: (gst_element_class_init),
24038         (gst_element_provides_clock), (gst_element_provide_clock),
24039         (gst_element_get_clock), (gst_element_commit_state),
24040         (gst_element_lost_state):
24041         * gst/gstelement.h:
24042         Make get/set_clock() symetric. Add provide_clock vmethod since
24043         that is actually what this function does.
24044
24045         * gst/gstpipeline.c: (gst_pipeline_class_init),
24046         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
24047         (gst_pipeline_get_clock):
24048         get_clock -> provide_clock.
24049
24050 2005-09-28  Andy Wingo  <wingo@pobox.com>
24051
24052         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
24053         lieu of real docs...
24054
24055         * gst/elements/gstfdsrc.c: Cleaned up a bit.
24056
24057 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
24058
24059         * gst/elements/gstcapsfilter.c:
24060         * gst/elements/gstfakesink.c:
24061         * gst/elements/gstfakesrc.c:
24062         * gst/elements/gstfdsink.c:
24063         * gst/elements/gstfdsrc.c:
24064         * gst/elements/gstfilesink.c:
24065         * gst/elements/gstfilesrc.c:
24066         * gst/elements/gstidentity.c:
24067         * gst/elements/gsttee.c:
24068         * gst/elements/gsttypefindelement.c:
24069           Make element details static.
24070
24071 2005-09-28  Wim Taymans  <wim@fluendo.com>
24072
24073         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24074         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24075         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24076         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24077         (gst_bin_change_state), (gst_bin_dispose):
24078         Some documentation updates.
24079         Clean up dispose handlers.
24080
24081         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
24082         * gst/gstpad.c: (gst_pad_dispose):
24083         Clean up dispose handler.
24084
24085         * gst/gstpipeline.c: (gst_pipeline_change_state):
24086         Removed spurious UNLOCK.
24087
24088 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
24089
24090         * docs/gst/gstreamer-sections.txt:
24091         * gst/base/gstbasesrc.h:
24092         * gst/gstelement.h:
24093         * gst/gstevent.h:
24094         * gst/gstobject.h:
24095         * gst/gstpad.h:
24096         * gst/gstpipeline.c:
24097         * gst/gstpipeline.h:
24098         * gst/gstutils.h:
24099         * gst/gstxml.h:
24100           added two new functions to the docs
24101                 documents all undocumented GstXXXFlags
24102                 completed some incomplete docs 
24103
24104 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
24105
24106         * gst/gstbin.c: (gst_bin_dispose):
24107         * gst/gstelement.c: (gst_element_dispose):
24108           remove now useless and leaky resurrection code in dispose
24109         * gst/base/gstbasesrc.c: (gst_base_src_init):
24110         * gst/gstelementfactory.c: (gst_element_factory_create):
24111         * gst/gstobject.c: (gst_object_set_parent):
24112           add some debugging
24113
24114 2005-09-27  Wim Taymans  <wim@fluendo.com>
24115
24116         * docs/design/part-TODO.txt:
24117         Update TODO.
24118
24119         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24120         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24121         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24122         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24123         (gst_bin_change_state):
24124         * gst/gstelement.h:
24125         Remove element variable, we keep element info in the iterator now.
24126
24127 2005-09-27  Andy Wingo  <wingo@pobox.com>
24128
24129         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
24130         values.
24131
24132 2005-09-27  Wim Taymans  <wim@fluendo.com>
24133
24134         * check/gst/gstbin.c: (GST_START_TEST):
24135         Enable check that works now.
24136
24137         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24138         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24139         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24140         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24141         (gst_bin_change_state):
24142         * gst/gstbin.h:
24143         Redid the state change algorithm using a topological sort algo.
24144         Handles all cases correctly.
24145         Exposed iterator for state change order.
24146
24147         * gst/gstelement.h:
24148         Temp storage for state changes. Need to get rid of this soon.
24149
24150 2005-09-27  Wim Taymans  <wim@fluendo.com>
24151
24152         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
24153         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
24154         (link_fold_func), (gst_pad_proxy_setcaps):
24155         Leak fixes, the fold functions need to unref the passed object and
24156         _get_parent_*() returns ref to parent.
24157
24158 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24159
24160         * check/gst/gstbuffer.c: (test_make_writable):
24161           Plug leak in test case and fix 'make check-valgrind'
24162
24163 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24164
24165         * gst/gstbuffer.c: (gst_subbuffer_init):
24166           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
24167           works correctly in all circumstances (we could have just copied
24168           the parent buffer's readonly flag, but conceptually it seems
24169           cleaner to mark all subbuffers as read-only). (based on patch
24170           by Alessandro Decina, #314710).
24171         
24172         * check/gst/gstbuffer.c: (create_read_only_buffer),
24173         (test_make_writable), (test_subbuffer_make_writable),
24174         (gst_test_suite):
24175           Add some tests for gst_buffer_make_writable().
24176
24177 2005-09-27  Wim Taymans  <wim@fluendo.com>
24178
24179         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
24180         use gst_object_has_ancestor().
24181
24182         * gst/gstobject.c: (gst_object_has_ancestor):
24183         * gst/gstobject.h:
24184         gst_object_has_ancestor() copied from gstbin.c as it is a
24185         useful function.
24186
24187         * tests/instantiate/create.c: (create_all_elements):
24188         * tests/lat.c: (handoff_src), (handoff_sink):
24189         * tests/sched/runxml.c: (main):
24190         * tests/seeking/seeking1.c: (main):
24191         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24192         (main):
24193         Fix compilation of some tests.
24194
24195 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24196
24197         * gst/gsterror.h:
24198           Remove comment. GST_TYPE_G_ERROR is here to stay,
24199           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
24200           (#316961, #300610).
24201
24202 2005-09-26  Wim Taymans  <wim@fluendo.com>
24203
24204         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24205         Added check that shows error in state change order.
24206
24207 2005-09-26  Wim Taymans  <wim@fluendo.com>
24208
24209         * gst/gstbin.c: (gst_bin_change_state):
24210         Make state change function use 3 queues again, we were
24211         adding elements in the wrong order.
24212
24213         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
24214         Some debug info,
24215
24216         * gst/gstpad.c: (gst_pad_dispose):
24217         Added some debug info first.
24218
24219 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
24220
24221         * docs/design/draft-push-pull.txt:
24222         * docs/design/part-events.txt:
24223         * docs/design/part-overview.txt:
24224         * docs/design/part-scheduling.txt:
24225           Replace all _pull_region() with _pull_range()
24226           
24227 2005-09-26  Andy Wingo  <wingo@pobox.com>
24228
24229         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
24230
24231         * check/gst-libs/controller.c: Update for controller api change.
24232
24233         * configure.ac: 
24234         * tests/Makefile.am:
24235         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
24236         over by GLib bug 118439.
24237         
24238         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
24239         routines to a function.
24240
24241         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
24242
24243         * libs/gst/controller/gsthelper.c:
24244         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
24245         (gst_object_sync_values): Renamed from sink_values. Ugh.
24246
24247         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
24248
24249         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
24250         Renamed from controller_key, as it is exported.
24251
24252         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
24253
24254 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
24255
24256         * gst/Makefile.am:
24257         * gst/gst.h:
24258         * gst/gstpad.h:
24259         * gst/gstpadtemplate.h:
24260         * gst/gstquery.c:
24261         * gst/gstquery.h:
24262         * gst/gstqueryutils.c:
24263         * gst/gstqueryutils.h:
24264           remove queryutils headers after moving the two used functions
24265           to gstquery.  also fixes build problem for gstsiddec
24266
24267 2005-09-26  Michael Smith <msmith@fluendo.com>
24268
24269         * tools/gst-launch.1.in:
24270         Correct documentation in manpage of debug syntax
24271
24272 2005-09-26  Wim Taymans  <wim@fluendo.com>
24273
24274         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24275         (gst_base_src_is_seekable), (gst_base_src_change_state):
24276         Some more debugging info.
24277
24278 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24279
24280         * docs/gst/gstreamer-sections.txt:
24281         * gst/base/gstbasetransform.h:
24282         * gst/gstindex.h:
24283           added more docs
24284
24285 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24286
24287         * docs/gst/.cvsignore:
24288         * docs/gst/tmpl/.cvsignore:
24289         * docs/gst/tmpl/gstpipeline.sgml:
24290         * docs/gst/tmpl/gstplugin.sgml:
24291         * gst/gstpipeline.c:
24292         * gst/gstplugin.c:
24293         * gst/gstplugin.h:
24294           inlined the last two docs files
24295           removed the tmpl directory from cvs (no more conflicts here!)
24296
24297 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24298
24299         * docs/gst/gstreamer-sections.txt:
24300         * docs/gst/tmpl/.cvsignore:
24301         * docs/gst/tmpl/gstpad.sgml:
24302         * docs/gst/tmpl/gstpadtemplate.sgml:
24303         * gst/Makefile.am:
24304         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
24305         (gst_pad_finalize), (gst_pad_set_pad_template):
24306         * gst/gstpad.h:
24307         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
24308         (gst_pad_template_class_init), (gst_pad_template_init),
24309         (gst_pad_template_dispose), (name_is_valid),
24310         (gst_static_pad_template_get), (gst_pad_template_new),
24311         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
24312         (gst_pad_template_pad_created):
24313         * gst/gstpadtemplate.h:
24314           inlined two more docs
24315           factored gstpadtemplate out of gstpad
24316
24317 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
24318
24319         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24320         (test_children_state_change_order_semi_sink):
24321           Fix test case: we can't rely on a fixed state change order when
24322           going from READY => PAUSED because the sink might commit its 
24323           new state first when the first buffer created by the source 
24324           reaches the sink before the source has finished its change state.
24325           (Test case still fails at times, see #316856, comment 5 onwards)
24326
24327 2005-09-24  Wim Taymans  <wim@fluendo.com>
24328
24329         * docs/design/part-events.txt:
24330         * docs/design/part-gstbus.txt:
24331         * docs/design/part-gstpipeline.txt:
24332         * docs/design/part-messages.txt:
24333         * docs/design/part-overview.txt:
24334         * docs/design/part-segments.txt:
24335         * gst/gstbin.c:
24336         * gst/gstbuffer.c:
24337         * gst/gstclock.c:
24338         * gst/gstelement.c:
24339         * gst/gstevent.c:
24340         * gst/gstfilter.c:
24341         * gst/gstiterator.c:
24342         Various documentation updates.
24343
24344 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24345
24346         * gst/gstclock.h:
24347           Well, that's embarassing.  Luckily we weren't using
24348           GST_CLOCK_DIFF anywhere.
24349
24350 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24351
24352         * common/gtk-doc.mak:
24353           don't fail on building XML, FC4 slave shows a bunch of doc
24354           missing bits that I don't get
24355         * gst/gstpad.c:
24356         * gst/gstpipeline.c:
24357         * gst/gststructure.c:
24358           some doc updates
24359
24360 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24361
24362         * docs/design/part-gstbin.txt:
24363         * docs/design/part-gstbus.txt:
24364         * gst/gstbus.c:
24365           Add blurb about how the bus goes into flushing mode and
24366           drops all messages when its bin goes from READY into NULL 
24367           state.
24368
24369 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24370
24371         * docs/gst/gstreamer-sections.txt:
24372         * gst/gststructure.c: (gst_structure_get_clock_time):
24373         * gst/gststructure.h:
24374           add a method to get a GstClockTime out of a structure
24375
24376 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24377
24378         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24379         (test_children_state_change_order_semi_sink), (gst_bin_suite):
24380           Added test to check state change order in bins (can still be made
24381           to fail here under heavy disk load; bails out with 'Push on pad
24382           fakesink:sink0, but it was not activated in push mode').
24383
24384         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
24385           Fix state change order when there is only a semi sink (#316856)
24386
24387         * gst/gstbus.c: (gst_bus_class_init):
24388           Use _class_peek_parent(), not _class_ref(); fix docs to say
24389           'default main context' instead of 'mainloop' where that is
24390           what's meant.
24391
24392         * gst/gstelement.c: (gst_element_commit_state),
24393         (gst_element_set_state):
24394           Fix typos in debug messages
24395
24396 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24397
24398         * docs/README:
24399         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
24400         * gst/gstpluginfeature.c:
24401         * gst/gstutils.c:
24402           various doc updates
24403         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24404           change an assert into an error until it gets fixed properly
24405
24406 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
24407
24408         * docs/gst/gstreamer-sections.txt:
24409         * docs/gst/tmpl/.cvsignore:
24410         * docs/gst/tmpl/gstelement.sgml:
24411         * docs/gst/tmpl/gstinfo.sgml:
24412         * docs/gst/tmpl/gstobject.sgml:
24413         * gst/gstelement.c:
24414         * gst/gstelement.h:
24415         * gst/gstinfo.c:
24416         * gst/gstinfo.h:
24417         * gst/gstobject.c: (gst_object_class_init):
24418         * gst/gstobject.h:
24419           inlined 3 more biiiig doc files and added some missing docs on the fly
24420
24421 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24422
24423         * check/gst/.cvsignore:
24424         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
24425         * gst/gstregistryxml.c: (load_plugin),
24426         (gst_registry_xml_save_plugin):
24427           put back source in registry.  add checks for find_plugin.
24428         * testsuite/states/bin.c: (assert_state), (empty_bin),
24429         (test_adding_one_element), (main):
24430         * testsuite/states/locked.c: (main):
24431           some compile/run fixes
24432
24433 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24434
24435         * check/gst/gstvalue.c: (GST_START_TEST):
24436           fix leaks in the test itself
24437
24438 2005-09-22  Wim Taymans  <wim@fluendo.com>
24439
24440         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24441         (gst_base_sink_send_event), (gst_base_sink_peer_query),
24442         (gst_base_sink_query):
24443         Prepare for more accurate position reporting and query
24444         handling.
24445
24446         * gst/gstelement.c: (gst_element_send_event),
24447         (gst_element_set_state):
24448         Add some comment.
24449
24450 2005-09-22  Wim Taymans  <wim@fluendo.com>
24451
24452         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
24453         (gst_query_parse_segment):
24454         * gst/gstquery.h:
24455         More documentation.
24456         Add segment query for future use.
24457
24458 2005-09-22  Wim Taymans  <wim@fluendo.com>
24459
24460         * gst/gstbin.c: (gst_bin_add_func):
24461         Some more debug info.
24462
24463         * gst/gstelement.c: (gst_element_send_event):
24464         Simplify send_event
24465
24466         * gst/gstelement.h:
24467         Don't know how flags got broken.
24468
24469         * gst/gstquery.h:
24470         Added new query.
24471
24472 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24473
24474         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
24475           Add simplistic test suite for GST_TYPE_DATE serialisation and
24476           deserialisation.
24477
24478 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24479
24480         * docs/gst/gstreamer-sections.txt:
24481         * gst/gststructure.c: (gst_structure_set_valist),
24482         (gst_structure_get_date):
24483         * gst/gststructure.h:
24484         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
24485         (gst_date_copy), (gst_value_compare_date),
24486         (gst_value_serialize_date), (gst_value_deserialize_date),
24487         (gst_value_transform_date_string),
24488         (gst_value_transform_string_date), (_gst_value_initialize):
24489         * gst/gstvalue.h:
24490           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
24491           bunch of utility functions along with a hack that checks that
24492           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
24493           is required. Part of the grand scheme in #170777.
24494
24495 2005-09-22  Andy Wingo  <wingo@pobox.com>
24496
24497         * gst/gstconfig.h.in: Psych out gtk-doc.
24498
24499         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
24500
24501         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
24502
24503         * tools/gst-inspect.c (print_element_list): Plug some
24504         inconsequential leaks.
24505
24506         * gst/gstregistry.c (gst_registry_get_default): Doc.
24507
24508         * check/gst/gstplugin.c: 
24509         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
24510         * gst/gstelementfactory.c (gst_element_factory_create): 
24511         * gst/gstindexfactory.c (gst_index_factory_create): Update for
24512         refcount changes.
24513
24514         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
24515         (gst_plugin_feature_load): Doc, don't eat refs.
24516
24517         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
24518         (gst_plugin_list_free): Doc.
24519         (gst_plugin_load_file): Doc updates.
24520
24521         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
24522         accessors returning refcounted objects, return a ref.
24523
24524         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
24525         accessor for caps. IDEMPOTENCE. Oh yes.
24526
24527 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
24528
24529         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24530
24531         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24532         (_gst_debug_register_funcptr):
24533           Add mutex to serialise access to the hash table with
24534           the function pointer => function name string mapping;
24535           make that hash table static scope (#316809).
24536
24537         * gst/registries/.cvsignore:
24538           Remove left-over file.
24539
24540 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24541
24542         * docs/pwg/appendix-porting.xml:
24543           And something about newsegment events and caps-on-buffers to
24544           the porting guide (feel free to improve).
24545
24546 2005-09-21  Andy Wingo  <wingo@pobox.com>
24547
24548         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
24549         data and event probes on the same pad.
24550         (test_buffer_probe_once): Test that removing probes from within
24551         the probe functions works.
24552
24553 2005-09-21  Andy Wingo  <wingo@pobox.com>
24554
24555         * check/gst/gstutils.c: New file.
24556         (test_buffer_probe_n_times): A simple buffer probe test. More to
24557         come, foolios.
24558
24559         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
24560         have-data::buffer, not have-data.
24561         (gst_pad_add_event_probe): Likewise for have-data::event.
24562         (gst_pad_add_data_probe): More docs. The part about 'resolving the
24563         peer' isn't quite right yet though.
24564         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
24565         (gst_pad_remove_data_probe): Change to take the guint handler_id
24566         as their arg, not the function+data, which is more glib-like.
24567
24568         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
24569         the signal emission to indicate if the data is a buffer or an
24570         event.
24571         (gst_pad_get_type): Initialize buffer and event quarks.
24572         (gst_pad_class_init): have-data is now a detailed signal, yes it
24573         is.
24574
24575 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24576
24577         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24578         * gst/gstutils.c: (gst_util_set_value_from_string),
24579         (gst_util_set_object_arg):
24580           Don't put functional code in g_return_if_fail() or
24581           g_return_val_if_fail() statements, otherwise things will 
24582           break when G_DISABLE_CHECKS is defined during compilation.
24583
24584 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24585
24586         * docs/gst/tmpl/.cvsignore:
24587         * docs/gst/tmpl/gstvalue.sgml:
24588         * gst/gstvalue.c:
24589         * gst/gstvalue.h:
24590           inlied another one and added  some obvious docs
24591
24592 2005-09-21  Wim Taymans  <wim@fluendo.com>
24593
24594         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
24595         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
24596         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
24597         (gst_fdsrc_get_property), (gst_fdsrc_create):
24598         * gst/elements/gstfdsrc.h:
24599         Properly implement fdsrc. Removed signal and timeout,
24600         better implemented somewhere else.
24601
24602 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24603
24604         * docs/gst/tmpl/.cvsignore:
24605         * docs/gst/tmpl/gstimplementsinterface.sgml:
24606         * gst/gstinterface.c:
24607           inlined more docs
24608
24609 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24610
24611         * docs/gst/gstreamer-sections.txt:
24612         * docs/gst/tmpl/.cvsignore:
24613         * docs/gst/tmpl/gstenumtypes.sgml:
24614           remove obsolete doc file
24615
24616 2005-09-21  David Schleef  <ds@schleef.org>
24617
24618         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
24619         little beer, fix a little leak.
24620
24621 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24622
24623         * docs/gst/gstreamer-docs.sgml:
24624         * docs/gst/gstreamer-sections.txt:
24625         * docs/gst/tmpl/.cvsignore:
24626         * gst/Makefile.am:
24627         * gst/gst.h:
24628         * gst/gstbin.c:
24629         * gst/gstelement.h:
24630         * gst/gstindex.c: (gst_index_class_init):
24631         * gst/gstindex.h:
24632         * gst/gstindexfactory.c: (gst_index_factory_get_type),
24633         (gst_index_factory_class_init), (gst_index_factory_init),
24634         (gst_index_factory_finalize), (gst_index_factory_new),
24635         (gst_index_factory_destroy), (gst_index_factory_find),
24636         (gst_index_factory_create), (gst_index_factory_make):
24637         * gst/gstindexfactory.h:
24638         * gst/gstpluginfeature.c:
24639         * gst/gstpluginfeature.h:
24640         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24641           more docs inlined, splitted gstindex.{c,h}
24642
24643 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24644
24645         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24646           fix a leak
24647
24648 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
24649
24650         * gst/elements/gstfilesink.c: (gst_file_sink_init):
24651           Set sync to FALSE by default.
24652
24653 2005-09-20  Wim Taymans  <wim@fluendo.com>
24654
24655         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24656         (gst_base_sink_init):
24657         Make sync property settable from subclass.
24658
24659         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
24660         (gst_fake_sink_change_state):
24661         Set sync to FALSE by default.
24662
24663 2005-09-20  Wim Taymans  <wim@fluendo.com>
24664
24665         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
24666         * tools/gst-launch.c: (main):
24667         The timeout handler should have lower priority than the source
24668         so we don't timeout before popping a message with 0 timeout.
24669         Dump error messages after failed state change.
24670
24671 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
24672
24673         * tools/gst-inspect.c: (print_element_properties_info):
24674           Fix two typos.
24675
24676 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24677
24678         * check/gst/gstevent.c:
24679         * gst/elements/gstfakesink.c:
24680         * gst/elements/gstfakesink.h:
24681           remove the sync property from fakesink.
24682           has the side effect of setting sync TRUE
24683           for fakesink, which is a change.  Anyone who knows how
24684           to fix this nicely in a GObject-y way, feel free.
24685
24686 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24687
24688         * docs/gst/gstreamer-docs.sgml:
24689           remove probe refsection
24690
24691 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24692
24693         * check/Makefile.am:
24694           disable valgrinding the controller test again
24695         * docs/gst/gstreamer-sections.txt:
24696           update for api-changes
24697
24698 2005-09-20  Wim Taymans  <wim@fluendo.com>
24699
24700         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24701         (gst_base_sink_set_property), (gst_base_sink_get_property),
24702         (gst_base_sink_do_sync):
24703         * gst/base/gstbasesink.h:
24704         Added sync property to basesink to disable clock sync.
24705
24706 2005-09-20  Andy Wingo  <wingo@pobox.com>
24707
24708         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
24709         eating the caller's refcount.
24710
24711         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
24712         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
24713         refcount.
24714
24715         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
24716         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
24717         of GLib 2.8 public, so we can know which refcount to check in
24718         tests.
24719
24720         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
24721         (gst_object_init): Only set the gst refcount if we're going ahead
24722         with the refcount hack.
24723
24724 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24725
24726         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24727         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24728           more leaks plumbed, added more debug-logging
24729         * gst/gstmacros.h:
24730           whitespace fix
24731
24732 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24733
24734         * gst/gstmessage.c:
24735           remove include of gstmemchunk.h
24736
24737 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24738
24739         * gst/gstclock.c: (_gst_clock_id_free):
24740           Commit from the Political Party For More Atomic CVS Commits,
24741           so that people don't waste too much of their day fishing
24742           out obvious leaks out of massive commits.
24743           Oh, and fix a pretty damn obvious leak in the memchunk
24744           removal code.
24745
24746 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24747
24748         * check/Makefile.am:
24749         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24750           plug mem-leak, re-add to valgrindable tests
24751
24752 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24753
24754         * gst/gstplugin.h:
24755           unbreak the build for those who have chronic arthritis
24756           and typing "make check" is just too taxing on the hands
24757
24758 2005-09-20  Andy Wingo  <wingo@pobox.com>
24759
24760         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
24761         really want it out, you should fix plugins at the same time.
24762
24763 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
24764
24765         * configure.ac:
24766         * docs/gst/gstreamer-sections.txt:
24767         * gst/gstobject.c:
24768           added missing symbols to api docs
24769           disable ref-count hack if we have glib >= 2.8
24770
24771 2005-09-19  David Schleef  <ds@schleef.org>
24772
24773         * docs/gst/Makefile.am: Ignore a few more internal headers
24774         * docs/gst/gstreamer-docs.sgml: Remove old sections
24775         * docs/gst/gstreamer-sections.txt: Remove old sections
24776         * docs/gst/tmpl/gstobject.sgml: update
24777         * docs/gst/tmpl/gstplugin.sgml: update
24778         * docs/gst/tmpl/gstpluginfeature.sgml: update
24779         * docs/random/ds/0.9-suggested-changes: update.
24780         * gst/Makefile.am: remove memchunk and trashstack, since they're
24781           not used.
24782         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
24783         * gst/gst.h: don't include some headers
24784         * gst/gstchildproxy.c: add gstmarshal.h
24785         * gst/gstclock.c: Don't use memchunks
24786         * gst/gstminiobject.c: Add some docs
24787         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
24788         * gst/gstobject.h: same
24789         * gst/gstplugin.c: include gstmacros.h
24790         * gst/gstplugin.h: don't include gstmacros.h, since it's private
24791         * gst/gstquery.c: don't use memchunks
24792         * gst/gstregistry.c: rename gst_registry_deinit()
24793         * gst/gstregistry.h: same
24794
24795 2005-09-19  David Schleef  <ds@schleef.org>
24796
24797         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
24798         * docs/libs/gstreamer-libs-sections.txt:
24799         * docs/libs/tmpl/gstgetbits.sgml:
24800         * docs/libs/tmpl/gstputbits.sgml:
24801
24802 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
24803
24804         * win32/gstenumtypes.c:
24805         * win32/gstenumtypes.h:
24806           Update.
24807
24808 2005-09-19  Wim Taymans  <wim@fluendo.com>
24809
24810         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
24811         Automatically PAUSE and RESUME a pipeline when a flushing seek
24812         is performed.
24813
24814 2005-09-19  Andy Wingo  <wingo@pobox.com>
24815
24816         * gst/gstregistry.h: Spacing fixen.
24817
24818 2005-09-19  Wim Taymans  <wim@fluendo.com>
24819
24820         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
24821         Handle state change failure more correctly.
24822
24823 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24824
24825         * check/Makefile.am:
24826         * check/pipelines/cleanup.c: (run_pipeline):
24827         * check/pipelines/simple_launch_lines.c: (run_pipeline),
24828         (GST_START_TEST):
24829           enable cleanup again after fixing the leak
24830         * docs/README:
24831           some more info on docs
24832
24833 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24834
24835         * check/Makefile.am:
24836           re-enable tests now that leaks are plugged
24837         * check/gst/gst.c:
24838         * check/gst/gstbin.c:
24839         * check/gst/gstpipeline.c:
24840           add some more tests while fixing leaks
24841         * common/check.mak:
24842           make sure binaries are uptodate when valgrinding/gdbing
24843         * gst/gst.c:
24844         * gst/gstelementfactory.c:
24845           remove a ref too many, and add a FIXME for when we get
24846           round to disposing of classes
24847         * gst/gstplugin.c:
24848           fix the refcounting when loading a plugin from a file and
24849           the code pretends that the pointer is the same even though
24850           of course it can change
24851         * gst/gstpluginfeature.c:
24852           unref plugins marked cached (a bit confusing as a name)
24853           as the docs state should be done
24854           various doc additions to explain refcounting
24855         * gst/gstregistry.c:
24856         * gst/gstregistryxml.c:
24857           debugging
24858
24859 2005-09-19  Wim Taymans  <wim@fluendo.com>
24860
24861         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
24862         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24863         (send_messages), (GST_START_TEST), (gstbus_suite):
24864         * check/gst/gstpipeline.c: (GST_START_TEST):
24865         * check/pipelines/cleanup.c: (run_pipeline):
24866         * check/pipelines/simple_launch_lines.c: (run_pipeline),
24867         (GST_START_TEST):
24868         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
24869         (gst_bus_source_check), (gst_bus_source_dispatch),
24870         (gst_bus_create_watch), (gst_bus_add_watch_full),
24871         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
24872         * gst/gstbus.h:
24873         * tools/gst-launch.c: (event_loop):
24874         * tools/gst-md5sum.c: (event_loop):
24875         GstBusHandler -> GstBusFunc, return value has the same meaning as
24876         any other GSource (FALSE == remove source).
24877         _add_watch() and _add_watch_full() now take a MessageType mask to
24878         only handle specific types of messages.
24879         _poll() returns the GstMessage instead of the message type to avoid
24880         race conditions.
24881         _have_pending() takes a MessageType mask now too.
24882         Added testsuite for multiple bus watches.
24883         Fix testsuites and applications for new bus API.
24884
24885 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24886
24887         * check/Makefile.am:
24888           mark a bunch of the tests as to fix until we fix them
24889
24890 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
24891
24892         * common/check.mak:
24893           use GST_PLUGIN settings for valgrind tests as well, so we're
24894           valgrinding the correct thing
24895         * gst/gst.c: (init_post):
24896           plug another leak
24897
24898 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
24899
24900         * gst/gst.c: (init_post), (gst_deinit):
24901         * gst/gstelementfactory.c: (gst_element_factory_class_init),
24902         (gst_element_factory_finalize), (gst_element_factory_cleanup):
24903         * gst/gstindex.c: (gst_index_factory_class_init),
24904         (gst_index_factory_finalize):
24905         * gst/gstobject.c: (gst_object_dispose):
24906         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
24907         (gst_plugin_load_file), (gst_plugin_desc_free):
24908         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
24909         (gst_plugin_feature_finalize):
24910         * gst/gstregistry.c: (gst_registry_class_init),
24911         (gst_registry_init), (gst_registry_finalize),
24912         (gst_registry_get_default), (gst_registry_deinit):
24913         * gst/gstregistry.h:
24914         * gst/gstregistryxml.c: (load_feature), (load_plugin):
24915           various cleanups and memleak plugging.  make valgrind is happy now.
24916
24917 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
24918
24919         * common/check.mak:
24920           add a check-valgrind target
24921
24922 2005-09-18  David Schleef  <ds@schleef.org>
24923
24924         * tools/gst-inspect.c: Revert the GOption code.
24925
24926 2005-09-17  David Schleef  <ds@schleef.org>
24927
24928         * check/Makefile.am: Fix environment variables.
24929         * check/gst/gstplugin.c: Fix for API changes.
24930         * tools/gst-inspect.c: Fix for API changes.
24931         * tools/gst-xmlinspect.c: Fix for API changes.
24932         * gst/gstelementfactory.c:
24933         * gst/gstplugin.c:
24934         * gst/gstplugin.h:
24935         * gst/gstpluginfeature.c:
24936         * gst/gstpluginfeature.h:
24937         * gst/gstregistry.c:
24938         * gst/gstregistry.h:
24939         * gst/gstregistryxml.c:
24940         * gst/gsttypefind.c:
24941         * gst/gsttypefindfactory.c:
24942         * gst/indexers/gstfileindex.c:
24943         * gst/indexers/gstmemindex.c:
24944         * gst/schedulers/Makefile.am:
24945           Change registry to keep track of both plugins and features,
24946           removing the feature tracking from plugins themselves.
24947
24948 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
24949
24950         * check/Makefile.am:
24951         * tools/gst-register.1.in:
24952           remove gst-register
24953
24954 2005-09-15  David Schleef  <ds@schleef.org>
24955
24956         * check/gst/gstplugin.c:
24957         * gst/gstelementfactory.c:
24958         * gst/gstplugin.c:
24959         * gst/gstpluginfeature.c:
24960         * gst/gstregistry.c:
24961           Getting tired of debugging.  Disabled all the unreffing of
24962           plugins and features, which fixes the segfaults, but of
24963           course leaks like crazy.  At least playbin works.
24964
24965 2005-09-15  David Schleef  <ds@schleef.org>
24966
24967         * check/gst/gstplugin.c: (register_check_elements),
24968         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
24969         More testing
24970         * gst/elements/gsttypefindelement.c: Fix refcounting.
24971         * gst/gsttypefind.c:
24972         * gst/gsttypefindfactory.c:
24973         * gst/gsttypefindfactory.h:
24974
24975 2005-09-15  David Schleef  <ds@schleef.org>
24976
24977         * gst/gstindex.c: get refcounting correct.
24978         * gst/gstregistry.c: Handle the case where a feature/plugin is
24979           not found.
24980
24981 2005-09-15  David Schleef  <ds@schleef.org>
24982
24983         * check/Makefile.am:
24984         * check/gst/gstplugin.c: Add test
24985         * gst/gstplugin.c: Fix problems noticed by testsuite
24986         * gst/gstplugin.h:
24987         * gst/gstregistry.c: 
24988         * gst/gstregistry.h:
24989
24990 2005-09-15  David Schleef  <ds@schleef.org>
24991
24992         * gst/gstplugin.c: Implement semi-decent recounting and locking
24993           in plugins and plugin features.
24994         * gst/gstplugin.h:
24995         * gst/gstpluginfeature.c:
24996         * gst/gstpluginfeature.h:
24997         * gst/gstregistry.c:
24998
24999 2005-09-15  Michael Smith <msmith@fluendo.com>
25000
25001         * gst/gstregistry.c: (gst_registry_get_feature_list):
25002           Implement this. Makes oggdemux work; decodebin still broken.
25003
25004 2005-09-14  David Schleef  <ds@schleef.org>
25005
25006         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
25007           #316076)
25008         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
25009         * gst/check/Makefile.am:
25010         * libs/gst/controller/Makefile.am:
25011         * libs/gst/dataprotocol/Makefile.am:
25012
25013 2005-09-14  David Schleef  <ds@schleef.org>
25014
25015         * configure.ac: Remove getbits library.  Nothing uses it, and
25016           it should be in something like liboil if someone did want
25017           to use it.
25018         * libs/gst/Makefile.am:
25019         * libs/gst/getbits/Makefile.am:
25020         * libs/gst/getbits/gbtest.c:
25021         * libs/gst/getbits/getbits.c:
25022         * libs/gst/getbits/getbits.h:
25023         * libs/gst/getbits/gstgetbits_generic.c:
25024         * libs/gst/getbits/gstgetbits_i386.s:
25025         * libs/gst/getbits/gstgetbits_inl.h:
25026
25027 2005-09-14  David Schleef  <ds@schleef.org>
25028
25029         * gst/Makefile.am: Dist glib-compat.h
25030
25031 2005-09-14  David Schleef  <ds@schleef.org>
25032
25033         * configure.ac: Remove gst/registries, since it's no longer used.
25034         * gst/registries/Makefile.am:
25035         * gst/registries/gstlibxmlregistry.c:
25036         * gst/registries/gstlibxmlregistry.h:
25037         * gst/registries/gstxmlregistry.c:
25038         * gst/registries/gstxmlregistry.h:
25039         * gst/registries/registrytest.c:
25040
25041 2005-09-14  David Schleef  <ds@schleef.org>
25042
25043         * gst/glib-compat.h:
25044         * gst/gstregistryxml.c:
25045           Convergence is near.  Seriously.
25046
25047 2005-09-14  David Schleef  <ds@schleef.org>
25048
25049         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25050         * gst/glib-compat.h:
25051           Attempt #4 to appease the buildbots.
25052
25053 2005-09-14  David Schleef  <ds@schleef.org>
25054
25055         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25056           Attempt #3.
25057
25058 2005-09-14  David Schleef  <ds@schleef.org>
25059
25060         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25061         Attempt #2.
25062
25063 2005-09-14  David Schleef  <ds@schleef.org>
25064
25065         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
25066           the new functions.
25067
25068 2005-09-14  David Schleef  <ds@schleef.org>
25069
25070         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25071         * gst/glib-compat.h: Add some functions that are in newer versions
25072           of glib than we care to require.
25073         * gst/gstregistryxml.c: Use them.
25074
25075 2005-09-14  David Schleef  <ds@schleef.org>
25076
25077         * po/POTFILES.in: remove gst-register.c
25078
25079 2005-09-14  David Schleef  <ds@schleef.org>
25080
25081         * docs/gst/gstreamer-docs.sgml:
25082         * docs/gst/gstreamer-sections.txt:
25083         * docs/gst/gstreamer.types:
25084         * docs/gst/tmpl/gstelement.sgml:
25085         * docs/gst/tmpl/gstplugin.sgml:
25086         * docs/gst/tmpl/gstpluginfeature.sgml:
25087           Documentation updates for registry changes.
25088
25089 2005-09-14  David Schleef  <ds@schleef.org>
25090
25091         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
25092           because we don't require glib-2.8.
25093
25094 2005-09-14  David Schleef  <ds@schleef.org>
25095
25096         * gst/gstregistryxml.c: Added.  Essentially moved out of the
25097           registries directory.
25098
25099 2005-09-14  David Schleef  <ds@schleef.org>
25100
25101         * check/Makefile.am:
25102         * check/generic/states.c:
25103         * gst/Makefile.am:
25104         * gst/gst.c:
25105         * gst/gst.h:
25106         * gst/gst_private.h:
25107         * gst/gstelementfactory.c:
25108         * gst/gstindex.c:
25109         * gst/gstinfo.c:
25110         * gst/gstplugin.c:
25111         * gst/gstplugin.h:
25112         * gst/gstpluginfeature.c:
25113         * gst/gstpluginfeature.h:
25114         * gst/gstregistry.c:
25115         * gst/gstregistry.h:
25116         * gst/gstregistrypool.c: remove
25117         * gst/gstregistrypool.h: remove
25118         * gst/gsttypefind.c:
25119         * gst/gsttypefindfactory.c:
25120         * gst/gsturi.c:
25121         * tools/Makefile.am:
25122         * tools/gst-compprep.c:
25123         * tools/gst-inspect.c:
25124         * tools/gst-register.c: remove
25125         * tools/gst-xmlinspect.c:
25126           Registry rewrite.  Changes registry from being a file created
25127           by a tool into a simple cache file created automatically by 
25128           libgstreamer.  Removed gst-register (because it's no longer
25129           needed).  Remove registry pools, because we only have one
25130           registry implementation (XML).  Fix up other subsystems as
25131           necessary.
25132
25133 2005-09-13  Michael Smith <msmith@fluendo.com>
25134
25135         * gst/gstconfig.h.in:
25136           Don't Use windows linking attributes for MinGW. Fixes #316157
25137
25138 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
25139
25140         * gst/gstutils.c: (set_state_async_thread_func),
25141         (gst_element_set_state_async):
25142           Apparently people think it's better if this function doesn't
25143           try to set the state to whatever state was asked for on the first
25144           call to this function for any object.  Seriously.
25145
25146 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25147
25148         * check/gst/gstpipeline.c: (GST_START_TEST):
25149         * docs/gst/gstreamer-sections.txt:
25150         * gst/gstutils.c: (set_state_async_thread_func),
25151         (gst_element_set_state_async):
25152         * gst/gstutils.h:
25153           add a "gst_element_set_state_async" method that
25154           sets the state and starts a thread to make sure the state
25155           change completes as best as it can
25156
25157 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25158
25159         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
25160           codify design+behaviour in testsuite after discussion
25161
25162 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25163
25164         * docs/gst/tmpl/gstelement.sgml:
25165         * docs/manual/appendix-quotes.xml:
25166           add a quote
25167         * gst/gstelement.c: (gst_element_set_state):
25168           add some debug
25169
25170 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
25171
25172         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25173         (gst_base_transform_prepare_output_buf),
25174         (gst_base_transform_handle_buffer):
25175         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
25176         (gst_capsfilter_prepare_buf):
25177           Remove the requirement for sub-classes to call the parent
25178           implementation of prepare_output_buffer with a wrapper function.
25179           
25180         * gst/gsttaglist.h:
25181         * gst/gsttagsetter.h:
25182           Fix #define wrapper
25183
25184 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
25185
25186         * docs/gst/gstreamer-sections.txt:
25187           more doc cleanups
25188
25189 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25190
25191         * docs/gst/gstreamer-sections.txt:
25192         * docs/gst/tmpl/gstelement.sgml:
25193         * docs/gst/tmpl/gstplugin.sgml:
25194         * gst/gstminiobject.c:
25195         * gst/gstvalue.h:
25196           docs now stop throwing warnings
25197
25198 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25199
25200         * docs/gst/gstreamer-sections.txt:
25201         * docs/gst/gstreamer.types:
25202         * docs/gst/tmpl/gstpad.sgml:
25203         * docs/gst/tmpl/gsttypes.sgml:
25204         * gst/base/gstadapter.h:
25205         * gst/base/gstbasesink.h:
25206         * gst/base/gstbasesrc.h:
25207         * gst/gstbin.h:
25208         * gst/gstbuffer.h:
25209         * gst/gstbus.h:
25210         * gst/gstcaps.h:
25211         * gst/gstclock.h:
25212         * gst/gstelement.h:
25213         * gst/gstevent.h:
25214         * gst/gstmessage.h:
25215         * gst/gstpad.h:
25216         * gst/gststructure.c:
25217         * gst/registries/gstlibxmlregistry.h:
25218           various documentation fixes
25219
25220 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25221
25222         * docs/gst/gstreamer-sections.txt:
25223         * docs/gst/tmpl/gstvalue.sgml:
25224           rearrange gstvalue section
25225         * gst/gstutils.c: (gst_element_state_get_name):
25226           NONE -> VOID
25227         * gst/gstvalue.c: (_gst_value_initialize):
25228         * gst/gstvalue.h:
25229           doc updates
25230
25231 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
25232
25233         * check/gst-libs/controller.c:
25234           Header include fix.
25235         * gst/base/gstbasetransform.c:
25236         (gst_base_transform_default_prepare_buf),
25237         (gst_base_transform_handle_buffer):
25238         * gst/base/gstbasetransform.h:
25239           Some more basetransform changes and fixes to enable sub-classes
25240           that modify buffer metadata only.
25241         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25242         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
25243         (gst_capsfilter_prepare_buf):
25244           If the output pad has fixed allowed caps and input buffers 
25245           don't have any, set the fixed caps on outgoing buffers.
25246
25247 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
25248         * check/elements/identity.c: (GST_START_TEST):
25249           Make the error a little clearer when the test fails because
25250           identity made a copy of the buffer.
25251         * docs/gst/gstreamer-sections.txt:
25252           New symbols in gstbasetransform.h
25253         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25254         (gst_base_transform_init), (gst_base_transform_transform_size),
25255         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25256         (gst_base_transform_default_prepare_buf),
25257         (gst_base_transform_get_unit_size),
25258         (gst_base_transform_buffer_alloc),
25259         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
25260         (gst_base_transform_change_state),
25261         (gst_base_transform_set_passthrough),
25262         (gst_base_transform_set_in_place),
25263         (gst_base_transform_is_in_place):
25264         * gst/base/gstbasetransform.h:
25265           Change BaseTransform to separate in_place operate from same_caps
25266           output. in_place implies that the element can perform the transform
25267           on incoming buffers in-place, even if the caps on the output are
25268           different.
25269           Sub-class elements can now implement special buffer allocation
25270           methods for outgoing buffers if they wish to.
25271           Big documentation addition.
25272         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
25273         * gst/elements/gstelements.c:
25274           Changes for basetransform modifications.
25275         * gst/elements/Makefile.am:
25276         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
25277           Compile fix. Extra debug output.
25278
25279 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25280
25281         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
25282         (gst_pad_suite):
25283           add tests for valid pad naming
25284         * gst/check/gstcheck.c: (gst_check_log_message_func),
25285         (gst_check_log_critical_func):
25286           add ASSERT_WARNING
25287           remove printing of code, it is fragile when the code contains
25288           % and the line number is enough info
25289         * gst/check/gstcheck.h:
25290         * gst/gstpad.c: (gst_pad_template_new):
25291           fix memleaks
25292
25293 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25294
25295         * configure.ac:
25296           say what CHECK flags we use
25297         * docs/libs/gstreamer-libs.types:
25298         * libs/gst/controller/Makefile.am:
25299         * libs/gst/controller/gst-controller.c:
25300         * libs/gst/controller/gst-controller.h:
25301         * libs/gst/controller/gst-helper.c:
25302         * libs/gst/controller/gst-interpolation.c:
25303         * libs/gst/controller/gstcontroller.c:
25304         * libs/gst/controller/gsthelper.c:
25305         * libs/gst/controller/gstinterpolation.c:
25306         * tools/gst-inspect.c: (print_plugin_info):
25307           we don't use dashes in header names
25308
25309 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25310
25311         * check/Makefile.am:
25312         * check/gst/.cvsignore:
25313         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
25314         (gst_pipeline_suite), (main):
25315           adding a test for pipelines and state changes
25316         * gst/gstutils.c: (get_state_func):
25317           add some debugging
25318         * gstreamer.spec.in:
25319           fix up spec file
25320
25321 2005-09-08  Michael Smith <msmith@fluendo.com>
25322
25323         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
25324         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
25325         (gst_file_src_is_seekable), (gst_file_src_get_size),
25326         (gst_file_src_start):
25327         * gst/elements/gstfilesrc.h:
25328           Various fixes for unseekable, unmmapable, and non-normal files, so
25329           that fallback to read() rather than mmap() works.
25330         * gst/gstevent.c: (gst_event_new_newsegment):
25331           Allow newsegment events with segment_start == segment_end, as will
25332           correctly happen if you use filesrc on a zero-size file, for
25333           example.
25334
25335 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25336
25337         * gst/gstplugin.c: (gst_plugin_load_file):
25338           Call g_module_close when we don't load the module
25339
25340         * gst/registries/gstlibxmlregistry.c:
25341         (gst_xml_registry_get_property):
25342           Port leak fix from 0.8
25343
25344 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25345
25346         * docs/gst/gstreamer-docs.sgml:
25347         * docs/gst/tmpl/.cvsignore:
25348         * docs/gst/tmpl/gsttrace.sgml:
25349         * docs/gst/tmpl/gsttrashstack.sgml:
25350         * gst/Makefile.am:
25351         * gst/gst.h:
25352         * gst/gstelement.h:
25353         * gst/gstevent.h:
25354         * gst/gstmessage.c:
25355         * gst/gstmessage.h:
25356         * gst/gsttag.c:
25357         * gst/gsttag.h:
25358         * gst/gsttaginterface.c:
25359         * gst/gsttaginterface.h:
25360         * gst/gsttaglist.c:
25361         * gst/gsttaglist.h:
25362         * gst/gsttagsetter.c:
25363         * gst/gsttagsetter.h:
25364         * gst/gsttrace.c:
25365         * gst/gsttrace.h:
25366         * gst/gsttrashstack.c:
25367           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
25368           inlined docs for gsttrace, gsttrashstack
25369
25370 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25371
25372         * gst/Makefile.am:
25373         * gst/elements/gstbufferstore.h:
25374         * gst/elements/gsttypefindelement.c:
25375         * gst/elements/gsttypefindelement.h:
25376         * gst/gst.h:
25377         * gst/gsttypefind.c:
25378         * gst/gsttypefind.h:
25379         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
25380         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
25381         (gst_type_find_factory_dispose),
25382         (gst_type_find_factory_unload_thyself),
25383         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
25384         (gst_type_find_factory_get_caps),
25385         (gst_type_find_factory_get_extensions),
25386         (gst_type_find_factory_call_function):
25387         * gst/gsttypefindfactory.h:
25388         * gst/registries/gstlibxmlregistry.c:
25389         * gst/registries/gstxmlregistry.c:
25390           splitted gsttypefind into gsttypefind, gsttypefindfactory
25391
25392 2005-09-07  Andy Wingo  <wingo@pobox.com>
25393
25394         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
25395         condition whereby the pad's task function is entered before the
25396         pad_mode variable was set.
25397
25398 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25399
25400         * gst/gstpad.c: (gst_pad_alloc_buffer):
25401           Catch misbehaving pad_alloc functions that don't
25402           set up caps and do it for them.
25403
25404 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25405
25406         * check/pipelines/simple_launch_lines.c: (run_pipeline):
25407           test for pipe!=NULL
25408         * docs/gst/tmpl/.cvsignore:
25409         * docs/gst/tmpl/gstmemchunk.sgml:
25410         * docs/gst/tmpl/gstparse.sgml:
25411         * docs/gst/tmpl/gsttaglist.sgml:
25412         * docs/gst/tmpl/gsttagsetter.sgml:
25413         * docs/gst/tmpl/gsttypefind.sgml:
25414         * docs/gst/tmpl/gsttypefindfactory.sgml:
25415         * gst/gstmemchunk.c:
25416         * gst/gstparse.c:
25417         * gst/gsttag.c:
25418         * gst/gsttaginterface.c:
25419         * gst/gsttypefind.c:
25420         * gst/gsttypefind.h:
25421           inlined more docs
25422
25423 === release 0.9.2 ===
25424
25425 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
25426
25427         * NEWS:
25428         * RELEASE:
25429         * configure.ac:
25430           releasing 0.9.2, "South"
25431
25432 2005-09-05  Andy Wingo  <wingo@pobox.com>
25433
25434         * gst/registries/gstxmlregistry.h:
25435         * gst/registries/gstxmlregistry.c: Um... resurrect...
25436         
25437         * gst/registries/gstxmlregistry.h:
25438         * gst/registries/gstxmlregistry.c: and update to newer API.
25439         Incidentally they should be a bit faster now that they don't have
25440         to parse the caps.
25441         
25442 2005-09-05  Andy Wingo  <wingo@pobox.com>
25443
25444         * gst/registries/gstxmlregistry.h:
25445         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
25446         replaced by the libxml registry a while back
25447
25448 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25449
25450         * docs/gst/tmpl/gstplugin.sgml:
25451         * gst/elements/gstelements.c:
25452         * gst/gst.c:
25453         * gst/gstplugin.c: (gst_plugin_register_func),
25454         (gst_plugin_desc_copy), (gst_plugin_desc_free),
25455         (gst_plugin_get_source):
25456         * gst/gstplugin.h:
25457         * gst/registries/gstlibxmlregistry.c: (load_plugin),
25458         (gst_xml_registry_save_plugin):
25459         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
25460         (gst_xml_registry_save_plugin):
25461         * tools/gst-inspect.c: (print_plugin_info):
25462           add a "source" plugin description field, to represent the source
25463           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
25464           will set it to PACKAGE, which is automake's idea of the name of
25465           the source project.
25466
25467 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25468
25469         * Makefile.am:
25470         * autogen.sh:
25471         * configure.ac:
25472         * docs/Makefile.am:
25473         * docs/faq/Makefile.am:
25474         * docs/gst/tmpl/gstelement.sgml:
25475         * docs/gst/tmpl/gsttypes.sgml:
25476         * docs/htmlinstall.mak:
25477         * docs/manual/Makefile.am:
25478         * docs/pwg/Makefile.am:
25479           reorganize doc build a little
25480           split out docbook and gtk-doc stuff
25481           have two separate --enable's and enable them through autogen
25482           but disable by default in configure (to be similar to other
25483           projects)
25484         * gstreamer.spec.in:
25485           clean up docs install
25486         * po/af.po:
25487         * po/az.po:
25488         * po/ca.po:
25489         * po/cs.po:
25490         * po/de.po:
25491         * po/en_GB.po:
25492         * po/fr.po:
25493         * po/it.po:
25494         * po/nb.po:
25495         * po/nl.po:
25496         * po/ru.po:
25497         * po/sq.po:
25498         * po/sr.po:
25499         * po/sv.po:
25500         * po/tr.po:
25501         * po/uk.po:
25502         * po/vi.po:
25503           translation updates
25504
25505 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
25506
25507         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
25508           Add comment.
25509           
25510         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25511         (gst_fake_sink_change_state):
25512           Make state change function thread-safe.
25513           
25514         * gst/gstpad.c: (gst_pad_alloc_buffer):
25515           Set offset on generic buffer allocated by fallback.
25516
25517 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
25518
25519         * docs/gst/gstreamer-sections.txt:
25520         * docs/gst/tmpl/gstelement.sgml:
25521         * gst/gstpad.c:
25522         * libs/gst/controller/gst-controller.c:
25523         (gst_controlled_property_set_interpolation_mode),
25524         (gst_controlled_property_new),
25525         (gst_controller_find_controlled_property):
25526          run the wingo-magic script against the docs
25527
25528 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25529
25530         * docs/gst/gstreamer-docs.sgml:
25531         * docs/gst/gstreamer-sections.txt:
25532         * docs/gst/tmpl/.cvsignore:
25533         * docs/gst/tmpl/gstelementdetails.sgml:
25534         * docs/gst/tmpl/gstelementfactory.sgml:
25535         * gst/gst.c:
25536         * gst/gstbus.c:
25537         * gst/gstelementfactory.c:
25538         * gst/gstelementfactory.h:
25539           merged elementdetails docs into elementfactory docs
25540           inlined both
25541
25542 2005-09-02  Andy Wingo  <wingo@pobox.com>
25543
25544         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
25545         consider this enum an enum and not a flags.
25546
25547 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25548
25549         * docs/gst/gstreamer-docs.sgml:
25550         * docs/gst/tmpl/.cvsignore:
25551         * docs/gst/tmpl/gstghostpad.sgml:
25552         * docs/gst/tmpl/gstiterator.sgml:
25553         * docs/gst/tmpl/gstmacros.sgml:
25554         * docs/gst/tmpl/gstrealpad.sgml:
25555         * docs/gst/tmpl/gstregistry.sgml:
25556         * docs/gst/tmpl/gstregistrypool.sgml:
25557         * docs/gst/tmpl/gststructure.sgml:
25558         * docs/gst/tmpl/gstsystemclock.sgml:
25559         * docs/gst/tmpl/gsttrace.sgml:
25560         * gst/gstghostpad.c:
25561         * gst/gstmacros.h:
25562         * gst/gstmemchunk.c:
25563         * gst/gstmemchunk.h:
25564         * gst/gstqueue.c:
25565         * gst/gstregistry.c:
25566         * gst/gstregistrypool.c:
25567         * gst/gststructure.c:
25568         * gst/gstsystemclock.c:
25569           more docs inlined
25570
25571 2005-09-02  Andy Wingo  <wingo@pobox.com>
25572
25573         * gst/gstelement.h (GstState): Renamed from GstElementState,
25574         changed to be a normal enum instead of flags.
25575         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
25576         munged to be GST_STATE_CHANGE_*.
25577         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
25578         work with the new state representation.
25579         (GstStateChange): New enumeration of possible state transitions.
25580         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
25581         (GstElementClass::change_state): Pass the GstStateChange along as
25582         an argument. Helps language bindings, so they don't have to use
25583         tricky lock-needing macros like GST_STATE_CHANGE ().
25584
25585         * scripts/update-states (file): New script. Run it on a file to
25586         update it for state naming and API changes. Updates files in
25587         place.
25588
25589         * All files updated for the new API.
25590
25591 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
25592
25593         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
25594         * gst/gstutils.c: (gst_util_set_value_from_string),
25595         (gst_util_set_object_arg):
25596           fix a bunch of unchecked return values
25597         * tools/gst-complete.c: (main):
25598         * gstreamer.spec.in:
25599           clean up a little
25600
25601 2005-09-01  Wim Taymans  <wim@fluendo.com>
25602
25603         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25604         (gst_base_sink_event), (gst_base_sink_do_sync),
25605         (gst_base_sink_handle_event):
25606         * gst/base/gstbasesink.h:
25607         Handle newsegments more correctly.
25608
25609         * gst/gstbus.c:
25610         Fix docs.
25611
25612         * gst/gstevent.c: (gst_event_new_newsegment):
25613         A newsegment cannot have a start_time of -1
25614
25615 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
25616
25617         * win32/gstenumtypes.c:
25618         * win32/gstenumtypes.h:
25619           Update
25620
25621 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25622
25623         * libs/gst/controller/gst-controller.c:
25624         (gst_controlled_property_set_interpolation_mode),
25625         (gst_controlled_property_new):
25626          fixed boolean again
25627
25628 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
25629
25630         * docs/faq/gst-uninstalled:
25631           add -good
25632         * gst/gstevent.c:
25633         * gst/gstevent.h:
25634           remove wrong docs
25635         * gst/gstutils.c: (gst_element_link_filtered):
25636         * gst/gstutils.h:
25637           add gst_element_link_filtered
25638
25639 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25640
25641         * docs/gst/gstreamer-docs.sgml:
25642         * docs/gst/gstreamer-sections.txt:
25643         * docs/gst/tmpl/.cvsignore:
25644         * docs/gst/tmpl/gsterror.sgml:
25645         * docs/gst/tmpl/gstfilter.sgml:
25646         * docs/gst/tmpl/gsturihandler.sgml:
25647         * docs/gst/tmpl/gsturitype.sgml:
25648         * docs/gst/tmpl/gstutils.sgml:
25649         * docs/gst/tmpl/gstxml.sgml:
25650         * gst/gsterror.c:
25651         * gst/gsterror.h:
25652         * gst/gstfilter.c:
25653         * gst/gsturi.c:
25654         * gst/gsturitype.c:
25655         * gst/gstutils.c:
25656         * gst/gstxml.c:
25657           inlined more docs, fixed double id-ref
25658
25659 2005-08-31  Wim Taymans  <wim@fluendo.com>
25660
25661         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25662         (gst_base_transform_handle_buffer):
25663         Passthrough elements don't need the caps as they don't care.
25664
25665 2005-08-31  Wim Taymans  <wim@fluendo.com>
25666
25667         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25668         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
25669         Don't leak refcounts on buffers.
25670
25671 2005-08-31  Wim Taymans  <wim@fluendo.com>
25672
25673         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
25674         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
25675         (gst_base_transform_chain), (gst_base_transform_change_state):
25676         * gst/base/gstbasetransform.h:
25677         Handle the case where we are not negotiated more gracefully.
25678
25679 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
25680
25681         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
25682         (gst_file_src_map_region):
25683           Set READONLY flag on mmap'ed buffers, otherwise
25684           gst_buffer_make_writable() won't work properly (#314708).
25685
25686 2005-08-31  Wim Taymans  <wim@fluendo.com>
25687
25688         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
25689         passthrough elements can even do inplace on non writable
25690         buffers (as they don't touch them).
25691
25692 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25693
25694         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
25695         (gst_test_mono_source_set_property),
25696         (gst_test_mono_source_class_init), (GST_START_TEST),
25697         (gst_controller_suite):
25698           more tests (hehe I have the most)
25699         * gst/gstbus.c:
25700           describe popping messages whenusing mulltiple sources
25701         * libs/gst/controller/gst-controller.c:
25702         (gst_controlled_property_set_interpolation_mode),
25703         (gst_controlled_property_new):
25704         * libs/gst/controller/gst-controller.h:
25705         * libs/gst/controller/gst-interpolation.c:
25706           implement boolean properties
25707
25708 2005-08-31  Wim Taymans  <wim@fluendo.com>
25709
25710         * gst/gstminiobject.c: (gst_mini_object_ref):
25711         Cannot assert that the refcount has to be positive
25712         since a disposed object can be resurrected.
25713
25714 2005-08-31  Wim Taymans  <wim@fluendo.com>
25715
25716         * gst/gstpad.c: (gst_pad_init):
25717         Revert change, need to first fix badly behaving 
25718         apps.
25719
25720 2005-08-30  Wim Taymans  <wim@fluendo.com>
25721
25722         * check/elements/fakesrc.c: (setup_fakesrc):
25723         * check/elements/identity.c: (setup_identity):
25724         Activate pads before using them.
25725
25726 2005-08-30  Wim Taymans  <wim@fluendo.com>
25727
25728         * gst/base/gstadapter.c: (gst_adapter_flush):
25729         Flushing out 0 bytes is ok for this function.
25730
25731         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25732         no newsegment gives a warning and sets the start/stop to 
25733         invalid.
25734
25735         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
25736         (gst_base_transform_set_passthrough):
25737         Some debug info.
25738
25739         * gst/gstminiobject.c: (gst_mini_object_ref):
25740         Check refcount here too.
25741
25742         * gst/gstpad.c: (gst_pad_init):
25743         Pads are initially flushing and refusing data.
25744
25745         * gst/gstutils.c: (gst_element_link_pads_filtered):
25746         When adding a capsfilter element make sure it has the
25747         same state as the parent bin.
25748
25749 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25750
25751         * docs/gst/tmpl/.cvsignore:
25752         * docs/gst/tmpl/gstformat.sgml:
25753         * docs/gst/tmpl/gstversion.sgml:
25754         * gst/gstbus.h:
25755         * gst/gstformat.c:
25756         * gst/gstformat.h:
25757         * gst/gstversion.h.in:
25758           more docs and two more inlined
25759
25760 2005-08-30  Wim Taymans  <wim@fluendo.com>
25761
25762         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
25763         Don't sync to clock.
25764
25765 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25766
25767         * docs/gst/gstreamer-sections.txt:
25768           ultral33t func10ns deserve to appear in the docs actually
25769         * docs/gst/tmpl/.cvsignore:
25770         * docs/gst/tmpl/gstcompat.sgml:
25771         * docs/gst/tmpl/gstconfig.sgml:
25772         * gst/check/gstcheck.c:
25773         * gst/gstcompat.h:
25774         * gst/gstconfig.h.in:
25775           inlined more docs
25776
25777 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25778
25779         * docs/gst/tmpl/.cvsignore:
25780         * docs/gst/tmpl/gstquery.sgml:
25781         * docs/gst/tmpl/gstutils.sgml:
25782         * gst/gstquery.c:
25783         * gst/gstquery.h:
25784           inlined and extended docs
25785
25786 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25787
25788         * check/gst-libs/controller.c: (GST_START_TEST),
25789         (gst_controller_suite):
25790           more tests
25791         * docs/gst/tmpl/gstutils.sgml:
25792         * docs/libs/gstreamer-libs-sections.txt:
25793         * docs/libs/tmpl/gstdataprotocol.sgml:
25794           include path fixes
25795         * examples/controller/audio-example.c: (main):
25796           controller example works now
25797         * gst/gstclock.h:
25798           doc fixes
25799         * tools/gst-inspect.c: (print_element_properties_info):
25800           show param spec flags
25801
25802 2005-08-29  Andy Wingo  <wingo@pobox.com>
25803
25804         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
25805
25806 2005-08-28  Andy Wingo  <wingo@pobox.com>
25807
25808         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
25809         as having two arguments instead of just one. Allows superclasses
25810         to access information on subclasses -- see the terrible for() loop
25811         in gtype.c:g_type_create_instance for the reason why. All callers
25812         changed.
25813
25814 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
25815
25816         * docs/design/part-messages.txt:
25817           update info
25818         * docs/gst/tmpl/.cvsignore:
25819         * docs/gst/tmpl/gstcaps.sgml:
25820         * docs/gst/tmpl/gstclock.sgml:
25821         * gst/gstbus.c:
25822         * gst/gstcaps.c:
25823         * gst/gstcaps.h:
25824         * gst/gstclock.c:
25825         * gst/gstclock.h:
25826         * gst/gstmessage.c:
25827           added descriptions for bus and message
25828           inline caps and clock docs
25829
25830 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
25831
25832         * gst/gstmessage.c:
25833         * gst/gstmessage.h:
25834           doc fixes
25835
25836 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
25837
25838         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
25839           fix div-by-zero
25840
25841 2005-08-26  Andy Wingo  <wingo@pobox.com>
25842
25843         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
25844         element_set_state's return val.
25845         (test_2_elements): Add test that's been disabled for months.
25846
25847         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
25848         can-activate-pull properties.
25849
25850         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
25851         can-activate-pull properties. Implement is_seekable so fakesrc can
25852         operate in pull mode.
25853
25854         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
25855         properties.
25856         (gst_base_sink_activate, gst_base_sink_activate_pull)
25857         (gst_base_sink_activate_push): Make activation mode choosing work.
25858         Cleanups.
25859         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
25860         is right. Make pull mode work. Post an eos before pausing in pull
25861         mode.
25862         (gst_base_sink_change_state): Pay attention to the core's
25863         change_state() return val.
25864         
25865         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
25866         has-getrange properties. Cleanups.
25867         
25868         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
25869         has_getrange and replace with can_activate_pull and
25870         can_activate_push.
25871
25872         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
25873         locking comments. Remove has_loop, has_chain and replace with
25874         can_activate_pull and can_activate_push.
25875
25876 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
25877
25878         * configure.ac:
25879         * examples/Makefile.am:
25880         * examples/metadata/Makefile.am:
25881         * examples/metadata/read-metadata.c: (message_loop),
25882         (have_pad_handler), (make_pipeline), (print_tag), (main):
25883           Add metadata reading example that loops over a list of filenames,
25884           dumping any tags found.
25885
25886         * gst/gstbus.c: (gst_bus_dispose):
25887         * gst/gstelement.c: (gst_element_dispose):
25888           Release a few potentially-held references in dispose.
25889
25890 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
25891
25892         * docs/gst/tmpl/gstminiobject.sgml:
25893           do *not* add tmpl/*.sgml files to CVS!
25894
25895 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
25896
25897         * libs/gst/bytestream/.cvsignore:
25898         * libs/gst/bytestream/Makefile.am:
25899         * libs/gst/bytestream/adapter.c:
25900         * libs/gst/bytestream/adapter.h:
25901         * libs/gst/bytestream/bytestream.c:
25902         * libs/gst/bytestream/bytestream.h:
25903         * libs/gst/bytestream/filepad.c:
25904         * libs/gst/bytestream/filepad.h:
25905           removing obsolete files
25906
25907 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
25908
25909         * docs/gst/gstreamer-docs.sgml:
25910         * docs/libs/gstreamer-libs-docs.sgml:
25911           disabed additional index entries again, as this makes docs-gen just
25912           slow and they aren't useful yet
25913         * docs/libs/gstreamer-libs-sections.txt:
25914           little -section.txt cleanup for libs
25915
25916 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
25917
25918         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25919         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
25920           fix up some debugging
25921         (gst_base_transform_get_unit_size),
25922         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
25923         (gst_base_transform_handle_buffer):
25924         * gst/base/gstbasetransform.h:
25925           handle and store timed NEWSEGMENT events so that subclasses that
25926           calculate time by counting samples have a segment_start time they
25927           need to add to their timestamps - see audioresample
25928
25929 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
25930
25931         * gst/gstbin.h:
25932           removed ';' from the end of macro defs
25933         * docs/gst/gstreamer-docs.sgml:
25934         * docs/gst/gstreamer-sections.txt:
25935         * docs/gst/tmpl/.cvsignore:
25936         * gst/gstbus.h:
25937         * gst/gstelement.c: (gst_element_class_init),
25938         (gst_element_set_state), (activate_pads),
25939         (gst_element_save_thyself):
25940         * gst/gstevent.c: (gst_event_new_newsegment):
25941         * gst/gstevent.h:
25942         * gst/gstiterator.c:
25943         * gst/gstiterator.h:
25944         * gst/gstpad.c:
25945         * gst/gstprobe.h:
25946         * gst/gstutils.c: (gst_pad_query_convert):
25947         * gst/gstutils.h:
25948           fixed parameter name mismatches between source, header and docs
25949           added some more docs, resolved the last batch of unused elements in
25950           docs (now someone needs to doc them)
25951
25952 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
25953
25954         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
25955         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
25956           don't walk through the plugins backwards.  Where is all this
25957           reversed logic coming from ?
25958
25959 2005-08-25  Wim Taymans  <wim@fluendo.com>
25960
25961         * gst/base/gstbasetransform.c: (gst_base_transform_init),
25962         (gst_base_transform_transform_size),
25963         (gst_base_transform_configure_caps),
25964         (gst_base_transform_get_unit_size),
25965         (gst_base_transform_buffer_alloc),
25966         (gst_base_transform_change_state):
25967         * gst/base/gstbasetransform.h:
25968         Cache caps unit_size.
25969         Make sure we cannot negotiate up and downstream at the
25970         same time.
25971
25972 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
25973
25974         * gst/gst.c: (init_pre), (init_post):
25975           register the installed plugin path after the env var
25976         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
25977         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
25978           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
25979           directories, so the tests can prefer uninstalled over installed
25980
25981 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
25982
25983         * gst/base/gstbasetransform.h:
25984           comment
25985         * gst/gstpad.c:
25986           add to docs
25987
25988 2005-08-25  Wim Taymans  <wim@fluendo.com>
25989
25990         * gst/gstbin.c: (bin_bus_handler):
25991         Be a bit more conservative about the posted message.
25992         
25993         * gst/gstbus.c: (gst_bus_post):
25994         Some cleanups, warn wrong return values.
25995
25996 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
25997
25998         * check/gst/gstbin.c: (GST_START_TEST):
25999         * gst/gstbin.c: (bin_bus_handler):
26000         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26001         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26002         (gst_message_new_warning), (gst_message_new_tag),
26003         (gst_message_new_state_changed), (gst_message_new_segment_start),
26004         (gst_message_new_segment_done), (gst_message_new_custom):
26005         * gst/gstmessage.h:
26006         * tools/gst-launch.c: (event_loop):
26007         * tools/gst-md5sum.c: (event_loop):
26008           Revert unpopular change for GST_MESSAGE_SRC to GObject.
26009
26010 2005-08-25  Wim Taymans  <wim@fluendo.com>
26011
26012         * check/generic/states.c: (GST_START_TEST):
26013         Cleanup can be done at the end.
26014
26015         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
26016         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26017         (gst_task_get_state), (gst_task_start), (gst_task_pause):
26018         Oh boy.. Thanks for finding this, Thomas. 
26019
26020 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26021
26022         * docs/gst/gstreamer.types:
26023           added missing types
26024
26025 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
26026
26027         * docs/gst/gstreamer-docs.sgml:
26028         * docs/gst/gstreamer-sections.txt:
26029         * docs/gst/tmpl/.cvsignore:
26030         * gst/gstbin.c:
26031         * gst/gstiterator.c:
26032         * gst/gstutils.c:
26033         * gst/registries/gstxmlregistry.h:
26034           added missing classes and symbols (123 more to go)
26035           removed removed symbols from section file
26036           fixed many doc-comments
26037
26038 2005-08-24  Wim Taymans  <wim@fluendo.com>
26039
26040         * check/generic/states.c: (GST_START_TEST):
26041         Make sure all tasks are stopped.
26042
26043         * check/gst/gstbin.c: (GST_START_TEST):
26044         Unref after usage for proper valgrinding.
26045
26046         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
26047         Really wait for the task to stop before destroying the
26048         mutex.
26049
26050         * gst/gstqueue.c: (gst_queue_sink_activate_push),
26051         (gst_queue_src_activate_push):
26052         Small cleanups. Don't stop the task when we did not start
26053         it.
26054
26055         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
26056         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
26057         (gst_task_get_state), (gst_task_start), (gst_task_pause),
26058         (gst_task_join):
26059         * gst/gsttask.h:
26060         Protect the stream lock with the object lock.
26061         Disallow setting the stream lock when running.
26062         Add cleanup_all to wait for the threadpool to finish.
26063         Remove code to autoallocate a mutex if none was provided.
26064         Add _join() to wait for a task to stop.
26065         Protect the thread pool with a global lock.
26066
26067 2005-08-24  Wim Taymans  <wim@fluendo.com>
26068
26069         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26070         (gst_base_sink_get_times), (gst_base_sink_do_sync),
26071         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
26072         * gst/base/gstbasesink.h:
26073         Handle newsegment events correctly.
26074         Drop buffers out of the segment range.
26075
26076 2005-08-22  Andy Wingo  <wingo@pobox.com>
26077
26078         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
26079         macro, implements an interface and gstimplementsinterface for a
26080         new type.
26081
26082 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26083
26084         * check/Makefile.am:
26085         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
26086           add a test that does a bunch of state changes on elements
26087           needs some fixing for valgrind
26088         * check/states/sinks.c: (gst_object_suite):
26089           whitespace
26090         * gst/gstcaps.h:
26091           add prototype for gst_caps_is_equal_fixed
26092         * gst/gstplugin.c:
26093         * gst/gstregistrypool.c:
26094           doc fixes
26095
26096 2005-08-24  Andy Wingo  <wingo@pobox.com>
26097
26098         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
26099         convert a negative value. Doesn't make much sense. Mostly this is
26100         here to force callers to ensure -1 maps to -1.
26101
26102 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26103
26104         * docs/pwg/advanced-types.xml:
26105           Well done to Michael for catching my deliberate introduction
26106           of this spelling mistake. 
26107         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
26108         * gst/gstelement.h:
26109           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
26110           unlink pads before removing the element from the bin.
26111
26112 2005-08-24  Andy Wingo  <wingo@pobox.com>
26113
26114         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
26115         the same thing as GST_DEBUG=*:4.
26116         (parse_debug_level, parse_debug_category): New helper parsers.
26117
26118 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26119
26120         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26121         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
26122         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
26123         (gst_base_transform_buffer_alloc),
26124         (gst_base_transform_handle_buffer):
26125           use gboolean return values and pointers to size so we can use the
26126           full GST_BUFFER_SIZE range (guint) for buffer sizes
26127           use GstPadDirection for transform_caps
26128         * gst/base/gstbasetransform.h:
26129           rename get_size to get_unit_size since that's what it is
26130         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
26131           use GstPadDirection for transform_caps
26132         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26133         * gst/gstutils.h:
26134           cleanup and debugging
26135
26136 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26137
26138         * gst/gstelement.c: (gst_element_class_init),
26139         (gst_element_set_state), (activate_pads),
26140         (gst_element_save_thyself):
26141         * tools/gst-compprep.c: (main):
26142         * tools/gst-inspect.c: (print_element_properties_info):
26143         * tools/gst-xmlinspect.c: (print_element_properties):
26144           Fixed long standing mem-leak
26145
26146 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26147
26148         * check/gst/gstbin.c: (GST_START_TEST):
26149         * gst/gstbin.c: (bin_bus_handler):
26150         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26151         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26152         (gst_message_new_warning), (gst_message_new_tag),
26153         (gst_message_new_state_changed), (gst_message_new_segment_start),
26154         (gst_message_new_segment_done), (gst_message_new_custom):
26155         * gst/gstmessage.h:
26156         * tools/gst-launch.c: (event_loop):
26157         * tools/gst-md5sum.c: (event_loop):
26158           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
26159           that applications can sensibly post custom messages with references
26160           to their own objects.
26161
26162 2005-08-24  Andy Wingo  <wingo@pobox.com>
26163
26164         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
26165         already.
26166
26167 2005-08-24  Wim Taymans  <wim@fluendo.com>
26168
26169         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26170         (gst_base_transform_transform_caps),
26171         (gst_base_transform_transform_size),
26172         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26173         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26174         (gst_base_transform_handle_buffer):
26175         * gst/base/gstbasetransform.h:
26176         Many fixes and new features added by Thomas. Can now also do
26177         transforms with variable sizes and a custom fixate_caps function.
26178
26179 2005-08-24  Wim Taymans  <wim@fluendo.com>
26180
26181         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26182         Some debugging.
26183
26184         * gst/gstclock.h:
26185         Cast to ClockTime before formatting to time.
26186
26187         * gst/gstutils.h:
26188         Cleanups.
26189
26190 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26191
26192         * check/gst-libs/controller.c: (GST_START_TEST),
26193         (gst_controller_suite):
26194         * docs/gst/tmpl/gstcaps.sgml:
26195         * docs/gst/tmpl/gstghostpad.sgml:
26196         * docs/gst/tmpl/gstquery.sgml:
26197         * docs/gst/tmpl/gstutils.sgml:
26198         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26199         (gst_object_sink_values), (gst_object_get_value_arrays),
26200         (gst_object_get_value_array):
26201           gracefully handle helper method calls to objects that are not beeing
26202           controlled, added test case for that          
26203
26204 2005-08-23  Wim Taymans  <wim@fluendo.com>
26205
26206         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
26207         (gst_event_new_newsegment), (gst_event_parse_newsegment),
26208         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
26209         (gst_event_parse_qos), (gst_event_new_seek),
26210         (gst_event_parse_seek):
26211         * gst/gstevent.h:
26212         Some more debugging output and doc cleanups.
26213
26214         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26215         Fix possible deadlock.
26216
26217 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26218
26219         * docs/gst/gstreamer-docs.sgml:
26220         * docs/gst/gstreamer-sections.txt:
26221         * docs/gst/gstreamer.types:
26222         * docs/gst/tmpl/.cvsignore:
26223         * gst/gstbin.h:
26224         * gst/gstbus.c:
26225         * gst/gstelement.c:
26226         * gst/gstevent.h:
26227           added 100 symbols from gstreamer-unused.txt to the right sections
26228           fixed more broken comments
26229           added GstBus to docs
26230
26231 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26232
26233         * docs/gst/gstreamer-sections.txt:
26234         * docs/gst/tmpl/.cvsignore:
26235         * docs/gst/tmpl/gstbin.sgml:
26236         * docs/gst/tmpl/gstbuffer.sgml:
26237         * gst/base/gstbasesrc.c:
26238         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
26239         * gst/gstbuffer.c:
26240         * gst/gstbuffer.h:
26241         * tools/gst-launch.1.in:
26242           inlined more doc comments, added missing comments and fixed comments
26243           fixed typos
26244
26245 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
26246
26247         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26248           some debugging
26249         * gst/gstcaps.h:
26250           whitespace fixes
26251         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
26252           more debugging
26253         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
26254         * gst/gststructure.h:
26255           add a fixate function for booleans; add a FIXME that these func
26256           names should probably be gst_structure_fixate_*
26257
26258 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26259
26260         * docs/gst/gstreamer-docs.sgml:
26261         * docs/gst/gstreamer-sections.txt:
26262         * gst/Makefile.am:
26263         * gst/gstbin.c: (gst_bin_get_type),
26264         (gst_bin_child_proxy_get_child_by_index),
26265         (gst_bin_child_proxy_get_children_count),
26266         (gst_bin_child_proxy_init):
26267         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
26268         (gst_child_proxy_get_child_by_index),
26269         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26270         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
26271         (gst_child_proxy_get), (gst_child_proxy_set_property),
26272         (gst_child_proxy_set_valist), (gst_child_proxy_set),
26273         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
26274         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
26275         * gst/gstchildproxy.h:
26276         * gst/parse/grammar.y:
26277         * tools/gst-inspect.c: (print_interfaces),
26278         (print_element_properties_info), (print_element_info):
26279           ported gstchildproxy over from 0.8
26280           ported gst-inspect fixes and enhancements over from 0.8
26281
26282 2005-08-22  Wim Taymans  <wim@fluendo.com>
26283
26284         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26285         (gst_base_transform_handle_buffer):
26286         Also call the transform function if we have ANY caps.
26287
26288         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
26289         Fix debug info.
26290
26291 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26292
26293         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
26294           Don't pretend to handle seek events if the source is not seekable
26295
26296 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26297
26298         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26299           Remove extra parameter to debug output
26300
26301         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26302         (gst_base_src_do_seek), (gst_base_src_activate_push):
26303           Fix seek event handling.
26304
26305         * gst/gstpipeline.c: (gst_pipeline_change_state):
26306         * gst/gstqueue.c: (gst_queue_handle_sink_event),
26307         (gst_queue_src_activate_push):
26308           Don't start the src pad task on FLUSH_STOP if the pad
26309           isn't linked.
26310           Debug changes.
26311
26312 2005-08-22  Wim Taymans  <wim@fluendo.com>
26313
26314         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
26315         Added check for gst_static_caps_get() refcounting.
26316
26317 2005-08-22  Wim Taymans  <wim@fluendo.com>
26318
26319         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
26320         Make _static_caps_get() refcounting sane.
26321         
26322         * gst/gstelement.c: (gst_element_set_state):
26323         Add g_return_val_if_fail() to protect against segfaults.
26324
26325 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
26326
26327         * docs/gst/tmpl/gstevent.sgml:
26328         * gst/gstevent.c:
26329         * gst/gstevent.h:
26330           inlined remaining docs, added missing doc comments
26331
26332 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
26333
26334         * check/gst/gstbin.c: (GST_START_TEST):
26335           since we don't know when preroll is done, use refcount range
26336           check for the sink
26337         * gst/check/gstcheck.h:
26338           add macro for checking refcount range
26339
26340 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26341
26342         * check/Makefile.am:
26343           clean up environment for when registry gets built versus
26344           when actual tests are run; valgrind seems to not report
26345           leaks if GST_PLUGIN_PATH is set to some specific values
26346         * check/gst/gstbin.c: (GST_START_TEST):
26347           add more refcounting checks; maybe this exposes a
26348           preroll lock bug ?
26349         * common/check.mak:
26350         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26351         * gst/check/gstcheck.h:
26352         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
26353         (gst_bin_change_state):
26354         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
26355           add/fix debugging/whitespace
26356
26357 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26358
26359         * check/gst/gstevent.c: (event_probe), (test_event),
26360         (GST_START_TEST):
26361          Er, don't call gst_bin_watch_for_state_change you idiot.
26362
26363 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26364
26365         * check/Makefile.am:
26366           Use CHECK_CFLAGS and CHECK_LIBS
26367         * check/gst/gstevent.c: (event_probe), (test_event),
26368         (GST_START_TEST):
26369           Don't leak events.
26370         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26371         (gst_base_src_start), (gst_base_src_stop),
26372         (gst_base_src_activate_push), (gst_base_src_activate_pull),
26373         (gst_base_src_change_state):
26374           Sprinkle gst_base_src_stop liberally around error paths to fix
26375           problems reusing a source after failed state changes.
26376         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26377         (helper_find_suggest), (gst_type_find_helper):
26378           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
26379         * gst/gstevent.h:
26380         * docs/gst/tmpl/gstevent.sgml:
26381           Migrate part of the docs from the SGML file. Wait for ensonic to
26382           tell me how I did it wrong ;)
26383         * tools/gst-typefind.c: (main):
26384           Extra robustness to state changes between files.
26385
26386 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26387
26388         * check/Makefile.am:
26389           don't valgrind the controller test - it's leaking - Stefan, HELP
26390         * gst/check/gstcheck.c: (gst_check_message_error),
26391         (gst_check_chain_func), (gst_check_setup_element),
26392         (gst_check_teardown_element), (gst_check_setup_src_pad),
26393         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
26394         (gst_check_teardown_sink_pad):
26395         * gst/check/gstcheck.h:
26396           add a bunch of methods to set up elements, and src and sink pads
26397         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
26398         * check/elements/identity.c: (setup_identity), (cleanup_identity),
26399         (GST_START_TEST):
26400           use them
26401         * gst/gstmessage.c:
26402         * gst/gsttag.h:
26403           whitespace/doc fixes
26404
26405 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26406
26407         * gst/gstelement.h:
26408           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
26409           be handled by the application and not always printed as well
26410
26411 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26412
26413         * check/Makefile.am:
26414           set GST_TOOLS_DIR
26415         * gst/check/gstcheck.c: (gst_check_message_error):
26416         * gst/check/gstcheck.h:
26417           add a fail_unless_equals_int
26418           add fail_unless for error messages
26419
26420 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26421
26422         * check/Makefile.am:
26423         * check/gst.supp:
26424         * common/Makefile.am:
26425         * common/check.mak:
26426         * common/gst.supp:
26427           factor out some of the common stuff so we can use it
26428
26429 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26430
26431         * check/Makefile.am:
26432         * check/gst/gstiterator.c: (GST_START_TEST):
26433         * check/gst/gstsystemclock.c: (GST_START_TEST),
26434         (gst_systemclock_suite):
26435         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26436         * gst/gstclock.c:
26437           valgrind more tests
26438
26439 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26440
26441         * check/elements/.cvsignore:
26442         * check/elements/gstfakesrc.c:
26443           rename to name of element
26444         * check/elements/identity.c: (chain_func), (event_func),
26445         (setup_identity), (cleanup_identity), (GST_START_TEST),
26446         (identity_suite), (main):
26447           add a test for identity
26448         * check/Makefile.am:
26449         * pkgconfig/Makefile.am:
26450         * pkgconfig/gstreamer-check.pc.in:
26451         * pkgconfig/gstreamer-check-uninstalled.pc.in:
26452         * gst/check:
26453         * gst/Makefile.am:
26454         * configure.ac:
26455           move the check stuff to a library that gets installed
26456         * check/gst-libs/controller.c: (GST_START_TEST):
26457         * check/gst-libs/gdp.c:
26458         * check/gst/gst.c: (GST_START_TEST):
26459         * check/gst/gstbin.c:
26460         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26461         * check/gst/gstbus.c:
26462         * check/gst/gstcaps.c: (GST_START_TEST):
26463         * check/gst/gstelement.c:
26464         * check/gst/gstghostpad.c:
26465         * check/gst/gstiterator.c:
26466         * check/gst/gstmessage.c:
26467         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
26468         * check/gst/gstobject.c:
26469         * check/gst/gstpad.c: (GST_START_TEST):
26470         * check/gst/gststructure.c: (GST_START_TEST):
26471         * check/gst/gstsystemclock.c: (GST_START_TEST),
26472         (gst_systemclock_suite):
26473         * check/gst/gsttag.c: (gst_tag_suite):
26474         * check/gst/gstvalue.c:
26475         * check/pipelines/cleanup.c:
26476         * check/pipelines/simple_launch_lines.c:
26477         * check/states/sinks.c:
26478           change include statement
26479
26480         * docs/gst/gstreamer-sections.txt:
26481         * docs/gst/tmpl/gstpad.sgml:
26482           document more pad stuff
26483         * gst/gstminiobject.c: (gst_mini_object_ref),
26484         (gst_mini_object_unref):
26485           debug refcounting
26486
26487 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
26488
26489         * docs/gst/tmpl/gst.sgml:
26490         * gst/gst.c:
26491           eliminate another tmpl file, fix spelling in the long-description
26492
26493 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26494
26495         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26496         (test_event), (timediff), (gstevents_suite):
26497           Should fix build on 64-bit arch's
26498
26499 2005-08-18  Andy Wingo  <wingo@pobox.com>
26500
26501         Make sure that when a pipeline goes to PLAYING, that data has
26502         actually hit the sink.
26503
26504         * check/states/sinks.c (test_sink): A sink that doesn't get any
26505         data shouldn't return SUCCESS for going to either PLAYING or
26506         PAUSED. Test also the return values on the way back down.
26507
26508         * gst/gstelement.c (gst_element_set_state): When changing the
26509         state of an element currently changing state asynchronously, go to
26510         lost-state after commiting the pending state. Makes future calls
26511         to get_state continue to return ASYNC.
26512
26513         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
26514         ASYNC when going to PLAYING if we still don't have preroll, as can
26515         happen with live sources.
26516
26517 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26518
26519         * docs/pwg/advanced-types.xml:
26520           Hack long paragraph into 2 chunks as a workaround for buggy
26521           jadetex version in sid and breezy that loops infinitely and
26522           eats all RAM.
26523
26524 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26525
26526         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26527         (test_event), (timediff), (gstevents_suite):
26528           Provide more error margin in clock measurements to allow for 
26529           g_get_current_time inaccuracies.
26530
26531 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26532
26533         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26534         (test_event), (timediff), (gstevents_suite):
26535            Fix error message output so I might be able to tell why the
26536            test works here but fails on the build farm.
26537
26538 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26539
26540         * check/Makefile.am:
26541         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26542         (test_event), (timediff), (gstevents_suite), (main):
26543           I wrote a test!
26544
26545         * docs/design/part-seeking.txt:
26546           Spelling correction
26547
26548         * docs/gst/tmpl/gstevent.sgml:
26549         * docs/gst/tmpl/gstfakesrc.sgml:
26550           Docs updates.
26551
26552         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26553           Treat a buffer-without-newsegment the same as a receiving 
26554           a newsegment not in time format, and disable syncing to the clock
26555           with a warning.
26556
26557         * gst/gstbus.c: (gst_bus_set_sync_handler):
26558           Assert if anyone tries to replace the existing sync_handler for bus, 
26559           as only the owner should be setting it.
26560
26561         * gst/gstevent.h:
26562           Have a fixed set of custom event enums with events identified by
26563           their structure name (as in 0.8), rather than a free-for-all
26564           allowing collisions between enum values from different plugins.
26565
26566         * gst/gstpad.c: (gst_pad_class_init):
26567           Docs change.
26568           
26569         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26570           Handle out-of-band downstream events from the sending thread.
26571
26572 2005-08-17  Andy Wingo  <wingo@pobox.com>
26573
26574         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
26575         play-timeout==0 to mean no timeout at all. In that case, don't
26576         bother with a get_state or a warning, just return directly, even
26577         if it's ASYNC.
26578
26579         * gst/base/gstbasetransform.c: Debug changes.
26580
26581         * gst/gstutils.h:
26582         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
26583         ensure bins post state change messages. A bit of a hack but I can't
26584         think of a way to avoid it.
26585
26586         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
26587
26588 2005-08-16  Andy Wingo  <wingo@pobox.com>
26589
26590         * gst/base/gstadapter.h:
26591         * gst/base/gstadapter.c (gst_adapter_take): New function, like
26592         peek() but you own the data. Not terribly efficient atm.
26593
26594 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26595
26596         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
26597         (gst_element_found_tags):
26598         * gst/gstutils.h:
26599           Add two utility functions for tag handling.
26600
26601 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26602
26603         * docs/manual/advanced-dataaccess.xml:
26604         * docs/manual/basics-helloworld.xml:
26605           Fix docs to use _bin_add() before _link(), which fixes the examples
26606           with recent core versions (reported by Madhan Raj M
26607           <raj_madan@rediffmail.com>, #313199).
26608
26609 2005-08-16  Wim Taymans  <wim@fluendo.com>
26610
26611         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26612         Added subtract checks.
26613
26614         * docs/design/part-events.txt:
26615         Some more docs about newsegment
26616
26617         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26618         Fix FIXME
26619
26620         * gst/gstcaps.c: (gst_caps_to_string):
26621         Add comments, cleanups.
26622         
26623         * gst/gstelement.c: (gst_element_save_thyself):
26624         cleanups
26625         
26626         * gst/gstvalue.c: (gst_value_collect_int_range),
26627         (gst_string_unwrap), (gst_value_union_int_int_range),
26628         (gst_value_union_int_range_int_range),
26629         (gst_value_intersect_int_int_range),
26630         (gst_value_intersect_int_range_int_range),
26631         (gst_value_intersect_double_double_range),
26632         (gst_value_intersect_double_range_double_range),
26633         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
26634         (gst_value_subtract_int_range_int),
26635         (gst_value_subtract_double_range_double),
26636         (gst_value_subtract_double_range_double_range),
26637         (gst_value_subtract_from_list), (gst_value_subtract_list),
26638         (gst_value_can_compare), (gst_value_compare_fraction):
26639         Cleanups, add comments, remove unneeded asserts.
26640
26641 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
26642
26643         * tools/gst-launch.c: (event_loop):
26644           don't convert NULL structures to strings
26645
26646 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
26647
26648         * docs/gst/gstreamer-sections.txt:
26649           made some defines private
26650         * docs/gst/tmpl/gstconfig.sgml:
26651         * docs/gst/tmpl/gstqueue.sgml:
26652         * docs/gst/tmpl/gsttaglist.sgml:
26653         * docs/gst/tmpl/gsttypes.sgml:
26654         * docs/gst/tmpl/gstutils.sgml:
26655         * docs/pwg/appendix-porting.xml:
26656         * gst/base/gstbasesink.h:
26657         * gst/base/gstbasesrc.c:
26658         * gst/base/gstbasesrc.h:
26659         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
26660         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
26661         * gst/gstelement.c: (gst_element_class_init):
26662         * gst/gstpad.c: (gst_pad_class_init):
26663         * gst/gstqueue.c: (gst_queue_class_init):
26664         * gst/gstxml.c: (gst_xml_class_init):
26665           documented all undocumented signal inline
26666         * libs/gst/controller/gst-controller.h:
26667           added padding
26668
26669 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26670
26671         * docs/pwg/appendix-porting.xml:
26672           Document _set_link_function -> _set_setcaps_function.
26673
26674 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
26675
26676         * check/Makefile.am:
26677           add a .check target for running the check
26678         * check/gst-libs/controller.c: (GST_START_TEST):
26679           cosmetic fixups
26680         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26681           complete checks for gstbuffer; would be nice if I could get the
26682           gcov stuff to work so I can see if I actually completed gstbuffer.c
26683         * check/gstcheck.h:
26684           add ASSERT_BUFFER_REFCOUNT
26685
26686 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
26687
26688         * docs/gst/gstreamer-sections.txt:
26689         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
26690         * gst/gsttag.h:
26691           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
26692           spew out a warning if a tag that is already registered
26693           is re-registered, unless it is re-registered with a 
26694           different type (#308438).
26695
26696 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
26697
26698         * docs/pwg/appendix-porting.xml:
26699         * docs/pwg/building-state.xml:
26700           Add some paragraphs about state changes in 0.9 to the PWG
26701           and the porting guide, in particular about the new meaning
26702           of GST_STATE_PAUSED and how to write state change functions
26703           with concurrent access by multiple threads in mind.
26704
26705 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
26706
26707         * docs/gst/gstreamer-docs.sgml:
26708         * docs/libs/gstreamer-libs-docs.sgml:
26709           added deprecation and since indexes
26710         * libs/gst/controller/gst-controller.c:
26711         * libs/gst/controller/gst-helper.c:
26712           added since tags
26713
26714
26715 2005-08-11  Wim Taymans  <wim@fluendo.com>
26716
26717         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
26718         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
26719         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
26720         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
26721         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
26722         (gst_ghost_pad_set_target):
26723         Actually implement (re)setting the target on a ghostpad
26724         as described in the docs.
26725
26726 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
26727
26728         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
26729           Check whether GST_DEBUG_NO_COLOR environment variable is
26730           set and disable coloured debug output if that is the case.
26731
26732 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
26733
26734         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26735         (gst_type_find_helper):
26736           The memory returned by gst_type_find_peek() needs to
26737           stay valid until the end of a typefind function, and
26738           typefind functions may keep results from different 
26739           offsets around, so we can't just unref the buffer from
26740           the previous _peek(), but have to save all buffers 
26741           returned by _peek() until typefinding is done and only
26742           free them then.
26743
26744 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
26745
26746         * docs/gst/gstreamer-sections.txt:
26747         * gst/gstutils.h:
26748           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
26749
26750 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26751
26752         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
26753           Fix a pretty good memleak.
26754
26755 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
26756
26757         * gst/gstiterator.h:
26758           Fix wrong include and 'make distcheck'.
26759
26760 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26761
26762         * gst/gstbin.c: (bin_bus_handler):
26763           Use gst_element_post_message() instead.
26764
26765 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
26766
26767         * gst/base/gstadapter.h:
26768         * gst/base/gstbasesink.h:
26769         * gst/base/gstbasesrc.h:
26770         * gst/base/gstbasetransform.h:
26771         * gst/base/gstcollectpads.h:
26772         * gst/base/gstpushsrc.h:
26773         * gst/gstiterator.h:
26774           Add padding to our base elements' class and instance structs and
26775           to GstIterator (you will need to rebuild all plugins and apps!)
26776
26777 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26778
26779         * gst/gstbin.c: (bin_bus_handler):
26780           Make default message forwarding from child->bus to bin->bus
26781           threadsafe and make it not emit warnings if the parent has no bus.
26782
26783 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26784
26785         * gst/gstelement.c: (activate_pads):
26786           On paused->ready, set pad->caps to NULL, as is the documented
26787           behaviour in this state change. Fixes playback of series of
26788           media files when visualization is enabled in Totem.
26789
26790 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26791
26792         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
26793           Allow NULL as filter-caps (which means "any").
26794
26795 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
26796
26797         * docs/libs/gstreamer-libs-sections.txt:
26798         * libs/gst/controller/gst-controller.c:
26799         * libs/gst/controller/gst-controller.h:
26800         * libs/gst/controller/gst-helper.c:
26801           adding more entries to the docs and fix small doc-bugs
26802
26803 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
26804
26805         * docs/gst/gstreamer-docs.sgml:
26806         * docs/gst/gstreamer-sections.txt:
26807         * docs/gst/gstreamer.types:
26808         * docs/gst/tmpl/gstbasesink.sgml:
26809         * docs/gst/tmpl/gstbasesrc.sgml:
26810         * docs/gst/tmpl/gstbasetransform.sgml:
26811         * docs/gst/tmpl/gstfakesrc.sgml:
26812         * gst/base/gstcollectpads.c:
26813         * gst/base/gstcollectpads.h:
26814         * libs/gst/controller/gst-controller.c:
26815         * libs/gst/controller/gst-controller.h:
26816         * libs/gst/controller/gst-helper.c:
26817         * libs/gst/controller/gst-interpolation.c:
26818         * libs/gst/controller/lib.c:
26819           added long/short desc for controller docs
26820           added collectpads base class docs
26821           added correct includes to base-class docs
26822
26823 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
26824
26825         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
26826         (gst_test_mono_source_set_property),
26827         (gst_test_mono_source_class_init), (GST_START_TEST),
26828         (gst_controller_suite):
26829         * docs/gst/gstreamer-docs.sgml:
26830         * docs/gst/gstreamer-sections.txt:
26831         * docs/gst/gstreamer.types:
26832         * docs/libs/gstreamer-libs-docs.sgml:
26833         * docs/libs/gstreamer-libs-sections.txt:
26834         * gst/base/gstadapter.c:
26835         * libs/gst/controller/gst-controller.c:
26836         (gst_controlled_property_new), (gst_controlled_property_free),
26837         (gst_controller_new_valist),
26838         (gst_controller_remove_properties_valist),
26839         (gst_controller_sink_values), (_gst_controller_finalize):
26840         * libs/gst/controller/gst-controller.h:
26841         * libs/gst/controller/gst-helper.c:
26842         (gst_object_control_properties), (gst_object_uncontrol_properties),
26843         (gst_object_get_controller), (gst_object_set_controller),
26844         (gst_object_sink_values), (gst_object_get_value_arrays),
26845         (gst_object_get_value_array):
26846           more tests (and fixes) for the controller
26847           more docs for the controller
26848           integrated companies docs for the adapter 
26849
26850 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
26851
26852         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
26853         (GST_START_TEST), (fakesrc_suite):
26854           add tests for sizetype
26855
26856 2005-08-04  Andy Wingo  <wingo@pobox.com>
26857
26858         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
26859         fixes buffer_alloc proxying among other things.
26860
26861         * gst/base/gstbasetransform.c:
26862         * gst/base/gstbasetransform.h:
26863         Revert patch to gstbasetransform from 7-28 removing
26864         delay_configure.
26865
26866         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
26867         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
26868         Semantics changed, should return not the size of the output buffer
26869         but the byte size of a buffer with a given caps.
26870
26871         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
26872         debug object.
26873         (gst_base_transform_configure_caps): Don't set out_size here: (in,
26874         out) are not the pad caps until setcaps finishes.
26875         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
26876         not-in-place case as well. Deal with changing from in-place to
26877         not-in-place within calling pad_alloc_buffer. Still a bit
26878         concerned about the overhead here...
26879
26880 2005-08-03  Andy Wingo  <wingo@pobox.com>
26881
26882         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
26883         fixating is an error.
26884
26885 2005-08-04  Edward Hervey  <edward@fluendo.com>
26886
26887         * gst/base/gstadapter.h: 
26888         Added gst_adapter_get_type() to the header
26889
26890 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
26891
26892         * check/Makefile.am:
26893         * check/gst-libs/controller.c:
26894         * libs/gst/controller/gst-controller.c:
26895         (gst_controller_new_valist):
26896           added check test suite for the controller
26897         * gst/base/gstpushsrc.c:
26898           fixed a doc typo
26899
26900 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
26901
26902         * docs/gst/Makefile.am:
26903         * docs/gst/gstreamer-docs.sgml:
26904         * docs/gst/gstreamer-sections.txt:
26905         * docs/gst/gstreamer.types:
26906         * docs/gst/tmpl/gstfakesrc.sgml:
26907         * gst/base/README:
26908         * gst/base/gstbasesink.c:
26909         * gst/base/gstbasesink.h:
26910         * gst/base/gstbasesrc.c:
26911         * gst/base/gstbasesrc.h:
26912         * gst/base/gstbasetransform.c:
26913         * gst/base/gstpushsrc.c:
26914         * gst/base/gstpushsrc.h:
26915           add short/long description docs to base classes
26916           add pushsrc to the docs
26917           remove consolidated doc fragments
26918
26919 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
26920
26921         * configure.ac:
26922         * docs/libs/Makefile.am:
26923         * docs/libs/gstreamer-libs-docs.sgml:
26924         * docs/libs/gstreamer-libs-sections.txt:
26925         * docs/libs/gstreamer-libs.types:
26926         * examples/Makefile.am:
26927         * examples/controller/.cvsignore:
26928         * examples/controller/Makefile.am:
26929         * examples/controller/audio-example.c: (main):
26930         * libs/gst/Makefile.am:
26931         * libs/gst/controller/.cvsignore:
26932         * libs/gst/controller/Makefile.am:
26933         * libs/gst/controller/gst-controller.c:
26934         (on_object_controlled_property_changed), (gst_timed_value_compare),
26935         (gst_timed_value_find),
26936         (gst_controlled_property_set_interpolation_mode),
26937         (gst_controlled_property_new), (gst_controlled_property_free),
26938         (gst_controller_find_controlled_property),
26939         (gst_controller_new_valist), (gst_controller_new),
26940         (gst_controller_remove_properties_valist),
26941         (gst_controller_remove_properties), (gst_controller_set),
26942         (gst_controller_set_from_list), (gst_controller_unset),
26943         (gst_controller_get), (gst_controller_get_all),
26944         (gst_controller_sink_values), (gst_controller_get_value_arrays),
26945         (gst_controller_get_value_array),
26946         (gst_controller_set_interpolation_mode),
26947         (_gst_controller_finalize), (_gst_controller_init),
26948         (_gst_controller_class_init), (gst_controller_get_type):
26949         * libs/gst/controller/gst-controller.h:
26950         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
26951         (g_object_uncontrol_properties), (g_object_get_controller),
26952         (g_object_set_controller), (g_object_sink_values),
26953         (g_object_get_value_arrays), (g_object_get_value_array):
26954         * libs/gst/controller/gst-interpolation.c:
26955         (gst_controlled_property_find_timed_value_node),
26956         (interpolate_none_get), (interpolate_trigger_get),
26957         (interpolate_trigger_get_value_array):
26958         * libs/gst/controller/lib.c: (gst_controller_init):
26959         * pkgconfig/Makefile.am:
26960         * pkgconfig/gstreamer-control-uninstalled.pc.in:
26961         * pkgconfig/gstreamer-control.pc.in:
26962         * testsuite/Makefile.am:
26963         * testsuite/controller/.cvsignore:
26964         * testsuite/controller/Makefile.am:
26965         * testsuite/controller/interpolator.c: (main):
26966           added controller code
26967           removed dparam pc files
26968
26969 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
26970         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
26971         (gst_collectpads_stop):
26972           Broadcast the condition when shutting down, to make sure we wake all
26973           threads up. Shut down pads on finalize, for safety.
26974
26975 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
26976         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26977         (gst_base_transform_handle_buffer),
26978         (gst_base_transform_change_state):
26979           Handle PAUSED->READY->PAUSED transition after negotiation
26980           occurred already.
26981         * gst/gstmessage.c: (gst_message_init):
26982           Extra piece of debug for new messages.
26983
26984 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
26985
26986         * configure.ac:
26987         * docs/gst/tmpl/gstbasesrc.sgml:
26988         * docs/gst/tmpl/gstelement.sgml:
26989         * docs/gst/tmpl/gstevent.sgml:
26990         * docs/gst/tmpl/gstfakesrc.sgml:
26991         * docs/gst/tmpl/gstformat.sgml:
26992         * docs/gst/tmpl/gstghostpad.sgml:
26993         * docs/gst/tmpl/gstpad.sgml:
26994         * docs/gst/tmpl/gstquery.sgml:
26995         * docs/gst/tmpl/gststructure.sgml:
26996         * docs/gst/tmpl/gsttaglist.sgml:
26997         * docs/gst/tmpl/gstvalue.sgml:
26998         * docs/libs/gstreamer-libs-docs.sgml:
26999         * docs/libs/gstreamer-libs-sections.txt:
27000         * docs/libs/gstreamer-libs.types:
27001         * libs/gst/Makefile.am:
27002         * libs/gst/control/.cvsignore:
27003         * libs/gst/control/Makefile.am:
27004         * libs/gst/control/control.c:
27005         * libs/gst/control/control.h:
27006         * libs/gst/control/dparam.c:
27007         * libs/gst/control/dparam.h:
27008         * libs/gst/control/dparam_smooth.c:
27009         * libs/gst/control/dparam_smooth.h:
27010         * libs/gst/control/dparamcommon.h:
27011         * libs/gst/control/dparammanager.c:
27012         * libs/gst/control/dparammanager.h:
27013         * libs/gst/control/dplinearinterp.c:
27014         * libs/gst/control/dplinearinterp.h:
27015         * libs/gst/control/unitconvert.c:
27016         * libs/gst/control/unitconvert.h:
27017         * testsuite/Makefile.am:
27018         * testsuite/dynparams/.cvsignore:
27019         * testsuite/dynparams/Makefile.am:
27020         * testsuite/dynparams/dparamstest.c:
27021         * tools/Makefile.am:
27022         * tools/gst-inspect.c: (print_element_info), (main):
27023         * tools/gst-xmlinspect.c: (print_element_info), (main):
27024           deactivate and remove dparams (libgstcontrol)
27025
27026 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27027
27028         * gst/elements/gsttypefindelement.c:
27029         (gst_type_find_element_have_type), (gst_type_find_element_init),
27030         (stop_typefinding), (gst_type_find_element_handle_event),
27031         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27032         * gst/elements/gsttypefindelement.h:
27033           Set caps on all outgoing buffers, not just the first one.
27034
27035 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27036
27037         * gst/elements/gsttypefindelement.c:
27038         (gst_type_find_element_have_type),
27039         (gst_type_find_element_check_set_buffer_caps),
27040         (gst_type_find_element_init), (stop_typefinding),
27041         (gst_type_find_element_handle_event),
27042         (gst_type_find_element_chain), (gst_type_find_element_getrange):
27043         * gst/elements/gsttypefindelement.h:
27044           Set caps on first outgoing buffer when we've found the type.
27045
27046 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
27047
27048         * docs/gst/gstreamer-docs.sgml:
27049         * docs/gst/gstreamer-sections.txt:
27050         * docs/gst/tmpl/gstscheduler.sgml:
27051         * docs/gst/tmpl/gstschedulerfactory.sgml:
27052           Remove some old cruft from docs.
27053
27054 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
27055
27056         * gst/gstpad.h:
27057           Fix inline docs for GstPadLinkReturn.
27058           
27059         * gst/gststructure.c: (gst_structure_has_name):
27060         * gst/gststructure.h:
27061         * docs/gst/gstreamer-sections.txt:
27062           New API: gst_structure_has_name().
27063
27064 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
27065
27066         * configure.ac:
27067           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
27068           and _LARGEFILE_SOURCE in config.h as required. Do not 
27069           export those flags in our .pc files any longer (#142209).
27070
27071           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
27072
27073         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
27074         (gst_file_sink_do_seek), (gst_file_sink_event),
27075         (gst_file_sink_get_current_offset), (gst_file_sink_render):
27076           Redo seek/tell calls with large file support in mind; add some
27077           debugging messages; add log message that tells us when large
27078           file support is unavailable or not enabled for some reason.
27079
27080         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
27081           Add log message that tells us when large file support 
27082           is unavailable or not enabled for some reason.
27083
27084 2005-07-29  Wim Taymans  <wim@fluendo.com>
27085
27086         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27087         Added test for removing an element with ghostpad from a bin.
27088         Fixed test as current implementation does the right thing.
27089
27090         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
27091         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
27092         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
27093         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
27094         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
27095         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
27096         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
27097         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27098         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
27099         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
27100         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
27101         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
27102         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
27103         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
27104         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
27105         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
27106         * gst/gstghostpad.h:
27107         Clean up ghostpads, remove properties for internal stuff.
27108         Make threadsafe.
27109         Fix refcounting.
27110         Prepare for switching targets, not all use cases work yet.
27111
27112 2005-07-29  Wim Taymans  <wim@fluendo.com>
27113
27114         * docs/design/part-gstghostpad.txt:
27115         Small update.
27116
27117         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27118         (gst_bin_remove_func):
27119         Unlinking pads while holding the bin LOCK is not a good
27120         idea.
27121
27122         * gst/gstpad.c: (gst_pad_class_init),
27123         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
27124         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
27125         No prob setting template after creating the pad.
27126
27127 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
27128
27129         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
27130         (gst_bus_peek), (gst_bus_source_dispatch),
27131         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
27132         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
27133           gst_bus_poll may be called from other threads. Handle
27134           this nicely by not making poll_data disappear off the
27135           stack once gst_bus_poll returns.
27136           gst_bus_peek now increments the refcount on the returned
27137           message.
27138
27139 2005-07-29  Wim Taymans  <wim@fluendo.com>
27140
27141         * docs/design/part-gstghostpad.txt:
27142         Overview of current GhostPad datastructures and use
27143         cases for changing the target.
27144
27145 2005-07-28  Wim Taymans  <wim@fluendo.com>
27146
27147         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27148         Added checks for hierarchy consistency whan adding linked
27149         elements to bins.
27150
27151         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27152         Added check to test element scheduling without bin/pipeline.
27153
27154         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27155         First add elements to bin, then link.
27156         
27157         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27158         (gst_bin_remove_func):
27159         Unlink pads from elements added/removed from bin to maintain
27160         hierarchy consistency.
27161
27162 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27163
27164         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
27165         (gst_base_transform_handle_buffer):
27166         * gst/base/gstbasetransform.h:
27167           Remove broken delay_configure (fixes renegotiation of software
27168           scaling pipelines); remove some leftover printf()s.
27169
27170 2005-07-28  Wim Taymans  <wim@fluendo.com>
27171
27172         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27173         Added some more tests for wrong hierarchy
27174
27175         * docs/design/part-overview.txt:
27176         Some updates.
27177
27178         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
27179         Cleanups.
27180
27181         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
27182         (gst_element_dispose):
27183         Some more cleanups.
27184
27185         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27186         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
27187         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27188         (gst_pad_set_caps), (gst_pad_send_event):
27189         Check for correct hierarchy when linking pads. Moving to
27190         strict requirement for ghostpads when linking elements in
27191         different bins.
27192
27193         * gst/gstpad.h:
27194         Clean ups. Added WRONG_HIERARCHY return value.
27195
27196 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27197
27198         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27199           Better debug if no transform is possible.
27200
27201 2005-07-27  Wim Taymans  <wim@fluendo.com>
27202
27203         * docs/random/wtay/network-transp:
27204         Some old doc I had.
27205
27206 2005-07-27  Wim Taymans  <wim@fluendo.com>
27207
27208         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27209         (gst_dp_event_from_packet):
27210         Fix serialization of seek events.
27211
27212 2005-07-27  Wim Taymans  <wim@fluendo.com>
27213
27214         * check/gst-libs/gdp.c: (GST_START_TEST):
27215         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27216         Fix compilation and fix event serialization.
27217
27218 2005-07-27  Wim Taymans  <wim@fluendo.com>
27219
27220         * CHANGES-0.9:
27221         * docs/design/part-TODO.txt:
27222         * docs/design/part-events.txt:
27223         Some docs updates
27224
27225         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27226         (gst_base_sink_event), (gst_base_sink_do_sync),
27227         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27228         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27229         (gst_base_src_do_seek), (gst_base_src_event_handler),
27230         (gst_base_src_loop):
27231         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27232         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27233         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27234         (gst_base_transform_event), (gst_base_transform_handle_buffer),
27235         (gst_base_transform_set_passthrough),
27236         (gst_base_transform_is_passthrough):
27237         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27238         * gst/elements/gstfilesink.c: (gst_file_sink_event):
27239         Event updates.
27240
27241         * gst/gstbuffer.h:
27242         Use faster casts.
27243
27244         * gst/gstelement.c: (gst_element_seek):
27245         * gst/gstelement.h:
27246         Update gst_element_seek.
27247
27248         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
27249         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
27250         (gst_event_new_flush_start), (gst_event_new_flush_stop),
27251         (gst_event_new_eos), (gst_event_new_newsegment),
27252         (gst_event_parse_newsegment), (gst_event_new_tag),
27253         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
27254         (gst_event_parse_qos), (gst_event_new_seek),
27255         (gst_event_parse_seek), (gst_event_new_navigation):
27256         * gst/gstevent.h:
27257         Make GstEvent use GstStructure. Add parsing code, make sure the
27258         API is sufficiently generic.
27259         Mark possible directions of events and serialization.
27260
27261         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
27262         (_gst_message_copy), (gst_message_new_segment_start),
27263         (gst_message_new_segment_done), (gst_message_new_custom),
27264         (gst_message_parse_segment_start),
27265         (gst_message_parse_segment_done):
27266         Small cleanups.
27267
27268         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27269         (gst_pad_set_caps), (gst_pad_send_event):
27270         Update for new events. 
27271         Catch events sent in wrong directions.
27272
27273         * gst/gstqueue.c: (gst_queue_link_src),
27274         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27275         (gst_queue_handle_src_query):
27276         Event updates.
27277
27278         * gst/gsttag.c:
27279         * gst/gsttag.h:
27280         Remove event code from this file.
27281
27282         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27283         (gst_dp_event_from_packet):
27284         Event updates.
27285
27286 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27287
27288         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
27289         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27290         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
27291           Make debugging actually useful.
27292
27293 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27294
27295         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
27296         (gst_pad_fixate_caps):
27297           Implement default fixation once again, so that gst_pad_fixate()
27298           actually does anything at all. This probably needs to be some
27299           sort of a last resort, and use profile-based fixation first, but
27300           since that doesn't exist yet, this is the best we have. Fixes
27301           visualization in Totem.
27302
27303 2005-07-22  Wim Taymans  <wim@fluendo.com>
27304
27305         * docs/design/part-events.txt:
27306         Small update.
27307
27308         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27309         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
27310         (gst_base_sink_activate_pull):
27311         Some more comments.
27312
27313         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
27314         (gst_fake_src_create):
27315         Fix handoff marshall.
27316
27317         * gst/elements/gstidentity.c: (gst_identity_class_init),
27318         (gst_identity_transform_ip):
27319         We're a real inplace element.
27320
27321         * gst/gstbus.c: (gst_bus_post):
27322         Added some comments.
27323
27324         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
27325         * tests/muxing/case1.c: (main):
27326         * tests/sched/dynamic-pipeline.c: (main):
27327         * tests/sched/interrupt1.c: (main):
27328         * tests/sched/interrupt2.c: (main):
27329         * tests/sched/interrupt3.c: (main):
27330         * tests/sched/runxml.c: (main):
27331         * tests/sched/sched-stress.c: (main):
27332         * tests/seeking/seeking1.c: (event_received), (main):
27333         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
27334         (main):
27335         * tests/threadstate/threadstate3.c: (main):
27336         * tests/threadstate/threadstate4.c: (main):
27337         * tests/threadstate/threadstate5.c: (main):
27338         Fix the tests.
27339
27340 2005-07-21  Wim Taymans  <wim@fluendo.com>
27341
27342         * docs/design/part-seeking.txt:
27343         Some small additions.
27344
27345         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27346         (gst_base_sink_get_times), (gst_base_sink_do_sync),
27347         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27348         * gst/base/gstbasesink.h:
27349         discont values are gint64, handle the math correctly.
27350
27351         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27352         Make the basesrc report error if the source pad is not linked.
27353
27354         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
27355         (gst_queue_loop), (gst_queue_handle_src_query),
27356         (gst_queue_src_activate_push):
27357         Make queue collect data even if the srcpad is not linked.
27358         Start pushing out data as soon as it is linked.
27359
27360         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
27361         * gst/gstutils.h:
27362         Added gst_flow_get_name() to ease error reporting.
27363
27364 2005-07-20  Wim Taymans  <wim@fluendo.com>
27365
27366         * gst/gstmessage.c: (gst_message_new_segment_start),
27367         (gst_message_new_segment_done), (gst_message_parse_segment_start),
27368         (gst_message_parse_segment_done):
27369         * gst/gstmessage.h:
27370         Added a bunch of messages for advanced seeking.
27371
27372         * gst/parse/grammar.y:
27373         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
27374         (gst_dpman_state_changed):
27375         Fix some new-pad -> pad-added signals
27376
27377 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27378
27379         * docs/manual/appendix-porting.xml:
27380         * docs/pwg/appendix-porting.xml:
27381           Document new-pad/state-change signal renames and the FixedList
27382           type rename.
27383
27384 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27385
27386         * docs/manual/advanced-autoplugging.xml:
27387         * docs/manual/basics-helloworld.xml:
27388         * docs/manual/basics-pads.xml:
27389         * docs/random/ds/0.9-suggested-changes:
27390         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
27391         * gst/gstelement.h:
27392         * gst/gstevent.h:
27393         * gst/gstformat.h:
27394         * gst/gstquery.h:
27395         * gst/gststructure.c: (gst_structure_value_get_generic_type),
27396         (gst_structure_parse_array), (gst_structure_parse_value):
27397         * gst/gstvalue.c: (gst_type_is_fixed),
27398         (gst_value_list_prepend_value), (gst_value_list_append_value),
27399         (gst_value_list_get_size), (gst_value_list_get_value),
27400         (gst_value_transform_array_string), (gst_value_serialize_array),
27401         (gst_value_deserialize_array), (gst_value_intersect_array),
27402         (gst_value_is_fixed), (_gst_value_initialize):
27403         * gst/gstvalue.h:
27404           GstElement::new-pad -> pad-added, GstElement::state-change ->
27405           state-changed, GstValueFixedList -> GstValueArray, add format and
27406           flags as their own arguments in gst_element_seek() (should improve
27407           "bindeability"), remove function generators since they don't work
27408           under a whole bunch of compilers (they were deprecated already
27409           anyway).
27410
27411 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27412
27413         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
27414         (_gst_debug_register_funcptr):
27415         * gst/gstinfo.h:
27416           Fix illegal cast on some platforms (#309253).
27417
27418 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27419
27420         * gst/gstmessage.c: (gst_message_new_custom):
27421         * gst/gstmessage.h:
27422           Add _new_custom, make _new_application a macro to _new_custom.
27423
27424 2005-07-20  Wim Taymans  <wim@fluendo.com>
27425
27426         * gst/base/gstbasesrc.c: (gst_base_src_init),
27427         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
27428         * gst/base/gstbasesrc.h:
27429         Add a gboolean to decide when to push out a discont.
27430
27431         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27432         (gst_queue_loop), (gst_queue_handle_src_query),
27433         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27434         (gst_queue_set_property), (gst_queue_get_property):
27435         Some cleanups.
27436
27437         * tests/threadstate/threadstate1.c: (main):
27438         Make a thread test compile and run... very silly..
27439
27440
27441 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27442
27443         * docs/manual/appendix-porting.xml:
27444           Mention removal of libgstgconf-0.9.la and existence of gconf
27445           elements.
27446
27447 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27448
27449         * docs/pwg/advanced-clock.xml:
27450         * docs/pwg/appendix-porting.xml:
27451         * docs/pwg/intro-preface.xml:
27452         * docs/pwg/other-base.xml:
27453         * docs/pwg/other-manager.xml:
27454         * docs/pwg/other-nton.xml:
27455         * docs/pwg/other-ntoone.xml:
27456         * docs/pwg/other-oneton.xml:
27457         * docs/pwg/pwg.xml:
27458           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
27459           demuxer), remove n-to-n (was never written), fix some code examples
27460           and links and update the porting section to include all this.
27461
27462 2005-07-19  Wim Taymans  <wim@fluendo.com>
27463
27464         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
27465         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
27466         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
27467         (gst_queue_src_activate_push), (gst_queue_change_state),
27468         (gst_queue_get_property):
27469         * gst/gstqueue.h:
27470         Propagate GstFlowReturn more intelligently upstream and output
27471         an ERROR/EOS when streaming stopped due to fatal error.
27472
27473 2005-07-19  Wim Taymans  <wim@fluendo.com>
27474
27475         * tools/gst-launch.c: (check_intr), (event_loop), (main):
27476         Don't block forever for the state change to complete, the
27477         pipeline already did with a sensible timeout.
27478
27479 2005-07-19  Wim Taymans  <wim@fluendo.com>
27480
27481         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
27482         Make sure we never call the create function is we
27483         got deactivated.
27484
27485 2005-07-19  Andy Wingo  <wingo@pobox.com>
27486
27487         * gst/parse/parse.l: Attempt to solve bug #172815.
27488
27489 2005-07-19  Wim Taymans  <wim@fluendo.com>
27490
27491         * docs/design/part-clocks.txt:
27492         * docs/design/part-events.txt:
27493         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
27494         Small docs updates.
27495         Only update the seeking values when we are not
27496         busy streaming.
27497
27498 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27499
27500         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27501           Oops, ignore the result of gst_pad_push_event here.
27502
27503 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27504
27505         * gst/base/gstbasesrc.c: (gst_base_src_loop),
27506         (gst_base_src_activate_push):
27507           Send discont event from the loop function, as pads
27508           aren't activated yet in the activate_push handler.
27509
27510         * gst/gstbin.c: (bin_bus_handler):
27511           Don't leak element name.
27512
27513 2005-07-18  Andy Wingo  <wingo@pobox.com>
27514
27515         * configure.ac: Use AS_LIBTOOL_TAGS.
27516
27517 2005-07-18  Wim Taymans  <wim@fluendo.com>
27518
27519         * docs/gst/gstreamer.types:
27520         Remove deleted types.
27521
27522 2005-07-18  Wim Taymans  <wim@fluendo.com>
27523
27524         * check/elements/gstfakesrc.c: (GST_START_TEST):
27525         * configure.ac:
27526         * gst/Makefile.am:
27527         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
27528         (init_popt_callback):
27529         * gst/gst.h:
27530         * gst/gst_private.h:
27531         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
27532         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
27533         * gst/gstbin.h:
27534         * gst/gstbus.h:
27535         * gst/gstconfig.h.in:
27536         * gst/gstelement.c: (gst_element_class_init),
27537         (gst_element_set_base_time), (gst_element_get_base_time),
27538         (iterator_fold_with_resync), (gst_element_change_state),
27539         (gst_element_dispose), (gst_element_get_bus):
27540         * gst/gstelement.h:
27541         * gst/gstelementfactory.h:
27542         * gst/gsterror.c: (_gst_core_errors_init):
27543         * gst/gsterror.h:
27544         * gst/gstevent.h:
27545         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27546         * gst/gstindex.c:
27547         * gst/gstinfo.c: (_gst_debug_init):
27548         * gst/gstmessage.c: (_gst_message_copy):
27549         * gst/gstmessage.h:
27550         * gst/gstminiobject.h:
27551         * gst/gstobject.c:
27552         * gst/gstobject.h:
27553         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27554         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
27555         * gst/gstpad.h:
27556         * gst/gstparse.h:
27557         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27558         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27559         (gst_pipeline_get_last_stream_time):
27560         * gst/gstpipeline.h:
27561         * gst/gstpluginfeature.h:
27562         * gst/gstquery.h:
27563         * gst/gstscheduler.c:
27564         * gst/gstscheduler.h:
27565         * gst/gststructure.h:
27566         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27567         (gst_task_finalize), (gst_task_func), (gst_task_create),
27568         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
27569         (gst_task_stop), (gst_task_pause):
27570         * gst/gsttask.h:
27571         * gst/gsttypefind.h:
27572         * gst/gsttypes.h:
27573         * gst/registries/gstlibxmlregistry.c: (load_feature),
27574         (gst_xml_registry_load), (gst_xml_registry_save_feature):
27575         * gst/registries/gstxmlregistry.c:
27576         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
27577         * gst/schedulers/threadscheduler.c:
27578         * libs/gst/control/dparammanager.h:
27579         * tools/gst-inspect.c: (print_element_list),
27580         (print_plugin_features), (print_element_features):
27581         * tools/gst-xmlinspect.c: (print_element_list),
27582         (print_plugin_info), (main):
27583         Removed plugable schedulers.
27584         Removed Scheduler/Manager from elements.
27585         Removed gsttypes.h, rearranged includes.
27586         Removed dependency pad<->element, element<>pipeline, and
27587         various others,  fix includes.
27588         implement gst_pad_get_parent() with gst_object_get_parent()
27589         Make GstTask sefcontained.
27590         Fix _get_state() on GstBin, it did not return ASYNC with a 0
27591         timeout.
27592         Fix endless loop in iterator_fold_with_resync.
27593
27594
27595 2005-07-18  Wim Taymans  <wim@fluendo.com>
27596
27597         * gst/Makefile.am:
27598         * gst/gstarch.h:
27599         Remove old file.
27600
27601 2005-07-18  Wim Taymans  <wim@fluendo.com>
27602
27603         * gst/Makefile.am:
27604         No more cothreads.h
27605
27606 2005-07-18  Wim Taymans  <wim@fluendo.com>
27607
27608         * gst/cothreads.c:
27609         * gst/cothreads.h:
27610         Let's remove these.
27611
27612 2005-07-18  Wim Taymans  <wim@fluendo.com>
27613
27614         * docs/design/part-dynamic.txt:
27615         * docs/design/part-events.txt:
27616         * docs/design/part-seeking.txt:
27617         Some more docs in the works.
27618
27619         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27620         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
27621         (gst_base_transform_setcaps), (gst_base_transform_get_size),
27622         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
27623         (gst_base_transform_handle_buffer),
27624         (gst_base_transform_sink_activate_push),
27625         (gst_base_transform_src_activate_pull),
27626         (gst_base_transform_set_passthrough),
27627         (gst_base_transform_is_passthrough):
27628         Refcounting fixes.
27629
27630         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
27631         Cleanups.
27632
27633         * gst/gstevent.c: (gst_event_finalize):
27634         Set SRC to NULL.
27635
27636         * gst/gstutils.c: (gst_element_unlink),
27637         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
27638         (gst_pad_proxy_setcaps):
27639         * gst/gstutils.h:
27640         Add _get_parent_element() to get a pads parent as an element.
27641
27642 2005-07-18  Wim Taymans  <wim@fluendo.com>
27643
27644         * check/gst/gstbin.c: (GST_START_TEST):
27645         Remove bogus test.
27646
27647 2005-07-18  Wim Taymans  <wim@fluendo.com>
27648
27649         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
27650         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
27651         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
27652         (gst_base_sink_event), (gst_base_sink_do_sync),
27653         (gst_base_sink_chain), (gst_base_sink_loop),
27654         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
27655         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
27656         Refcounting fixes.
27657         Fix logic for returning ASYNC when not prerolled.
27658
27659 2005-07-18  Wim Taymans  <wim@fluendo.com>
27660
27661         * gst/gstqueue.c: (gst_queue_handle_sink_event):
27662         Fix nasty refcount bug.
27663
27664 2005-07-16 Philippe Khalaf <burger@speedy.org>
27665
27666         * gst/elements/gstfdsrc.c:
27667         * gst/elements/gstfdsrc.h:
27668         * gst/elements/gstelements.c:
27669         * gst/elements/Makefile.am:
27670         Ported fdsrc to 0.9.
27671
27672 2005-07-16  Wim Taymans  <wim@fluendo.com>
27673
27674         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27675         (gst_base_sink_do_sync):
27676         Fix compile error.
27677
27678 2005-07-16  Wim Taymans  <wim@fluendo.com>
27679
27680         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27681         (gst_base_sink_event), (gst_base_sink_get_times),
27682         (gst_base_sink_do_sync), (gst_base_sink_change_state):
27683         * gst/base/gstbasesink.h:
27684         Store and use discont values when syncing buffers as described
27685         in design docs.
27686         
27687         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27688         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
27689         (gst_base_src_activate_push):
27690         Push discont event when starting.
27691
27692         * gst/elements/gstidentity.c: (gst_identity_transform):
27693         Small cleanups.
27694
27695         * gst/gstbin.c: (gst_bin_change_state):
27696         Small cleanups in base_time  distribution.
27697
27698         * gst/gstelement.c: (gst_element_set_base_time),
27699         (gst_element_get_base_time), (gst_element_change_state):
27700         * gst/gstelement.h:
27701         Added methods for the base_time of the element.
27702         Some MT fixes.
27703
27704         * gst/gstpipeline.c: (gst_pipeline_send_event),
27705         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27706         (gst_pipeline_get_last_stream_time):
27707         * gst/gstpipeline.h:
27708         MT fixes.
27709         Handle seeking as described in design doc, remove stream_time
27710         hack.
27711         Cleanups clock and stream_time selection code. Added accessors
27712         for the stream_time.
27713         
27714
27715 2005-07-16  Andy Wingo  <wingo@pobox.com>
27716
27717         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
27718         (#305291).
27719
27720 2005-07-16  Wim Taymans  <wim@fluendo.com>
27721
27722         * check/gst/gstbin.c: (GST_START_TEST):
27723         Make elements silent as the deep_notify refs the
27724         parent, which might make the test fail.
27725
27726         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27727         Don't hold the lock for too long.
27728
27729 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
27730
27731         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
27732           Don't unref the caps we passed to gst_caps_make_writable() after
27733           passing them. gst_caps_make_writable() will do that for us.
27734
27735 2005-07-15  Andy Wingo  <wingo@pobox.com>
27736
27737         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
27738         (#157311).
27739
27740         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
27741         own marshalling function for the handoff signal. Properly type the
27742         buffer as a buffer. Fixes some warnings. Should do a more general
27743         solution.
27744         (gst_identity_class_init): Plug into the right marshaller.
27745
27746 2005-07-15  Wim Taymans  <wim@fluendo.com>
27747
27748         * docs/design/part-TODO.txt:
27749         * docs/design/part-clocks.txt:
27750         * docs/design/part-element-sink.txt:
27751         * docs/design/part-events.txt:
27752         * docs/design/part-gstpipeline.txt:
27753         Updated docs, mostly DISCONT related.
27754
27755 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
27756
27757         * docs/pwg/building-pads.xml:
27758           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
27759
27760 2005-07-15  Andy Wingo  <wingo@pobox.com>
27761
27762         * tools/gst-typefind.c: Update, add copyright block.
27763
27764         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
27765         Normalize and truncate caps before fixation.
27766
27767         * gst/gstcaps.h:
27768         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
27769         discards all but the first structure from its argument.
27770
27771 2005-07-15  Wim Taymans  <wim@fluendo.com>
27772
27773         * gst/base/gstbasetransform.c: (gst_base_transform_init),
27774         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
27775         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27776         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27777         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
27778         (gst_base_transform_chain), (gst_base_transform_change_state),
27779         (gst_base_transform_set_passthrough),
27780         (gst_base_transform_is_passthrough):
27781         * gst/base/gstbasetransform.h:
27782         Make passthrough work using the bufferpools.
27783         Changed API a bit, subclasses have to write into a buffer
27784         provided by the base class.
27785         More debug info in nego functions.
27786         
27787         * gst/elements/gstidentity.c: (gst_identity_init),
27788         (gst_identity_transform):
27789         Port to new base class.
27790
27791 2005-07-15  Wim Taymans  <wim@fluendo.com>
27792
27793         * gst/gstmessage.c: (gst_message_new_state_changed):
27794         * tools/gst-launch.c: (event_loop), (main):
27795         Totally dump messages in -launch with the -m option.
27796         Fix message name for State messages,
27797
27798 2005-07-14  Wim Taymans  <wim@fluendo.com>
27799
27800         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27801         Post error messages on errors.
27802
27803 2005-07-14  Wim Taymans  <wim@fluendo.com>
27804
27805         * gst/gstcaps.c: (gst_caps_do_simplify):
27806         Remove debug info.
27807
27808         * gst/gsterror.h:
27809         Define error for stream stopped.
27810
27811         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
27812         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
27813         Do proper return values.
27814
27815         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27816         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
27817         (gst_pad_get_range):
27818         Better return values.
27819
27820         * gst/gstpad.h:
27821         Reorganise return values, add macro to check for fatal errors.
27822
27823         * gst/gstqueue.c: (gst_queue_chain):
27824         Return proper GstFlowReturn values,
27825
27826 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
27827
27828         * docs/gst/gstreamer-sections.txt:
27829         * docs/gst/gstreamer.types:
27830         * docs/gst/tmpl/gst.sgml:
27831         * docs/gst/tmpl/gstbasesink.sgml:
27832         * docs/gst/tmpl/gstbasesrc.sgml:
27833         * docs/gst/tmpl/gstbasetransform.sgml:
27834         * docs/gst/tmpl/gstbin.sgml:
27835         * docs/gst/tmpl/gstbuffer.sgml:
27836         * docs/gst/tmpl/gstcaps.sgml:
27837         * docs/gst/tmpl/gstclock.sgml:
27838         * docs/gst/tmpl/gstcompat.sgml:
27839         * docs/gst/tmpl/gstconfig.sgml:
27840         * docs/gst/tmpl/gstelement.sgml:
27841         * docs/gst/tmpl/gstelementdetails.sgml:
27842         * docs/gst/tmpl/gstelementfactory.sgml:
27843         * docs/gst/tmpl/gstenumtypes.sgml:
27844         * docs/gst/tmpl/gsterror.sgml:
27845         * docs/gst/tmpl/gstevent.sgml:
27846         * docs/gst/tmpl/gstfakesink.sgml:
27847         * docs/gst/tmpl/gstfakesrc.sgml:
27848         * docs/gst/tmpl/gstfilesink.sgml:
27849         * docs/gst/tmpl/gstfilesrc.sgml:
27850         * docs/gst/tmpl/gstfilter.sgml:
27851         * docs/gst/tmpl/gstformat.sgml:
27852         * docs/gst/tmpl/gstghostpad.sgml:
27853         * docs/gst/tmpl/gstimplementsinterface.sgml:
27854         * docs/gst/tmpl/gstindex.sgml:
27855         * docs/gst/tmpl/gstindexfactory.sgml:
27856         * docs/gst/tmpl/gstinfo.sgml:
27857         * docs/gst/tmpl/gstiterator.sgml:
27858         * docs/gst/tmpl/gstmacros.sgml:
27859         * docs/gst/tmpl/gstmemchunk.sgml:
27860         * docs/gst/tmpl/gstminiobject.sgml:
27861         * docs/gst/tmpl/gstobject.sgml:
27862         * docs/gst/tmpl/gstpad.sgml:
27863         * docs/gst/tmpl/gstpadtemplate.sgml:
27864         * docs/gst/tmpl/gstparse.sgml:
27865         * docs/gst/tmpl/gstpipeline.sgml:
27866         * docs/gst/tmpl/gstplugin.sgml:
27867         * docs/gst/tmpl/gstpluginfeature.sgml:
27868         * docs/gst/tmpl/gstquery.sgml:
27869         * docs/gst/tmpl/gstqueue.sgml:
27870         * docs/gst/tmpl/gstregistry.sgml:
27871         * docs/gst/tmpl/gstregistrypool.sgml:
27872         * docs/gst/tmpl/gstscheduler.sgml:
27873         * docs/gst/tmpl/gstschedulerfactory.sgml:
27874         * docs/gst/tmpl/gststructure.sgml:
27875         * docs/gst/tmpl/gstsystemclock.sgml:
27876         * docs/gst/tmpl/gsttaglist.sgml:
27877         * docs/gst/tmpl/gsttagsetter.sgml:
27878         * docs/gst/tmpl/gsttrace.sgml:
27879         * docs/gst/tmpl/gsttrashstack.sgml:
27880         * docs/gst/tmpl/gsttypefind.sgml:
27881         * docs/gst/tmpl/gsttypefindfactory.sgml:
27882         * docs/gst/tmpl/gsttypes.sgml:
27883         * docs/gst/tmpl/gsturihandler.sgml:
27884         * docs/gst/tmpl/gsturitype.sgml:
27885         * docs/gst/tmpl/gstutils.sgml:
27886         * docs/gst/tmpl/gstvalue.sgml:
27887         * docs/gst/tmpl/gstversion.sgml:
27888         * docs/gst/tmpl/gstxml.sgml:
27889         * docs/libs/tmpl/gstcontrol.sgml:
27890         * docs/libs/tmpl/gstdataprotocol.sgml:
27891         * docs/libs/tmpl/gstdparam.sgml:
27892         * docs/libs/tmpl/gstdplinint.sgml:
27893         * docs/libs/tmpl/gstdpman.sgml:
27894         * docs/libs/tmpl/gstdpsmooth.sgml:
27895         * docs/libs/tmpl/gstgetbits.sgml:
27896         * docs/libs/tmpl/gstunitconvert.sgml:
27897         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
27898         (gst_push_src_base_init), (gst_push_src_class_init),
27899         (gst_push_src_init), (gst_push_src_create):
27900         * gst/base/gstpushsrc.h:
27901         * gst/elements/gstelements.c:
27902         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
27903         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
27904         (gst_fake_sink_init), (gst_fake_sink_set_property),
27905         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
27906         (gst_fake_sink_event), (gst_fake_sink_preroll),
27907         (gst_fake_sink_render), (gst_fake_sink_change_state):
27908         * gst/elements/gstfakesink.h:
27909         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
27910         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
27911         (gst_fake_src_base_init), (gst_fake_src_class_init),
27912         (gst_fake_src_init), (gst_fake_src_event_handler),
27913         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
27914         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
27915         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
27916         (gst_fake_src_create_buffer), (gst_fake_src_create),
27917         (gst_fake_src_start), (gst_fake_src_stop):
27918         * gst/elements/gstfakesrc.h:
27919         * gst/elements/gstfilesink.c: (_do_init),
27920         (gst_file_sink_base_init), (gst_file_sink_class_init),
27921         (gst_file_sink_init), (gst_file_sink_dispose),
27922         (gst_file_sink_set_location), (gst_file_sink_set_property),
27923         (gst_file_sink_get_property), (gst_file_sink_open_file),
27924         (gst_file_sink_close_file), (gst_file_sink_query),
27925         (gst_file_sink_event), (gst_file_sink_render),
27926         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
27927         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
27928         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
27929         * gst/elements/gstfilesink.h:
27930         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
27931         (gst_file_src_class_init), (gst_file_src_init),
27932         (gst_file_src_finalize), (gst_file_src_set_location),
27933         (gst_file_src_set_property), (gst_file_src_get_property),
27934         (gst_file_src_map_region), (gst_file_src_map_small_region),
27935         (gst_file_src_create_mmap), (gst_file_src_create_read),
27936         (gst_file_src_create), (gst_file_src_is_seekable),
27937         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
27938         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
27939         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
27940         (gst_file_src_uri_handler_init):
27941         * gst/elements/gstfilesrc.h:
27942           more autistic cleanliness in functions/names/defines
27943
27944 2005-07-13  Andy Wingo  <wingo@pobox.com>
27945
27946         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
27947         source couldn't negotiate.
27948
27949         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
27950         connections again.
27951
27952         * gst/gstutils.h:
27953         * gst/gstutils.c (gst_element_link_pads_filtered): New old
27954         function. I am channeling Hades. Put your boots on suckers!!!
27955
27956 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
27957
27958         * testsuite/caps/Makefile.am:
27959         * testsuite/caps/value_compare.c:
27960         * testsuite/caps/value_intersect.c:
27961         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
27962           move two testsuite apps over to the check dir
27963
27964 2005-07-12  Wim Taymans  <wim@fluendo.com>
27965
27966         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27967         Added more debug info in the negotiate process.
27968
27969         * gst/gstmessage.h:
27970         Prepare for segment playback.
27971
27972         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
27973         Better debugging.
27974
27975         * gst/gstutils.c:
27976         Some more docs.
27977
27978         * tools/gst-launch.c: (main):
27979         NULL pipeline on errors.
27980
27981 2005-07-12  Andy Wingo  <wingo@pobox.com>
27982
27983         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
27984         not it comes from a malloc region. Make sure our copy gets freed.
27985
27986 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
27987
27988         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27989         * check/gst/gstmessage.c: (GST_START_TEST):
27990         * check/gst/gststructure.c: (GST_START_TEST),
27991         (gst_structure_suite), (main):
27992           more testing
27993         * gst/gstelement.c: (gst_element_message_full):
27994           clean up GError and debug string now that they get copied
27995         * gst/gstmessage.c: (gst_message_new_error),
27996         (gst_message_new_warning), (gst_message_parse_error),
27997         (gst_message_parse_warning):
27998           use GST_TYPE_G_ERROR for structure_new, and take copies of
27999           arguments, so that we don't mess up refcounting
28000
28001 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28002
28003         * check/Makefile.am:
28004           add per-test valgrind targets
28005         * check/gst-libs/gdp.c: (GST_START_TEST),
28006         (gst_data_protocol_suite), (main):
28007           clean up
28008
28009 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
28010
28011         * check/Makefile.am:
28012           instate more valgrindable tests
28013         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28014         (GST_START_TEST), (fakesrc_suite):
28015         * check/gst/gstpad.c: (GST_START_TEST):
28016         * check/gst/gststructure.c: (GST_START_TEST):
28017           fix test leaks
28018         * docs/gst/tmpl/gstminiobject.sgml:
28019         * gst/gstpad.c: (gst_pad_finalize):
28020           fix the static mutex leak
28021
28022 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28023
28024         * check/Makefile.am:
28025           add two more tests for valgrinding
28026         * check/gst/gstvalue.c: (GST_START_TEST):
28027           test refcount of deserialized buffer, found a leak
28028         * docs/gst/gstreamer-docs.sgml:
28029         * docs/gst/gstreamer-sections.txt:
28030         * docs/gst/gstreamer.types:
28031         * docs/gst/tmpl/gstminiobject.sgml:
28032           add miniobject to docs
28033         * gst/gstminiobject.c:
28034           add some docs
28035         * gst/gstvalue.c: (gst_value_deserialize_buffer),
28036         (gst_string_unwrap):
28037           fix a hard-to-find invalid write for one of the tests
28038           fix a leak for deserialized buffers
28039
28040 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28041
28042         * docs/pwg/advanced-events.xml:
28043         * docs/pwg/advanced-request.xml:
28044         * docs/pwg/advanced-scheduling.xml:
28045         * docs/pwg/appendix-porting.xml:
28046         * docs/pwg/building-boiler.xml:
28047         * docs/pwg/intro-preface.xml:
28048         * docs/pwg/other-ntoone.xml:
28049           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
28050           of example code and explanation for pad activation, loop() and
28051           getrange() functions and a bit more. Remove old comments pointing
28052           to loop-functions.
28053         * examples/pwg/Makefile.am:
28054           Add loop/getrange examples.
28055
28056 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28057
28058         * configure.ac:
28059           check for valgrind binary + some fixes
28060         * check/gst.supp:
28061           valgrind suppressions for the tests
28062         * check/Makefile.am:
28063           add a valgrind: target that valgrinds the unit tests
28064         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
28065         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
28066         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28067         * check/gst/gstghostpad.c:
28068           added some cleanup
28069         * check/gst/gstdata.c:
28070           removed
28071         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
28072         (thread_unref), (gst_mini_object_suite), (main):
28073           added
28074         * gst/gst.c: (gst_deinit):
28075         * gst/gst.h:
28076           add a method to clean up.
28077         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28078         (gst_system_clock_obtain):
28079           allow for disposing the system clock.
28080         * tools/gst-launch.c: (main):
28081           deinit
28082
28083 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28084
28085         * docs/gst/tmpl/gstbasesrc.sgml:
28086         * docs/gst/tmpl/gstfakesrc.sgml:
28087         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28088         (gst_base_src_init), (gst_base_src_set_property),
28089         (gst_base_src_get_property), (gst_base_src_get_range),
28090         (gst_base_src_start):
28091         * gst/base/gstbasesrc.h:
28092           add num-buffers property
28093         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28094         (gst_fakesrc_init), (gst_fakesrc_set_property),
28095         (gst_fakesrc_get_property), (gst_fakesrc_create),
28096         (gst_fakesrc_start):
28097           remove num-buffers property
28098
28099 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28100
28101         * docs/gst/gstreamer-sections.txt:
28102         * docs/gst/tmpl/gstbasesink.sgml:
28103         * docs/gst/tmpl/gstbasesrc.sgml:
28104         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28105         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28106         (gst_base_sink_finalize), (gst_base_sink_set_clock),
28107         (gst_base_sink_set_property), (gst_base_sink_get_property),
28108         (gst_base_sink_handle_object), (gst_base_sink_event),
28109         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
28110         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
28111         (gst_base_sink_loop), (gst_base_sink_deactivate),
28112         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
28113         (gst_base_sink_change_state):
28114         * gst/base/gstbasesink.h:
28115         * gst/base/gstbasesrc.h:
28116         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
28117         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28118         (gst_filesink_init):
28119           more macro splitting
28120
28121 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28122
28123         * gst/gstelement.c: (gst_element_get_bus):
28124           add debug
28125         * tools/gst-launch.c: (check_intr), (event_loop):
28126           fix bus leaks
28127
28128 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28129
28130         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
28131           fix a caps leak
28132
28133 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28134
28135         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28136         (gst_base_src_finalize):
28137           add finalize method and clean up properly
28138         * gst/gstpipeline.c: (gst_pipeline_dispose):
28139           add debug
28140
28141 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28142
28143         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
28144         (gst_bin_suite):
28145           add more things to check
28146         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
28147         * gst/gstelement.c:
28148           more debug
28149
28150 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28151
28152         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28153         (GST_START_TEST), (fakesrc_suite):
28154         * check/gst-libs/gdp.c: (GST_START_TEST):
28155         * check/gst/gst.c: (GST_START_TEST):
28156         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
28157         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28158         * check/gst/gstbus.c: (GST_START_TEST):
28159         * check/gst/gstcaps.c: (GST_START_TEST):
28160         * check/gst/gstdata.c: (GST_START_TEST):
28161         * check/gst/gstelement.c: (GST_START_TEST):
28162         * check/gst/gstghostpad.c: (GST_START_TEST):
28163         * check/gst/gstiterator.c: (GST_START_TEST):
28164         * check/gst/gstmessage.c: (GST_START_TEST):
28165         * check/gst/gstobject.c: (GST_START_TEST):
28166         * check/gst/gstpad.c: (GST_START_TEST):
28167         * check/gst/gststructure.c: (GST_START_TEST):
28168         * check/gst/gstsystemclock.c: (GST_START_TEST),
28169         (gst_systemclock_suite):
28170         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
28171         * check/gst/gstvalue.c: (GST_START_TEST):
28172         * check/pipelines/cleanup.c: (GST_START_TEST):
28173         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
28174         * check/states/sinks.c: (GST_START_TEST):
28175         * check/gstcheck.c: (gst_check_init):
28176         * check/gstcheck.h:
28177           add debugging category
28178           use GST_START_TEST now, so we add a debug line
28179
28180 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28181
28182         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
28183           add test for state change message on a bin
28184         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
28185           add another test
28186         * gst/gstbin.c: (gst_bin_init):
28187         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
28188         * gst/gstelement.c: (gst_element_post_message),
28189         (gst_element_set_state):
28190         * gst/gstelementfactory.c: (gst_element_factory_create):
28191         * gst/gstmessage.c: (gst_message_new):
28192         * gst/gstscheduler.c:
28193           various debugging additions and cleanups
28194
28195 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28196
28197         * check/Makefile.am:
28198         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
28199         (main):
28200           adding tests for elements
28201         * gst/gstelement.c: (gst_element_dispose):
28202
28203 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28204
28205         * gst/registries/gstlibxmlregistry.c: (load_feature):
28206           plug more leaks.  A simple gst_init() now is leakfree, yay.
28207
28208 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28209
28210         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
28211         (gst_xml_registry_load):
28212           plug another memleak
28213
28214 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28215
28216         * configure.ac:
28217           use GST_SET_ERROR_CFLAGS
28218         * docs/faq/cvs.xml:
28219           change to ERROR_CFLAGS
28220
28221 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28222
28223         * configure.ac:
28224           make GST_ERROR_CFLAGS overridable and re-enable Werror
28225         * docs/faq/cvs.xml:
28226           add a note about error CFLAGS
28227         * docs/gst/tmpl/gstfakesrc.sgml:
28228         * gst/elements/gstfakesrc.c:
28229           comment out some unused code
28230         * gst/gst.c: (split_and_iterate):
28231         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
28232         (load_feature):
28233           plug some memleaks
28234
28235 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28236
28237         * common/Makefile.am:
28238         * common/gtk-doc.mak:
28239         * docs/gst/Makefile.am:
28240           factor out gtk-doc.mak
28241
28242 2005-07-07  Wim Taymans  <wim@fluendo.com>
28243
28244         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
28245         (gst_thread_scheduler_dispose):
28246         Unlock the STREAM_LOCK completely.
28247
28248 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28249
28250         * check/Makefile.am:
28251         * check/elements/.cvsignore:
28252         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28253         (START_TEST), (fakesrc_suite), (main):
28254         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28255         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28256         (gst_fakesrc_create), (gst_fakesrc_start):
28257         * gst/elements/gstfakesrc.h:
28258           adding a first element test
28259
28260 2005-07-07  Andy Wingo  <wingo@pobox.com>
28261
28262         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
28263         debug message.
28264
28265 2005-07-07  Wim Taymans  <wim@fluendo.com>
28266
28267         * gst/gstquery.c:
28268         * gst/gstquery.h:
28269         Remove old types
28270
28271 2005-07-07  Wim Taymans  <wim@fluendo.com>
28272
28273         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
28274         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
28275         Allow subclasses to implement their own negotiation.
28276
28277 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28278
28279         * docs/design/part-gstbin.txt:
28280         * docs/design/part-gstpipeline.txt:
28281           Update design notes to reflect the movement of
28282           responsibility for bus handling from GstPipeline to
28283           GstBin
28284
28285 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28286
28287         * configure.ac:
28288           Remove unnecessary queue2/3/4 examples.
28289
28290 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28291
28292         * examples/Makefile.am:
28293         * examples/helloworld/helloworld.c: (event_loop), (main):
28294         * examples/queue/queue.c: (event_loop), (main):
28295         * examples/queue2/queue2.c: (main):
28296           Update a couple of the examples to work again.
28297
28298         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28299         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
28300          Spelling corrections and extra debug.
28301         
28302         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
28303         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
28304         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
28305         * gst/gstbin.h:
28306         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28307         (gst_pipeline_change_state):
28308         * gst/gstpipeline.h:
28309           Move the bus handler for children to the GstBin, and create a
28310           separate bus for receiving messages from children to the one the
28311           bus sends 'upwards' on.
28312
28313 2005-07-06  Wim Taymans  <wim@fluendo.com>
28314
28315         * gst/base/README:
28316         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28317         (gst_base_sink_handle_object), (gst_base_sink_loop),
28318         (gst_base_sink_change_state):
28319         * gst/base/gstbasesink.h:
28320         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28321         (gst_base_src_init), (gst_base_src_setcaps),
28322         (gst_base_src_getcaps), (gst_base_src_loop),
28323         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
28324         (gst_base_src_start), (gst_base_src_change_state):
28325         * gst/base/gstbasesrc.h:
28326         Make basesrc negotiate.
28327         Handle the case where preroll fails in basesink.
28328         Update README.
28329
28330 2005-07-06  Wim Taymans  <wim@fluendo.com>
28331
28332         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
28333         Implement the fixate function.
28334         Clean up acceptcaps.
28335
28336 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28337
28338         * docs/pwg/building-filterfactory.xml:
28339         * docs/pwg/pwg.xml:
28340           Remove never-written filter-factory chapter; I'll add the various
28341           base classes to part 4 ("other element types") later on.
28342
28343 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28344
28345         * docs/pwg/advanced-negotiation.xml:
28346         * docs/pwg/building-boiler.xml:
28347         * docs/pwg/building-pads.xml:
28348         * docs/pwg/pwg.xml:
28349         * examples/pwg/Makefile.am:
28350           Add a chapter on caps negotiation, simplify the original code
28351           samples a bit w.r.t. caps negotiation, add link to the advanced
28352           section. Add a bunch of examples showing different use cases of
28353           different types of caps negotiation. Upstream renegotiation isn't
28354           fully documented yet since nobody knows how that works.
28355
28356 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
28357
28358         * check/gst/gstpad.c:
28359         * check/gstcheck.c:
28360         * gst/gstpad.c: (gst_pad_get_internal_links_default):
28361           if pad has no parent, return NULL as list of internal links
28362
28363 2005-07-05  Andy Wingo  <wingo@pobox.com>
28364
28365         * gst/elements/gstfilesrc.c:
28366         * gst/elements/gstfakesrc.c: 
28367         * gst/base/gstpushsrc.c:
28368         * gst/base/gstbasesrc.h: 
28369         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
28370         
28371 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
28372
28373         * Makefile.am:
28374           better report generation target (lcov needs a patch)
28375
28376 2005-07-05  Andy Wingo  <wingo@pobox.com>
28377
28378         * gst/elements, testsuite: Null if we got it...
28379
28380 2005-07-05  Wim Taymans  <wim@fluendo.com>
28381
28382         * configure.ac:
28383         * libs/gst/dataprotocol/Makefile.am:
28384         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
28385         * libs/gst/dataprotocol/dataprotocol.h:
28386         * pkgconfig/Makefile.am:
28387         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
28388         * pkgconfig/gstreamer-dataprotocol.pc.in:
28389         Ported dataprotol to 0.9. 
28390         Added pkgconfig files.
28391
28392 2005-07-05  Andy Wingo  <wingo@pobox.com>
28393
28394         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
28395         Default to returning TRUE for the case when tranform_caps returns
28396         a fixed caps, like for identity or volume.
28397
28398         * check/gst/gstbus.c (pound_bus_with_messages): 
28399         * check/gst/gstmessage.c (START_TEST): 
28400         * check/pipelines/simple_launch_lines.c (got_handoff): Application
28401         message API change.
28402
28403         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
28404         logic weaks here: always run transform_caps, trying passthrough
28405         operation only if the original caps intersects with the transform.
28406
28407         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
28408         source and sink caps.
28409
28410         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
28411         Intersect the peer caps with the pad template before going into
28412         transform_caps.
28413         (gst_base_transform_transform_caps): More debugging.
28414
28415         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
28416         src argument.
28417
28418 2005-07-04  Edward Hervey  <edward@fluendo.com>
28419
28420         * gst/gstutils.c:
28421         * gst/gstutils.h:
28422         (gst_pad_add_*_probe): now returns the signal id for better wrapping
28423         in bindings.
28424
28425 2005-07-04  Andy Wingo  <wingo@pobox.com>
28426
28427         * check/gst/gstpad.c: Only set explicit caps on pads.
28428
28429 2005-07-01  Andy Wingo  <wingo@pobox.com>
28430
28431         * tests/network-clock.scm: Commentary update.
28432
28433         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28434         Didn't really make sense, not implementable with basetransform,
28435         etc.
28436         (gst_identity_transform): Unref inbuf via make_writable. Feeble
28437         attempt at implementing the sync property, needs an unlock method.
28438
28439         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28440         New func, by default returns the same caps (the identity
28441         transformation).
28442         (gst_base_transform_getcaps): Uses transform_caps to return
28443         something sensible.
28444         (gst_base_transform_setcaps): Complicated logic to get caps on
28445         both pads, even if they are different, and to call set_caps once
28446         for every time both pads get their caps set.
28447         (gst_base_transform_handle_buffer): Give the ref to the transform
28448         function. Allows in-place modification of the buffer.
28449
28450         * gst/base/gstbasetransform.h (transform_caps): New class method.
28451         Given caps on one side, what can I do on the other.
28452         (set_caps): Take two caps, one for each side of the element.
28453
28454         * gst/gstpad.h:
28455         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
28456         caps in place. This is safe because we can check the mutability of
28457         the caps, and a good idea because fixate functions are just called
28458         as a matter of last resort. (Not actually implemented.)
28459         (gst_pad_set_caps): If the caps we're setting is actually the same
28460         as the existing pad caps, just update the pointer without calling
28461         setcaps. Assert that caps is either NULL or fixed, as per the
28462         docs.
28463
28464         * gst/gstghostpad.c: Update for fixate changes.
28465
28466 2005-07-02  Andy Wingo  <wingo@pobox.com>
28467
28468         * gst/gstcaps.c:
28469         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
28470         two refcounts makes it immutable, which is enough. Doc more.
28471
28472 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
28473
28474         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
28475           Put the mini_object into GValue as a mini_object,
28476           not a gpointer, since that's how we declared
28477           the signal.
28478
28479 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28480
28481         * examples/pwg/Makefile.am:
28482           Fix buildbot again.
28483
28484 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28485
28486         * docs/pwg/building-testapp.xml:
28487           Add extra check.
28488         * examples/pwg/Makefile.am:
28489           Fix buildbot.
28490
28491 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28492
28493         * configure.ac:
28494         * examples/Makefile.am:
28495         * examples/pwg/Makefile.am:
28496         * examples/pwg/extract.pl:
28497           Enable building the PWG examples.
28498         * docs/pwg/advanced-interfaces.xml:
28499           Add URI interface stub.
28500         * docs/pwg/advanced-types.xml:
28501         * docs/pwg/other-autoplugger.xml:
28502         * docs/pwg/appendix-porting.xml:
28503         * docs/pwg/pwg.xml:
28504           Add porting guide (mostly stubs), remove autoplugging (see ADM).
28505         * docs/pwg/building-boiler.xml:
28506         * docs/pwg/building-chainfn.xml:
28507         * docs/pwg/building-pads.xml:
28508         * docs/pwg/building-props.xml:
28509         * docs/pwg/building-state.xml:
28510         * docs/pwg/building-testapp.xml:
28511           Update the building-*.xml parts for 0.9 changes. All examples
28512           code blocks compile in examples/pwg/*.
28513
28514 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28515
28516         * docs/manual/advanced-autoplugging.xml:
28517         * docs/manual/appendix-checklist.xml:
28518         * docs/manual/appendix-integration.xml:
28519         * docs/manual/highlevel-components.xml:
28520           Fix playbin/decodebin examples, update docs a bit, mention bus
28521           instead of signals in various places, mention kmplayer and
28522           kaffeine since they have a working GStreamer backend in the KDE
28523           section.
28524
28525 2005-06-30  Wim Taymans  <wim@fluendo.com>
28526
28527         * CHANGES-0.9:
28528         * docs/design/draft-ghostpads.txt:
28529         * docs/design/draft-push-pull.txt:
28530         * docs/design/draft-query.txt:
28531         * docs/design/part-TODO.txt:
28532         * docs/design/part-query.txt:
28533         Added CHANGES-0.9 doc, updated status of other docs.
28534         
28535         * gst/gstquery.h:
28536         Remove "hmm" macro
28537
28538 2005-06-30  Wim Taymans  <wim@fluendo.com>
28539
28540         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28541         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28542         (gst_base_sink_change_state):
28543         * gst/base/gstbasesink.h:
28544         Some tweaks, only EOS and a buffer complete a preroll.
28545
28546 2005-06-30  Andy Wingo  <wingo@pobox.com>
28547
28548         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
28549         activate_push down to the internal pad as well.
28550
28551 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
28552
28553         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28554
28555         * gst/gsttaginterface.c:
28556           Some documentation fixes (#307394 and #307397).
28557
28558 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
28559
28560         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28561
28562         * gst/gstvalue.c: (gst_value_intersect_list):
28563           Fix memleak (#309125).
28564
28565 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28566
28567         * docs/manual/advanced-dataaccess.xml:
28568           Fix fakesrc example to compile; doesn't work, bug somewhere...?
28569         * docs/manual/basics-pads.xml:
28570           Add reference for filtered caps to above chapter.
28571
28572 2005-06-30  Wim Taymans  <wim@fluendo.com>
28573
28574         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
28575         (gst_bin_change_state):
28576         Probes are gone.
28577         Lame attempt at making the state change function a bit
28578         more readable.
28579
28580 2005-06-30  Wim Taymans  <wim@fluendo.com>
28581
28582         * docs/design/part-clocks.txt:
28583         * docs/design/part-element-sink.txt:
28584         * docs/design/part-events.txt:
28585         * docs/design/part-preroll.txt:
28586         * docs/design/part-states.txt:
28587         Some more tweeks and additions to the docs.
28588
28589 2005-06-30  Wim Taymans  <wim@fluendo.com>
28590
28591         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28592         (default_have_data), (gst_pad_class_init), (gst_pad_init),
28593         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28594         (gst_pad_check_pull_range), (gst_pad_get_range),
28595         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
28596         * gst/gstpad.h:
28597         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
28598         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28599         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28600         (gst_pad_remove_buffer_probe):
28601         Removed atomic operations, use existing LOCK.
28602         Move exception handling out of main code path.
28603
28604 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28605
28606         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28607         (silly_return_true_function), (gst_pad_class_init),
28608         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28609         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
28610         (gst_pad_send_event):
28611           Fix accumulator, add default value by using _emitv() instead
28612           of _emit() for signal emission.
28613
28614 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28615
28616         * docs/manual/advanced-dataaccess.xml:
28617         * examples/manual/Makefile.am:
28618           Add probe example.
28619         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
28620           Make work (??).
28621
28622 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
28623
28624         * gst/elements/gstfilesink.c: (gst_filesink_render):
28625           Simplify code so that we don't have to handle short
28626           writes and return GST_FLOW_ERROR if an error occured.
28627
28628 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28629
28630         * docs/gst/gstreamer-docs.sgml:
28631           Remove probes more.
28632
28633 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28634
28635         * docs/gst/gstreamer-sections.txt:
28636         * docs/gst/tmpl/gstpad.sgml:
28637         * docs/gst/tmpl/gstprobe.sgml:
28638         * gst/Makefile.am:
28639         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28640         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
28641         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
28642         (gst_pad_push_event), (gst_pad_send_event):
28643         * gst/gstpad.h:
28644         * gst/gstutils.c: (gst_pad_add_data_probe),
28645         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28646         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28647         (gst_pad_remove_buffer_probe):
28648         * gst/gstutils.h:
28649           Remove old probes, add new g-signal-based probes and some utility
28650           functions.
28651
28652 2005-06-29  Edward Hervey  <edward@fluendo.com>
28653
28654         * gst/gstelementfactory.c:
28655         * gst/gstutils.h:
28656         * gst/gstutils.c:
28657         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
28658         the definition to the header file.
28659
28660 2005-06-29  Andy Wingo  <wingo@pobox.com>
28661
28662         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
28663         plugins from the source directory.
28664
28665 2005-06-29  Wim Taymans  <wim@fluendo.com>
28666
28667         * docs/gst/tmpl/gstbuffer.sgml:
28668         * docs/gst/tmpl/gstclock.sgml:
28669         Some fixings for blantently wrong text.
28670
28671 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
28672
28673         * check/Makefile.am:
28674         * gst/gst.c: (add_path_func), (init_pre):
28675         * gst/gstregistry.c: (gst_registry_add_path):
28676           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
28677           only scan the GST_PLUGIN_PATH locations, and not add
28678           system locations
28679
28680 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
28681
28682         * docs/gst/gstreamer-sections.txt:
28683         * docs/gst/tmpl/gstbasesrc.sgml:
28684         * gst/gstelement.c:
28685         * gst/gstelement.h:
28686         * gst/gstevent.c:
28687         * gst/gstutils.c:
28688           doc fixes
28689
28690 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28691
28692         * docs/manual/advanced-autoplugging.xml:
28693           Fix autoplugging example.
28694
28695 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28696
28697         * docs/manual/advanced-autoplugging.xml:
28698         * docs/manual/mime-world.fig:
28699           Try to get autoplugging working, fix type detection. Fix text
28700           in hello-world image.
28701
28702 2005-06-29  Wim Taymans  <wim@fluendo.com>
28703
28704         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28705         (gst_base_sink_change_state):
28706         Small debug line.
28707
28708         * gst/gstclock.h:
28709         map SIGNAL and BROADCAST to the right function.
28710
28711         * gst/gstobject.h:
28712         Remove redundant braces.
28713
28714         * gst/gstpad.c: (gst_pad_set_caps):
28715         Don't call setcaps function when reseting caps to NULL.
28716
28717         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28718         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
28719         (gst_system_clock_id_unschedule):
28720         Use BROADCAST as this is what we do.
28721
28722 2005-06-29  Wim Taymans  <wim@fluendo.com>
28723
28724         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
28725         We are actually prerolling before commiting the state
28726         change. 
28727
28728 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28729
28730         * docs/manual/advanced-clocks.xml:
28731         * docs/manual/advanced-interfaces.xml:
28732         * docs/manual/advanced-metadata.xml:
28733         * docs/manual/advanced-position.xml:
28734         * docs/manual/advanced-schedulers.xml:
28735         * docs/manual/advanced-threads.xml:
28736         * docs/manual/appendix-porting.xml:
28737         * docs/manual/basics-bins.xml:
28738         * docs/manual/basics-bus.xml:
28739         * docs/manual/basics-elements.xml:
28740         * docs/manual/basics-helloworld.xml:
28741         * docs/manual/basics-pads.xml:
28742         * docs/manual/highlevel-components.xml:
28743         * docs/manual/manual.xml:
28744         * docs/manual/thread.fig:
28745           Update (until threads/scheduling) Application Development Manual;
28746           remove GstThread, add GstBus, add simple porting checklist, add
28747           documentation for tag writing, clocks, make all examples until this
28748           part compile and run.
28749         * examples/manual/Makefile.am:
28750           Update from changes to Application Development Manual; add bus
28751           example, remove thread example.
28752
28753 2005-06-28  Wim Taymans  <wim@fluendo.com>
28754
28755         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
28756         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
28757         (gst_bus_source_dispatch):
28758         Add debugging messages.
28759         Make internal methods static.
28760         Handle the case where the bus is flushed in the handler.
28761         
28762         * gst/gstelement.c: (gst_element_get_bus):
28763         Fix refcount in _get_bus();
28764
28765         * gst/gstpipeline.c: (gst_pipeline_change_state),
28766         (gst_pipeline_get_clock_func):
28767         Clock refcounting fixes.
28768         Handle the case where preroll timed out more gracefully.
28769         
28770         * gst/gstsystemclock.c: (gst_system_clock_dispose):
28771         Clean up the internal thread in dispose. This is needed
28772         for subclasses that actually get disposed.
28773         
28774         * gst/schedulers/threadscheduler.c:
28775         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
28776         (gst_thread_scheduler_dispose):
28777         Free thread pool in dispose.
28778
28779 2005-06-28  Andy Wingo  <wingo@pobox.com>
28780
28781         * tests/network-clock-utils.scm (debug, print-event): New utils.
28782
28783         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
28784         (*packet-loss*): Unified loss probability.
28785         (network-time): Report out-of-band events.
28786
28787         * tests/plot-data: Add support for out-of-band events. Hack it
28788         into this script instead of passing it down the pipe; should fix
28789         this later.
28790
28791 2005-06-28  Wim Taymans  <wim@fluendo.com>
28792
28793         * docs/gst/gstreamer.types:
28794         * docs/gst/tmpl/gstbasesrc.sgml:
28795         * docs/gst/tmpl/gstpad.sgml:
28796         Docs fixes.
28797
28798 2005-06-28  Wim Taymans  <wim@fluendo.com>
28799
28800         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28801         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
28802         (gst_proxy_pad_do_fixatecaps):
28803         Correctly proxy the check_pull_range function.
28804
28805 2005-06-28  Andy Wingo  <wingo@pobox.com>
28806
28807         * tests/network-clock.scm: Removed need for slib.
28808         
28809 2005-06-28  Wim Taymans  <wim@fluendo.com>
28810
28811         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
28812         (gst_basesink_preroll_queue_flush):
28813         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
28814         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
28815         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28816         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
28817         (gst_proxy_pad_set_property):
28818         * gst/gstpad.c:
28819         * gst/gstpad.h:
28820         * gst/gstqueue.c: (gst_queue_init):
28821         The deprecated pad loop function is removed now.
28822
28823 2005-06-28  Andy Wingo  <wingo@pobox.com>
28824
28825         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
28826         New parameters, simulate network packet loss.
28827
28828         * tests/network-clock-utils.scm: Initialize the RNG.
28829
28830 2005-06-28  Wim Taymans  <wim@fluendo.com>
28831
28832         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
28833         (gst_basesink_event), (gst_basesink_deactivate):
28834         Flushing the preroll queue always needs to unlock the waiters.
28835
28836 2005-06-28  Edward Hervey  <edward@fluendo.com>
28837
28838         * gst/gstpipeline.c: (gst_pipeline_send_event): 
28839         Wheen a seek was successful on a pipeline, set the stream_time to the
28840         seek offset in order to have a synchronized stream_time.
28841
28842 2005-06-28  Wim Taymans  <wim@fluendo.com>
28843
28844         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28845         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
28846         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
28847         (gst_proxy_pad_do_fixatecaps):
28848         Call wrapper function instead of just calling the function
28849         pointers. This takes care of any locking and whatmore.
28850
28851 2005-06-28  Wim Taymans  <wim@fluendo.com>
28852
28853         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
28854         (gst_pad_pull_range):
28855         * gst/gstpad.h:
28856         CONNECTED -> LINKED.
28857
28858 2005-06-28  Andy Wingo  <wingo@pobox.com>
28859
28860         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
28861         source-munging commit!!!
28862
28863         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
28864         (gst_object_sink): Take gpointer arguments, not GstObject --
28865         avoids casts. Like GLib.
28866
28867         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
28868         activate.
28869
28870 2005-06-27  Andy Wingo  <wingo@pobox.com>
28871
28872         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
28873         remaining buffer.
28874
28875         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
28876         returns a sorted copy of the trace list.
28877         (gst_alloc_trace_print_live): New API, only prints traces with
28878         live objects. Sort the list.
28879         (gst_alloc_trace_print_all): Sort the list.
28880         (gst_alloc_trace_print): Align columns.
28881
28882         * gst/elements/gstttypefindelement.c:
28883         * gst/elements/gsttee.c:
28884         * gst/base/gstbasesrc.c:
28885         * gst/base/gstbasesink.c:
28886         * gst/base/gstbasetransform.c:
28887         * gst/gstqueue.c: Adapt for pad activation changes.
28888
28889         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
28890         sched.
28891         (gst_pipeline_dispose): Drop ref on sched.
28892
28893         * gst/gstpad.c (gst_pad_init): Set the default activate func.
28894         (gst_pad_activate_default): Push mode by default.
28895         (pre_activate_switch, post_activate_switch): New stubs, things to
28896         do before and after switching activation modes on pads.
28897         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
28898         the pad's activate function to choose which mode to activate.
28899         Shortcut on deactivation and call the right function directly.
28900         (gst_pad_activate_pull): New API, (de)activates a pad in pull
28901         mode.
28902         (gst_pad_activate_push): New API, same for push mode.
28903         (gst_pad_set_activate_function) 
28904         (gst_pad_set_activatepull_function) 
28905         (gst_pad_set_activatepush_function): Setters for new API.
28906
28907         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
28908         Trace all miniobjects.
28909         (gst_mini_object_make_writable): Unref the arg if we copy, like
28910         gst_caps_make_writable.
28911
28912         * gst/gstmessage.c (_gst_message_initialize): No trace init.
28913
28914         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
28915         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
28916         Adapt for new pad API.
28917
28918         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
28919
28920         * gst/gstelement.h:
28921         * gst/gstelement.c (gst_element_iterate_src_pads) 
28922         (gst_element_iterate_sink_pads): New API functions.
28923         
28924         * gst/gstelement.c (iterator_fold_with_resync): New utility,
28925         should fold into gstiterator.c in some form.
28926         (gst_element_pads_activate): Simplified via use of fold and
28927         delegation of decisions to gstpad->activate.
28928
28929         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
28930         help in debugging.
28931
28932         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
28933         class once in init, like gstmessage. Didn't run into this issue
28934         but it seems correct. Don't initialize a trace, gstminiobject does
28935         that.
28936
28937         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
28938         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
28939         to the bus.
28940         (assert_live_count): New util function, uses alloc traces to check
28941         cleanup.
28942
28943         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
28944         To be modified when unlink drops the internal pad.
28945
28946 2005-06-27  Wim Taymans  <wim@fluendo.com>
28947
28948         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
28949         (gst_bin_change_state):
28950         Cleanup the get_state() function a little, make sure it
28951         iterates the same set of elements.
28952         Added stub iterate_state_order().
28953
28954 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
28955
28956         * docs/gst/gstreamer-docs.sgml:
28957         * docs/gst/gstreamer-sections.txt:
28958         * docs/gst/gstreamer.types:
28959         * docs/gst/tmpl/gstbasesink.sgml:
28960         * docs/gst/tmpl/gstbasesrc.sgml:
28961         * docs/gst/tmpl/gstbasetransform.sgml:
28962         * docs/gst/tmpl/gstelement.sgml:
28963         * docs/gst/tmpl/gstiterator.sgml:
28964         * gst/base/gstbasesrc.c:
28965         * gst/base/gstbasesrc.h:
28966         * gst/base/gstbasetransform.h:
28967         * gst/gstelement.c:
28968         * gst/gstiterator.h:
28969           adding basetransform and iterator docs
28970
28971 2005-06-27  Andy Wingo  <wingo@pobox.com>
28972
28973         * docs/design/part-activation.txt: Notes on how activation should
28974         work -- not quite implemented yet.
28975
28976 2005-06-25  Wim Taymans  <wim@fluendo.com>
28977
28978         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
28979         At least get the chain function correct, needs more
28980         fixing.
28981
28982 2005-06-25  Wim Taymans  <wim@fluendo.com>
28983
28984         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
28985         (gst_basesink_handle_object), (gst_basesink_event),
28986         (gst_basesink_do_sync), (gst_basesink_handle_event),
28987         (gst_basesink_change_state):
28988         * gst/gsttask.h:
28989         Right, two problems here: ghostpads don't take locks and
28990         glib _rec_mutex_lock_full() with depth==0 still locks.
28991         Catch illegal locking and g_warn them.
28992
28993 2005-06-25  Wim Taymans  <wim@fluendo.com>
28994
28995         * check/states/sinks.c: (START_TEST), (gst_object_suite):
28996         Have to check for completion now...
28997
28998 2005-06-25  Wim Taymans  <wim@fluendo.com>
28999
29000         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
29001         (gst_basesink_handle_object), (gst_basesink_event),
29002         (gst_basesink_do_sync), (gst_basesink_handle_event),
29003         (gst_basesink_change_state):
29004         * gst/gstpad.h:
29005         Unlock STREAM_LOCK whatever the recursion was.
29006
29007 2005-06-25  Wim Taymans  <wim@fluendo.com>
29008
29009         * gst/base/gstbasesink.c: (gst_basesink_set_property),
29010         (gst_basesink_preroll_queue_empty),
29011         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
29012         (gst_basesink_event), (gst_basesink_do_sync),
29013         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
29014         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
29015         (gst_basesink_change_state):
29016         Reworked the base sink, handle event and buffer serialisation
29017         correctly and removed possible deadlock.
29018         Handle EOS correctly.
29019
29020 2005-06-25  Wim Taymans  <wim@fluendo.com>
29021
29022         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
29023         (gst_pipeline_change_state):
29024         * tools/gst-launch.c: (check_intr), (event_loop), (main):
29025         Allow elements to post EOS in the state change function.
29026         Fix up -launch, make it exit the poll loop when the
29027         pipeline actually changed state.
29028         Fix up warning parsing in -launch.
29029
29030 2005-06-25  Wim Taymans  <wim@fluendo.com>
29031
29032         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
29033         (gst_tee_sink_activate):
29034         Core takes STREAM_LOCK for us now.
29035
29036 2005-06-25  Wim Taymans  <wim@fluendo.com>
29037
29038         * gst/gstelement.c: (gst_element_get_state_func),
29039         (gst_element_set_state):
29040         * gst/gstelement.h:
29041         * gst/gstmessage.c: (gst_message_parse_error),
29042         (gst_message_parse_warning):
29043         Keep track of current target state while performing a state
29044         change so that subclasses can do something interesting.
29045         Fix parsing of warning/error messages when GError is NULL.
29046
29047 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
29048
29049         * docs/gst/Makefile.am:
29050         * docs/gst/gstreamer-docs.sgml:
29051         * docs/gst/gstreamer-sections.txt:
29052         * docs/gst/gstreamer.types:
29053         * docs/gst/tmpl/gstbasesink.sgml:
29054         * docs/gst/tmpl/gstbasesrc.sgml:
29055         * docs/gst/tmpl/gstbin.sgml:
29056         * docs/gst/tmpl/gstcompat.sgml:
29057         * docs/gst/tmpl/gstfakesink.sgml:
29058         * docs/gst/tmpl/gstfakesrc.sgml:
29059         * docs/gst/tmpl/gstfilesink.sgml:
29060         * docs/gst/tmpl/gstfilesrc.sgml:
29061         * docs/gst/tmpl/gstindex.sgml:
29062         * docs/manual/appendix-quotes.xml:
29063         * gst/base/gstbasesrc.h:
29064         * gst/elements/gstfakesrc.h:
29065         * gst/gstmessage.h:
29066           start pulling in base classes and elements in our docs
29067
29068 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
29069
29070         * docs/gst/Makefile.am:
29071         * docs/libs/Makefile.am:
29072           fixed make distcheck with gtk-doc 1.3
29073
29074 2005-06-23  Wim Taymans  <wim@fluendo.com>
29075
29076         * gst/gstelement.c: (gst_element_get_state_func),
29077         (gst_element_set_state), (gst_element_change_state):
29078         When the state did not change, also report NO_PREROLL
29079         when it matters.
29080
29081 2005-06-23  Wim Taymans  <wim@fluendo.com>
29082
29083         * gst/gstpad.c: (gst_pad_event_default):
29084         * gst/gstqueue.c: (gst_queue_loop):
29085         No unsafe task pausing please.
29086
29087 2005-06-23  Wim Taymans  <wim@fluendo.com>
29088
29089         * gst/schedulers/threadscheduler.c:
29090         (gst_thread_scheduler_task_start),
29091         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
29092         Ref the task before pushing it on the threadpool. This
29093         makes sure that we have a ref when the threadfunction is
29094         actually called.
29095
29096 2005-06-23  Andy Wingo  <wingo@pobox.com>
29097
29098         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
29099         offset is greater than the file's size.
29100
29101         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
29102         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
29103         * gst/gstobject.c (gst_object_class_init): Make the class lock
29104         recursive. Wim won't let me drop deep_notify. Decodebin works
29105         again, whoopdy doo.
29106
29107         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
29108         internal pad, and hacks accordingly. Doesn't do it on the target
29109         pad because we change its caps. Probably catches all cases of
29110         interest tho.
29111         (gst_ghost_pad_set_property): Connect to notify::caps as
29112         appropritate.
29113
29114         * tests/network-clock.scm (plot-simulation): Pipe data to the
29115         elite python skript.
29116
29117         * tests/network-clock-utils.scm (define-parameter): New macro,
29118         defines a parameter that can be set via the command line.
29119         (set-parameter!, parse-parameter-arguments): Command line args
29120         parser.
29121
29122         * tests/plot-data: Simple matplotlib-based plotter, takes input on
29123         stdin.
29124
29125 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
29126
29127         * gst/elements/gsttypefindelement.c:
29128         (gst_type_find_element_handle_event):
29129           Don't restart typefinding on a discont.
29130         * gst/gstelement.c: (gst_element_set_state):
29131           Debug spelling fix.
29132         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
29133           Allow changing mode of an active pad.
29134           Debug output fixes.
29135         * gst/registries/gstlibxmlregistry.c: (load_feature):
29136           Don't cast a static pad template to a normal pad template.
29137
29138 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
29139
29140         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29141         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29142           remove gst_strtoll completely, since it didn't actually do
29143           anything more than what g_ascii_strtoull already does.
29144           check for range errors when deserializing
29145           do a cast for the unsigned cases; but further fixing needs
29146           a decision on what the interpretation of "(int)" and
29147           deserialization should be for values that fall outside the
29148           type's boundaries (ie, refuse, or interpret as casting)
29149
29150 2005-06-23  Wim Taymans  <wim@fluendo.com>
29151
29152         * check/Makefile.am:
29153         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
29154         * docs/design/part-live-source.txt:
29155         * docs/design/part-states.txt:
29156         * gst/base/gstbasesrc.c: (gst_basesrc_init),
29157         (gst_basesrc_set_live), (gst_basesrc_is_live),
29158         (gst_basesrc_get_range), (gst_basesrc_activate),
29159         (gst_basesrc_change_state):
29160         * gst/base/gstbasesrc.h:
29161         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29162         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29163         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
29164         * gst/gstelement.c: (gst_element_get_state_func),
29165         (gst_element_set_state):
29166         * gst/gstelement.h:
29167         * gst/gsttypes.h:
29168         * tools/gst-launch.c: (event_loop), (main):
29169         Added support for live sources and other elements that
29170         cannot do preroll.
29171         Updated design docs, added live-source design doc.
29172         Implemented live source functionality in basesrc
29173         Fix error condition in _bin_get_state()
29174         Implement live source handling in -launch.
29175         Added check for live sources.
29176         Fixed case in GstBin where elements were changed state
29177         multiple times.
29178
29179
29180 2005-06-23  Andy Wingo  <wingo@pobox.com>
29181
29182         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
29183         borken refcounting.
29184
29185         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
29186         gst_caps_replace takes care of this for us.
29187
29188         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
29189         gst_pad_set_caps on the target, not just its setcaps() function.
29190
29191         * tests/network-clock.scm: 
29192         * tests/network-clock-utils.scm: A network clock simulator.
29193         Something of an algorithmic testbed before doing something in C.
29194
29195 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29196
29197         * check/Makefile.am:
29198         * check/gst/capslist.h:
29199           copy over from 0.8, and add two with bitmasks specified with
29200           (int) 0xFF...
29201         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29202           add test to parse everything from capslist.h
29203         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
29204         (main):
29205           add test for structure deserialization
29206         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29207           add tests for deserialization of strings to int types
29208         * gst/gststructure.c: (gst_structure_nth_field_name):
29209         * gst/gststructure.h:
29210           add a way to get the name of a field referenced by index
29211         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29212           instead of checking if the resulting long long lies between
29213           min and max, we check if the long long would fit into
29214           a number of bytes for the final type.
29215           This fixes cases where a string represents 2^32 - 1, which
29216           when cast to int would be the (valid) -1, but is bigger than
29217           G_MAXINT
29218
29219 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29220
29221         * gst/parse/grammar.y:
29222           add a log line for type deserialization
29223
29224 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29225
29226         * check/gst/gstvalue.c: (START_TEST):
29227         * gst/gstvalue.c: (gst_value_deserialize):
29228           return long long, not int, so gint64 deserialization actually
29229           works.  Is there any flag that makes the compiler check this ?
29230           Fixes #308559
29231
29232 2005-06-22  Wim Taymans  <wim@fluendo.com>
29233
29234         * gst/gstbuffer.h:
29235         Added convenience macros for setting buffers in GValue.
29236
29237 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29238
29239         * check/gst/.cvsignore:
29240         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29241           add a test deserializing int64, and comment part out because
29242           it fails, yay !
29243
29244 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29245
29246         * check/Makefile.am:
29247         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
29248         * testsuite/Makefile.am:
29249         * testsuite/caps/Makefile.am:
29250         * testsuite/caps/value_serialize.c:
29251         * testsuite/test_gst_init.c:
29252           move a value_serialize test over
29253
29254 2005-06-20  Wim Taymans  <wim@fluendo.com>
29255
29256         * gst/gstpad.c:
29257         Small doc updates.
29258         
29259         * gst/gstvalue.c: (gst_value_compare_buffer),
29260         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
29261         (gst_value_compare_flags), (gst_value_serialize_flags),
29262         (gst_value_deserialize_flags), (_gst_value_initialize):
29263         Fix serialisation of buffers, they are not boxed types anymore
29264
29265 2005-06-20  Wim Taymans  <wim@fluendo.com>
29266
29267         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29268         Testcase to show error in buffer-on-caps serialisation.
29269
29270 2005-06-20  Andy Wingo  <wingo@pobox.com>
29271
29272         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
29273         will be adding to later.
29274
29275         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
29276         if its socks fill with rocks.
29277         (gst_system_clock_obtain): Set the name on object construction.
29278         Avoid double-checked locking.
29279
29280 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
29281
29282         * gst/gsturi.c: (gst_element_make_from_uri):
29283           Fix potential endless loop.
29284
29285 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29286
29287         * check/Makefile.am:
29288           add gsttag
29289         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
29290         (main):
29291           move over from testsuite dir and clean up
29292         * configure.ac:
29293         * gst/gsttag.c:
29294         * testsuite/Makefile.am:
29295         * testsuite/tags/.cvsignore:
29296         * testsuite/tags/Makefile.am:
29297         * testsuite/tags/merge.c:
29298           remove testsuite/tags
29299
29300 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29301
29302         * docs/gst/gstreamer-sections.txt:
29303         * docs/gst/tmpl/gstenumtypes.sgml:
29304         * win32/gstenumtypes.c:
29305           clean up documentation build a little
29306
29307 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29308
29309         * check/gstcheck.h:
29310           add macros for checking refcounts on objects and caps
29311         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
29312           add some more unit tests
29313         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
29314         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
29315           fix leaked refcounts (I hope :)) so unittest works
29316         * gst/gstpad.h:
29317           whitespace removal
29318
29319 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29320
29321         * configure.ac: back to HEAD
29322
29323 === release 0.9.1 ===
29324
29325 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
29326
29327         * NEWS:
29328         * RELEASE:
29329           updated
29330
29331 2005-06-17  Andy Wingo  <wingo@pobox.com>
29332
29333         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
29334         assert; it's always possible that the pad gets deactivated in
29335         between the checks in gstpad.c and the implementation. Rely on
29336         finish_preroll() to return a FLUSHING or similar instead of on the
29337         assert.
29338         
29339         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
29340         clock and post an EOS message if we come out of finish_preroll in
29341         the playing state.
29342
29343 2005-06-16  David Schleef  <ds@schleef.org>
29344
29345         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
29346         (gst_capsfilter_set_property): Allow NULL as possible value
29347         for filter_caps property, indicating GST_CAPS_ANY.
29348
29349 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29350
29351         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
29352           fix debug output
29353         * gst/schedulers/Makefile.am:
29354           use libgst prefix
29355         * gstreamer.spec.in:
29356           fix spec for it
29357
29358 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29359
29360         * gstreamer.spec.in:
29361           clean up
29362
29363 2005-06-08  Andy Wingo  <wingo@pobox.com>
29364
29365         * gst/gstutils.c: RPAD fixes all around.
29366         (gst_element_link_pads): Refcounting fixes.
29367
29368         * tools/gst-inspect.c:
29369         * tools/gst-xmlinspect.c:
29370         * parse/grammar.y:
29371         * gst/base/gsttypefindhelper.c:
29372         * gst/base/gstbasesink.c:
29373         * gst/gstqueue.c: RPAD fixes.
29374
29375         * gst/gstghostpad.h:
29376         * gst/gstghostpad.c: New ghost pad implementation as full proxy
29377         pads. The tricky thing is they provide both source and sink
29378         interfaces, since they proxy the internal pad for the external
29379         pad, and vice versa. Implement with lower-level ProxyPad objects,
29380         with the interior proxy pad as a child of the exterior ghost pad.
29381         Should write a doc on this.
29382         
29383         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
29384         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
29385         gst_object API.
29386         
29387         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
29388         pads are real pads. No ghost pads in this file. Not documenting
29389         the myriad s/RPAD/PAD/ and REALIZE fixes.
29390         (gst_pad_class_init): Add properties for "direction" and
29391         "template". Both are construct-only, so they can't change during
29392         the life of the pad. Fixes properly deriving from GstPad.
29393         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
29394         derived objects, just set properties when creating the objects via
29395         g_object_new.
29396         (gst_pad_get_parent): Implement as a function, return NULL if the
29397         parent is not an element.
29398         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
29399         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
29400         
29401         * gst/gstobject.c (gst_object_class_init): Make name a construct
29402         property. Don't set it in the object init.
29403
29404         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
29405         with UNKNOWN direction.
29406         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
29407         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
29408         (gst_element_remove_pad): Remove ghost-pad special cases.
29409         (gst_element_pads_activate): Remove rpad cruft.
29410
29411         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
29412         catch the pad's-parent-not-an-element case.
29413
29414         * gst/gst.h: Include gstghostpad.h.
29415
29416         * gst/gst.c (init_post): No more real, ghost pads.
29417
29418         * gst/Makefile.am: Add gstghostpad.[ch].
29419
29420         * check/Makefile.am:
29421         * check/gst/gstbin.c:
29422         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
29423         into a bin creates ghost pads, and that the refcounts are right.
29424         Partly moved from gstbin.c.
29425
29426 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29427
29428         * check/gst-libs/.cvsignore:
29429         * check/gst/.cvsignore:
29430         * check/pipelines/.cvsignore:
29431           ignore more
29432         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29433         (START_TEST), (cleanup_suite), (main):
29434           add some tests related to cleanup after running pipelines
29435
29436 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29437
29438         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29439           add a testsuite for GstBuffer
29440
29441 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29442
29443         * gst/gstminiobject.h:
29444           add defines for accessing the refcount
29445
29446 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
29447
29448         * Makefile.am: added support for html unit test coverage reports
29449
29450 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
29451
29452         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
29453           Free existing caps if the capsfilter changes. Add a FIXME about
29454           setting those caps on the pads.
29455
29456         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
29457           Before adding a ghost pad to a parent bin, check that there isn't
29458           already one for the element on the bin. Prevents infinite recursion
29459           when using decodebin in parse pipelines. Andy says he'll rewrite the
29460           way this works anyway, so ignore the hack.
29461
29462 2005-06-02  Andy Wingo  <wingo@pobox.com>
29463
29464         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
29465         file size, pass it on to the type find helper.
29466
29467         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
29468         segment_start and segment_end properly according to the seek
29469         method. Segment_end is still a bit flaky because offset can be
29470         negative for CUR and END cases, but it takes -1 as an "unset"
29471         value.
29472
29473 2005-06-02  Wim Taymans  <wim@fluendo.com>
29474
29475         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
29476         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
29477         (gst_basesink_activate):
29478         * gst/base/gstbasesink.h:
29479         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29480         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29481         (gst_pad_query), (gst_pad_start_task):
29482         * gst/gstpad.h:
29483         * gst/gstqueue.c: (gst_queue_bufferalloc),
29484         (gst_queue_handle_sink_event), (gst_queue_chain):
29485         Bufferalloc: return GstFlowReturn to more accuratly report
29486         why allocation failed.
29487
29488 2005-06-02  Wim Taymans  <wim@fluendo.com>
29489
29490         * gst/gstpipeline.c: (gst_pipeline_send_event):
29491         Take snapshot of state without blocking.
29492
29493 2005-06-02  Wim Taymans  <wim@fluendo.com>
29494
29495         * docs/design/part-TODO.txt:
29496         * docs/design/part-caps.txt:
29497         * docs/design/part-clocks.txt:
29498         * docs/design/part-negotiation.txt:
29499         * docs/design/part-preroll.txt:
29500         Small doc updates 
29501
29502 2005-05-30  Wim Taymans  <wim@fluendo.com>
29503
29504         * gst/elements/gstidentity.c: (gst_identity_event),
29505         (gst_identity_transform), (gst_identity_get_property):
29506         Protect last_message property as it is accessed from
29507         multiple threads.
29508
29509 2005-05-30  Wim Taymans  <wim@fluendo.com>
29510
29511         * gst/gstelement.c: (gst_element_init),
29512         (gst_element_pads_activate), (gst_element_change_state):
29513         Slicker pad activation code.
29514
29515 2005-05-30  Wim Taymans  <wim@fluendo.com>
29516
29517         * gst/Makefile.am:
29518         * gst/gstelement.h:
29519         * gst/gstelementfactory.h:
29520         * gst/gsttypes.h:
29521         Move elementfactory methods to separate .h file.
29522
29523 2005-05-30  Wim Taymans  <wim@fluendo.com>
29524
29525         * docs/design/part-overview.txt:
29526         * gst/gstsystemclock.h:
29527         Small typo fixes, doc updates.
29528
29529 2005-05-30  Wim Taymans  <wim@fluendo.com>
29530
29531         * gst/gst.c: (gst_init_get_popt_table), (init_post),
29532         (init_popt_callback):
29533         Remove cpu-opt flag.
29534
29535 2005-05-30  Wim Taymans  <wim@fluendo.com>
29536
29537         * gst/gstbuffer.c: (gst_subbuffer_finalize),
29538         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
29539         * gst/gstbuffer.h:
29540         Avoid typechecking in places where not needed.
29541         Added accessor for malloc_data.
29542
29543 2005-05-30  Wim Taymans  <wim@fluendo.com>
29544
29545         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
29546         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
29547         (gst_pad_configure_sink), (gst_pad_configure_src),
29548         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
29549         (gst_pad_start_task):
29550         Propagate errors from _set_caps() in configure_src/sink
29551         functions instead of returning TRUE.
29552         FLUSH events can travel up and downstream
29553
29554
29555 2005-05-30  Wim Taymans  <wim@fluendo.com>
29556
29557         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29558         (gst_basesink_activate):
29559         Handle EOS in preroll.
29560
29561 2005-05-30  Wim Taymans  <wim@fluendo.com>
29562
29563         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29564         (gst_queue_loop), (gst_queue_handle_src_event):
29565         Remove old pieces of code
29566         Flushing the queue in an upstream event is a very bad idea.
29567
29568 2005-05-26  Andy Wingo  <wingo@pobox.com>
29569
29570         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
29571         gst_value_set_mini_object so as to add a ref on the object (which
29572         will be removed when the value is unset).
29573
29574         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
29575         arg type in ::handoff.
29576
29577         * gst/gstelement.c (gst_element_change_state): Also deactivate
29578         pads in READY->NULL, just in case the element didn't make it to
29579         PAUSED. Wingo tested, Wim approved.
29580
29581 2005-05-26  Wim Taymans  <wim@fluendo.com>
29582
29583         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29584         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29585         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
29586         A flushing pad cannot be used to alloc_buffer from.
29587
29588 2005-05-26  Wim Taymans  <wim@fluendo.com>
29589
29590         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
29591         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
29592         (gst_bus_source_dispatch), (gst_bus_source_finalize),
29593         (gst_bus_create_watch), (gst_bus_add_watch_full):
29594         * gst/gstbus.h:
29595         Implement a real GSource and use g_main_context_wakeup() to
29596         signal new messages instead of the socketpair.
29597
29598 2005-05-25  Wim Taymans  <wim@fluendo.com>
29599
29600         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
29601         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
29602         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29603         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29604         (gst_pad_send_event), (gst_pad_start_task):
29605         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
29606         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
29607         (gst_queue_sink_activate), (gst_queue_src_activate),
29608         (gst_queue_change_state):
29609         * gst/gstqueue.h:
29610         Fix state changes for non sinks. We now change sinks, then elements
29611         with unconnected srcpads, then the rest.
29612         More efficient queue unlocking in flush and state changes.
29613         Set the pad activate mode even if it does not have an activate
29614         function.
29615
29616 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29617
29618         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
29619           Don't go in pull mode for non-seekable sources.
29620         * gst/elements/gsttypefindelement.h:
29621         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29622         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
29623         (free_entry), (stop_typefinding),
29624         (gst_type_find_element_handle_event), (find_peek),
29625         (gst_type_find_element_chain), (do_pull_typefind),
29626         (gst_type_find_element_change_state):
29627           Allow typefinding (w/o seeking) in push-mode, simplified version
29628           of what was in 0.8.
29629         * gst/gstutils.c: (gst_buffer_join):
29630         * gst/gstutils.h:
29631           gst_buffer_join() from 0.8.
29632
29633 2005-05-25  Wim Taymans  <wim@fluendo.com>
29634
29635         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29636         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29637         (gst_pad_send_event), (gst_pad_start_task):
29638         Disable attempt at mode switching until it is figured out.
29639
29640 2005-05-25  Wim Taymans  <wim@fluendo.com>
29641
29642         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
29643         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29644         (gst_basesink_finish_preroll), (gst_basesink_chain),
29645         (gst_basesink_loop), (gst_basesink_activate),
29646         (gst_basesink_change_state):
29647         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
29648         (gst_basesrc_get_range), (gst_basesrc_loop),
29649         (gst_basesrc_activate):
29650         * gst/elements/gsttee.c: (gst_tee_sink_activate):
29651         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
29652         (gst_real_pad_init), (gst_real_pad_set_property),
29653         (gst_real_pad_get_property), (gst_pad_set_active),
29654         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
29655         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
29656         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
29657         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
29658         (gst_pad_event_default_dispatch), (gst_pad_event_default),
29659         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
29660         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
29661         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
29662         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
29663         (gst_pad_stop_task):
29664         * gst/gstpad.h:
29665         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29666         (gst_queue_loop), (gst_queue_src_activate):
29667         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
29668         (gst_task_get_state):
29669         * gst/gsttask.h:
29670         * gst/schedulers/threadscheduler.c:
29671         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
29672         Implement gst_pad_pause/start/stop_task(), take STREAM lock
29673         in task function.
29674         Remove ACTIVE pad flag, use FLUSHING everywhere
29675         Added _pad_chain(), _pad_get_range() to call chain/getrange 
29676         functions.
29677         Add locks around IS_FLUSHING when reading.
29678         Take STREAM lock in chain(), get_range() functions so plugins
29679         don't need to take it anymore.
29680         
29681
29682
29683 2005-05-25  Wim Taymans  <wim@fluendo.com>
29684
29685         * tools/gst-launch.c: (event_loop):
29686         Unref message after using its contents instead of
29687         before.
29688
29689 2005-05-24  Wim Taymans  <wim@fluendo.com>
29690
29691         * docs/design/draft-ghostpads.txt:
29692         * docs/design/draft-push-pull.txt:
29693         * docs/design/draft-query.txt:
29694         * docs/design/part-overview.txt:
29695         Docs updates, added general overview doc.
29696
29697 2005-05-21  David Schleef  <ds@schleef.org>
29698
29699         * docs/gst/tmpl/old/GstBin.sgml:
29700         * docs/gst/tmpl/old/GstBuffer.sgml:
29701         * docs/gst/tmpl/old/GstCaps.sgml:
29702         * docs/gst/tmpl/old/GstClock.sgml:
29703         * docs/gst/tmpl/old/GstCompat.sgml:
29704         * docs/gst/tmpl/old/GstData.sgml:
29705         * docs/gst/tmpl/old/GstElement.sgml:
29706         * docs/gst/tmpl/old/GstEvent.sgml:
29707         * docs/gst/tmpl/old/GstIndex.sgml:
29708         * docs/gst/tmpl/old/GstStructure.sgml:
29709         * docs/gst/tmpl/old/GstTag.sgml:
29710         * docs/gst/tmpl/old/cothreads.sgml:
29711         * docs/gst/tmpl/old/cothreads_compat.sgml:
29712         * docs/gst/tmpl/old/gettext.sgml:
29713         * docs/gst/tmpl/old/gobject2gtk.sgml:
29714         * docs/gst/tmpl/old/grammar.tab.sgml:
29715         * docs/gst/tmpl/old/gst-i18n-app.sgml:
29716         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
29717         * docs/gst/tmpl/old/gst_private.sgml:
29718         * docs/gst/tmpl/old/gstaggregator.sgml:
29719         * docs/gst/tmpl/old/gstarch.sgml:
29720         * docs/gst/tmpl/old/gstatomic_impl.sgml:
29721         * docs/gst/tmpl/old/gstbufferstore.sgml:
29722         * docs/gst/tmpl/old/gstdata_private.sgml:
29723         * docs/gst/tmpl/old/gstdisksink.sgml:
29724         * docs/gst/tmpl/old/gstdisksrc.sgml:
29725         * docs/gst/tmpl/old/gstelementfactory.sgml:
29726         * docs/gst/tmpl/old/gstextratypes.sgml:
29727         * docs/gst/tmpl/old/gstfakesink.sgml:
29728         * docs/gst/tmpl/old/gstfakesrc.sgml:
29729         * docs/gst/tmpl/old/gstfdsink.sgml:
29730         * docs/gst/tmpl/old/gstfdsrc.sgml:
29731         * docs/gst/tmpl/old/gstfilesink.sgml:
29732         * docs/gst/tmpl/old/gstfilesrc.sgml:
29733         * docs/gst/tmpl/old/gsthttpsrc.sgml:
29734         * docs/gst/tmpl/old/gstidentity.sgml:
29735         * docs/gst/tmpl/old/gstindexfactory.sgml:
29736         * docs/gst/tmpl/old/gstmarshal.sgml:
29737         * docs/gst/tmpl/old/gstmd5sink.sgml:
29738         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
29739         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
29740         * docs/gst/tmpl/old/gstpadtemplate.sgml:
29741         * docs/gst/tmpl/old/gstpipefilter.sgml:
29742         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
29743         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
29744         * docs/gst/tmpl/old/gstshaper.sgml:
29745         * docs/gst/tmpl/old/gstspider.sgml:
29746         * docs/gst/tmpl/old/gstspideridentity.sgml:
29747         * docs/gst/tmpl/old/gststatistics.sgml:
29748         * docs/gst/tmpl/old/gsttee.sgml:
29749         * docs/gst/tmpl/old/gsttimecache.sgml:
29750         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
29751         * docs/gst/tmpl/old/gstxmlregistry.sgml:
29752         * docs/gst/tmpl/old/gthread-cothreads.sgml:
29753         * docs/gst/tmpl/old/types.sgml:
29754           I didn't intend to add these or check them in.
29755
29756 2005-05-19  David Schleef  <ds@schleef.org>
29757
29758         * configure.ac: Use -no-common everywhere.  In a sane world, it
29759           would be the default in libtool, because without it, you can't
29760           build DLLs on Windows.
29761         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
29762         * docs/gst/gstreamer-sections.txt:
29763         * docs/gst/tmpl/gstcpu.sgml:
29764         * docs/gst/tmpl/gstdata.sgml:
29765         * docs/gst/tmpl/gstthread.sgml:
29766
29767 2005-05-19  David Schleef  <ds@schleef.org>
29768
29769         * gst/gstminiobject.c: (gst_value_set_mini_object),
29770         (gst_value_take_mini_object), (gst_value_get_mini_object):
29771         * gst/gstminiobject.h: Add GValue set/get functions.
29772
29773 2005-05-19  Wim Taymans  <wim@fluendo.com>
29774
29775         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
29776         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
29777         (gst_subbuffer_init), (gst_buffer_is_span_fast):
29778         * gst/gstbuffer.h:
29779         * gst/gstbus.c: (gst_bus_post):
29780         * gst/gstelement.c: (gst_element_get_random_pad):
29781         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
29782         Make subbufer unref the parent in finalize.
29783         some more debugging info.
29784
29785
29786 2005-05-19  Wim Taymans  <wim@fluendo.com>
29787
29788         * gst/base/gstbasesink.c: (gst_basesink_class_init),
29789         (gst_basesink_init), (gst_basesink_finalize),
29790         (gst_basesink_activate), (gst_basesink_change_state):
29791         Don't free preroll queue too early.
29792
29793 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29794
29795         * gst/Makefile.am:
29796         * gst/ROADMAP:
29797           Hi, I'm outdated. Please shoot me.
29798
29799 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29800
29801         * gst/gstpipeline.c: (gst_pipeline_send_event):
29802           Do not access variables after they have been deleted.
29803
29804 2005-05-19  Wim Taymans  <wim@fluendo.com>
29805
29806         * tools/gst-inspect.c: (print_plugin_features):
29807         A plugin feature does unfortunatly not use the
29808         object name yet...
29809
29810 2005-05-18  Wim Taymans  <wim@fluendo.com>
29811
29812         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
29813         Port _span() functions to new subbuffers.
29814
29815 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29816
29817         * gst/gstbin.c: (gst_bin_add_func):
29818           Fix clock settery in bins when adding kids after the clock has
29819           been selected.
29820
29821 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29822
29823         * gst/elements/gstidentity.c: (gst_identity_class_init):
29824           Workaround until signals support GstMiniObject.
29825
29826 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
29827
29828         * gst/gstbuffer.c:
29829         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
29830
29831 2005-05-18  Wim Taymans  <wim@fluendo.com>
29832
29833         * gst/base/Makefile.am:
29834         * gst/base/gstadapter.c: (gst_adapter_base_init),
29835         (gst_adapter_class_init), (gst_adapter_init),
29836         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
29837         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
29838         (gst_adapter_flush), (gst_adapter_available),
29839         (gst_adapter_available_fast):
29840         * gst/base/gstadapter.h:
29841         Ported and added adapter to the base classes.
29842
29843 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
29844
29845         * gst/gst.c:
29846         * gst/gstmessage.c:
29847           Make sure the class is reffed/unreffed once before threads can be
29848           used.  Fixes #304551.
29849
29850 2005-05-17  Wim Taymans  <wim@fluendo.com>
29851
29852         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
29853         (gst_basesink_chain_unlocked), (gst_basesink_activate):
29854         * gst/gstminiobject.c: (gst_mini_object_get_type),
29855         (gst_mini_object_free):
29856         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
29857         (gst_pad_push), (gst_pad_push_event):
29858         * gst/gstqueue.c: (gst_queue_change_state):
29859         Don't queue buffers in basesink when we are flushing.
29860         Unref buffer when flushing in basesink.
29861         Flush queue when going to READY
29862         Unref buffer when _push() returns an error.
29863         Don't free MiniObject instance when refcount is incremented
29864         in _finalize() so that we can recover objects.
29865
29866 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
29867
29868         * docs/manual/advanced-schedulers.xml:
29869         * docs/manual/appendix-checklist.xml:
29870         * docs/pwg/advanced-clock.xml:
29871         * docs/pwg/advanced-interfaces.xml:
29872         * docs/pwg/advanced-request.xml:
29873         * docs/pwg/advanced-types.xml:
29874         * docs/pwg/intro-preface.xml:
29875         * examples/plugins/example.c: (gst_example_get_type),
29876         (gst_example_class_init), (gst_example_chain),
29877         (gst_example_set_property), (gst_example_get_property),
29878         (gst_example_change_state), (plugin_init):
29879         * examples/plugins/example.h:
29880           small doc fixes
29881
29882 2005-05-17  Wim Taymans  <wim@fluendo.com>
29883
29884         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
29885         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
29886         * gst/gstqueue.c: (gst_queue_change_state):
29887         Clear queue when going to READY.
29888         Remove IN_SETCAPS flag too.
29889
29890 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
29891
29892         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
29893           Remove implicit cast from gboolean to GstElementStateReturn;
29894           make sure we still return failure in paused => ready case if
29895           the parent class fails to change state and our own stop 
29896           vfunc succeeds.
29897
29898 2005-05-17  Wim Taymans  <wim@fluendo.com>
29899
29900         * tools/gst-launch.c: (event_loop):
29901         Message was unreffed too soon.
29902
29903 2005-05-16  Andy Wingo  <wingo@pobox.com>
29904
29905         * gst/gstbin.c (sink_iterator_filter): Err... um...
29906
29907         * check/gst/gstbin.c (test_ghost_pads): New test for the
29908         ghosting-if-elements-not-in-same-bin behavior.
29909
29910 2005-05-16  David Schleef  <ds@schleef.org>
29911
29912         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
29913         accessing refcount directly.
29914
29915 2005-05-15  David Schleef  <ds@schleef.org>
29916
29917         * check/Makefile.am: remove GstData checks
29918         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
29919         * gst/Makefile.am: add miniobject, remove data
29920         * gst/gst.h: add miniobject, remove data
29921         * gst/gstdata.c: remove
29922         * gst/gstdata.h: remove
29923         * gst/gstdata_private.h: remove
29924         * gst/gsttypes.h: remove GstEvent and GstMessage
29925         * gst/gstelement.c: (gst_element_post_message): fix for API changes
29926         * gst/gstmarshal.list: change BOXED -> OBJECT
29927
29928         Implement GstMiniObject.
29929         * gst/gstminiobject.c:
29930         * gst/gstminiobject.h:
29931
29932         Modify to be subclasses of GstMiniObject.
29933         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
29934         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
29935         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
29936         (gst_subbuffer_get_type), (gst_subbuffer_init),
29937         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
29938         (gst_buffer_span):
29939         * gst/gstbuffer.h:
29940         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
29941         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
29942         (_gst_event_copy), (gst_event_new):
29943         * gst/gstevent.h:
29944         * gst/gstmessage.c: (_gst_message_initialize),
29945         (gst_message_get_type), (gst_message_class_init),
29946         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
29947         (gst_message_new), (gst_message_new_error),
29948         (gst_message_new_warning), (gst_message_new_tag),
29949         (gst_message_new_state_changed), (gst_message_new_application):
29950         * gst/gstmessage.h:
29951         * gst/gstprobe.c: (gst_probe_perform),
29952         (gst_probe_dispatcher_dispatch):
29953         * gst/gstprobe.h:
29954         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
29955         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
29956         (_gst_query_copy), (gst_query_new):
29957
29958         Update elements for GstData -> GstMiniObject changes
29959         * gst/gstquery.h:
29960         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
29961         (gst_queue_chain), (gst_queue_loop):
29962         * gst/elements/gstbufferstore.c:
29963         (gst_buffer_store_add_buffer_func),
29964         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
29965         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
29966         (gst_fakesink_render):
29967         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
29968         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
29969         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
29970         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
29971         (gst_filesrc_create_read):
29972         * gst/elements/gstidentity.c: (gst_identity_class_init):
29973         * gst/elements/gsttypefindelement.c:
29974         (gst_type_find_element_src_event), (free_entry_buffers),
29975         (gst_type_find_element_handle_event):
29976         * libs/gst/dataprotocol/dataprotocol.c:
29977         (gst_dp_header_from_buffer):
29978         * libs/gst/dataprotocol/dataprotocol.h:
29979         * libs/gst/dataprotocol/dp-private.h:
29980
29981 2005-05-15  David Schleef  <ds@schleef.org>
29982
29983         * gst/elements/gstelements.c: Don't include headers that were
29984         just removed.
29985
29986 2005-05-15  David Schleef  <ds@schleef.org>
29987
29988         * gst/elements/Makefile.am: Remove some elements that don't
29989         need to be in the core (or even exist at all).
29990         * gst/elements/gstaggregator.c:
29991         * gst/elements/gstaggregator.h:
29992         * gst/elements/gstmd5sink.c:
29993         * gst/elements/gstmd5sink.h:
29994         * gst/elements/gstmultifilesrc.c:
29995         * gst/elements/gstmultifilesrc.h:
29996         * gst/elements/gstpipefilter.c:
29997         * gst/elements/gstpipefilter.h:
29998         * gst/elements/gstshaper.c:
29999         * gst/elements/gstshaper.h:
30000         * gst/elements/gststatistics.c:
30001         * gst/elements/gststatistics.h:
30002         * po/POTFILES.in: Remove above files.
30003
30004 2005-05-14  Andy Wingo  <wingo@pobox.com>
30005
30006         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
30007         so as to get the refs right.
30008         (sink_iterator_filter): New function, wraps bin_element_is_sink,
30009         unreffing objects that don't pass the filter.
30010
30011         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
30012         gst_element_set_bus.
30013         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
30014         normal cases, this will destroy the bus.
30015
30016         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
30017         object.
30018
30019         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
30020         has no sinks.
30021
30022 2005-05-13  Andy Wingo  <wingo@pobox.com>
30023
30024         * gst/gstutils.c (gst_element_link_pads): Instead of calling
30025         gst_pad_link, call pad_link_maybe_ghosting,
30026         (pad_link_maybe_ghosting): Links pads, making sure that the
30027         elements being linked are in the same bin.
30028         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
30029         Helpers for pad_link_maybe_ghosting.
30030
30031 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30032
30033         * configure.ac:
30034           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
30035
30036 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
30037
30038         * docs/design/part-element-source.txt:
30039           Mention GstPushSrc
30040
30041 2005-05-12  Wim Taymans  <wim@fluendo.com>
30042
30043         * gst/base/gstbasesink.c: (gst_basesink_init),
30044         (gst_basesink_activate):
30045         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
30046         (gst_basesrc_is_seekable):
30047         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
30048         (bin_element_is_sink), (gst_bin_change_state):
30049         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30050         * gst/gstelement.h:
30051         Identify sinks by their flag to avoid overly complicated
30052         checks (fow now).
30053         Do state changes even for elements not reachable from the
30054         sinks.
30055         BaseSink is a sink now :)
30056         Some more debugging info in the basesrc.
30057
30058
30059 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30060
30061         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
30062           Implement _query on a bin, similar to _send_event.
30063
30064 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
30065
30066         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
30067           Discont event offset format should be GST_FORMAT_BYTES,
30068           not GST_FORMAT_TIME.
30069
30070 2005-05-12  Wim Taymans  <wim@fluendo.com>
30071
30072         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
30073         Same fix as Ronald's but without the signal. 
30074
30075 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30076
30077         * gst/gstutils.c: (gst_element_query_position):
30078           No, an element is not a pad.
30079
30080 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30081
30082         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
30083         (gst_bin_get_state):
30084           If a child is removed from a bin while we remove the child from
30085           the bin and while we're retrieving its state, signal this to the
30086           get_state function so we abort the wait (instead of waiting for
30087           a timeout) and can immediately re-iterate over all other elements.
30088
30089 2005-05-12  Wim Taymans  <wim@fluendo.com>
30090
30091         * gst/base/Makefile.am:
30092         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
30093         (gst_basesrc_start):
30094         * gst/base/gstbasesrc.h:
30095         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
30096         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
30097         (gst_pushsrc_init), (gst_pushsrc_create):
30098         * gst/base/gstpushsrc.h:
30099         Added is_seekable to BaseSrc
30100         Added simple PushSrc.
30101
30102 2005-05-11  Wim Taymans  <wim@fluendo.com>
30103
30104         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30105         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30106         (gst_element_link_pads), (gst_element_query_position),
30107         (gst_element_query_convert), (intersect_caps_func),
30108         (gst_pad_query_position), (gst_pad_query_convert):
30109         Fix refcounting in utils function.
30110         No point in trying to activate a pad when it's added, it could
30111         be added from the state change function and then we deadlock, the
30112         element has to decide what to do.
30113
30114 2005-05-10  Andy Wingo  <wingo@pobox.com>
30115
30116         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
30117         *all* the arguments.
30118
30119         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
30120         stream lock if it's a FLUSH_DONE; normal flushes don't get the
30121         lock (according to the docs -- if this is wrong change the docs).
30122
30123         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
30124         flush messages in the NULL state.
30125
30126         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
30127         message immediately and return.
30128         (gst_bus_set_flushing): New function. If a bus is flushing, it
30129         flushes out any queued messages and immediately unrefs new
30130         messages. This is so when an element goes to NULL, all of the
30131         unhandled messages coming from it can be freed, and their
30132         references to the element dropped. In other words: message source
30133         ref considered harmful :P
30134
30135         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
30136         we're finished with it.
30137
30138         * gst/gstmessage.c (gst_message_new_state_changed): 
30139
30140 2005-05-10  Wim Taymans  <wim@fluendo.com>
30141
30142         * gst/gstvalue.c: (gst_value_compare_flags),
30143         (gst_value_serialize_flags), (gst_value_deserialize_flags),
30144         (_gst_value_initialize):
30145         Added flags serialize/deserialize/compare code.
30146
30147 2005-05-09  Andy Wingo  <wingo@pobox.com>
30148
30149         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
30150         Intersect the peer's caps with our caps.
30151
30152 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30153
30154         * gst/base/gsttypefindhelper.c: (helper_find_peek):
30155         * gst/elements/gsttypefindelement.c: (find_peek):
30156           Handle negative offsets better. Fixes decodebin.
30157
30158 2005-05-09  Wim Taymans  <wim@fluendo.com>
30159
30160         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
30161         (gst_base_transform_event):
30162         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
30163         Implement accept_caps.
30164         Fix silly lock/unlock mismatch in base class.
30165
30166 2005-05-09  Wim Taymans  <wim@fluendo.com>
30167
30168         * docs/design/draft-push-pull.txt:
30169         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
30170         * gst/elements/gstfilesink.c: (gst_filesink_init),
30171         (gst_filesink_query):
30172         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30173         (gst_type_find_handle_src_query), (find_element_get_length):
30174         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
30175         * gst/gstelement.h:
30176         * gst/gstmessage.c:
30177         * gst/gstmessage.h:
30178         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
30179         (gst_real_pad_get_caps_unlocked),
30180         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
30181         (gst_pad_event_default_dispatch), (gst_pad_event_default),
30182         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
30183         (gst_real_pad_dispose), (gst_real_pad_finalize),
30184         (gst_pad_load_and_link), (gst_pad_save_thyself),
30185         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
30186         (gst_pad_check_pull_range), (gst_pad_pull_range),
30187         (gst_pad_template_get_type), (gst_pad_template_class_init),
30188         (gst_pad_template_init), (gst_pad_template_dispose),
30189         (name_is_valid), (gst_static_pad_template_get),
30190         (gst_pad_template_new), (gst_static_pad_template_get_caps),
30191         (gst_pad_template_get_caps), (gst_pad_set_element_private),
30192         (gst_pad_get_element_private), (gst_pad_start_task),
30193         (gst_pad_pause_task), (gst_pad_stop_task),
30194         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
30195         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
30196         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
30197         (gst_ghost_pad_new):
30198         * gst/gstpad.h:
30199         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
30200         (gst_query_new_position), (gst_query_set_position),
30201         (gst_query_parse_position), (gst_query_new_convert),
30202         (gst_query_set_convert), (gst_query_parse_convert):
30203         * gst/gstquery.h:
30204         * gst/gstqueryutils.c:
30205         * gst/gstqueryutils.h:
30206         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30207         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30208         (gst_queue_handle_src_query):
30209         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30210         (gst_element_query_position), (gst_element_query_convert),
30211         (intersect_caps_func), (gst_pad_query_position),
30212         (gst_pad_query_convert):
30213         * gst/gstutils.h:
30214         * tools/gst-inspect.c: (print_pad_info):
30215         * tools/gst-xmlinspect.c: (print_element_info):
30216         Remove old query functions. Ported old code.
30217         Added position/convert helper functions to gstutils.
30218         Reordered gstpad.c code, grouping relevant things.
30219         Remove gst_message_new(), always need to speficy a specific
30220         message.
30221
30222
30223 2005-05-09  Andy Wingo  <wingo@pobox.com>
30224
30225         * gst/gstiterator.h: Add some includes.
30226
30227         * gst/gstqueryutils.h: Include more headers.
30228
30229         * gst/gstpad.h:
30230         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
30231         some uses of gst_pad_query.
30232
30233         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
30234         NULL out parameters.
30235         (gst_query_new_position): New proc, allocates a new position
30236         query.
30237
30238         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
30239         gstqueryutils.c to the build.
30240
30241         * gst/gststructure.c (gst_structure_set_valist): Implement with
30242         the generic G_VALUE_COLLECT.
30243         
30244 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
30245
30246         * gst/Makefile.am: (gst_headers):
30247         Added gstqueryutils.h to the list of headers to install, that was
30248         a 'nachty' move wingo :)
30249
30250 2005-05-06  Andy Wingo  <wingo@pobox.com>
30251
30252         * gst/gstquery.h
30253         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
30254         GstData, init a memchunk.
30255         (standard_definitions): Add a few query types, deprecate a few.
30256         (gst_query_get_type): New proc.
30257         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
30258         implementation.
30259         (gst_query_new_application, gst_query_get_structure): New public
30260         procs.
30261
30262         * docs/design/draft-query.txt: Removed LINKS from the query types,
30263         because all the rest can be dispatched to other pads -- seemed
30264         ugly to have a query that couldn't be dispatched. internal_links
30265         is fine as a pad method.
30266
30267         * gst/gstpad.h: Add query2 as a pad method, add the new functions
30268         in gstpad.c, but maintain binary compatibility for the moment.
30269         Will fix before 0.9 is out.
30270
30271         * gst/gstqueryutils.c: 
30272         * gst/gstqueryutils.h: New files, implement 3 methods for each
30273         query type: parse_query, parse_response, and set. Probably need an
30274         allocator as well.
30275
30276         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
30277
30278         * gst/elements/gstfilesink.c (gst_filesink_query2):
30279         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
30280         query_types, and formats methods.
30281
30282         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
30283         (gst_pad_set_query2_function): New functions.
30284         (gst_real_pad_init): Set query2_default as the default query2
30285         function. Basically just dispatches to internally linked pads.
30286
30287         Needs review!
30288         
30289         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
30290         without using the atomic operations. Only one thread can possibly
30291         be accessing the data at this point. Changed so as to avoid
30292         gst_atomic operations.
30293
30294 2005-05-06  Wim Taymans  <wim@fluendo.com>
30295
30296         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
30297         Also set caps if we use the fallback buffer alloc.
30298
30299 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
30300
30301         * docs/gst/Makefile.am:
30302         * docs/gst/gstreamer-docs.sgml:
30303         * docs/gst/gstreamer-sections.txt:
30304         * docs/gst/tmpl/gstatomic.sgml:
30305         * docs/gst/tmpl/gstmemchunk.sgml:
30306         * testsuite/elements/struct_i386.h:
30307         * win32/GStreamer.vcproj:
30308         * win32/Makefile:
30309           Purge GstAtomic stuff from docs and win32 makefiles as well
30310
30311 2005-05-06  Wim Taymans  <wim@fluendo.com>
30312
30313         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
30314         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
30315         * gst/gstpad.c: (gst_pad_peer_get_caps):
30316         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30317         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30318         (gst_queue_src_activate), (gst_queue_change_state):
30319         * gst/gstqueue.h:
30320         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30321         (intersect_caps_func):
30322         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
30323         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
30324         Some fixes for the peer_get_caps() change.
30325
30326 2005-05-06  Wim Taymans  <wim@fluendo.com>
30327
30328         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
30329         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
30330         (gst_basesink_activate):
30331         Actually do something with error codes returned from the push
30332         functions.
30333
30334 2005-05-06  Wim Taymans  <wim@fluendo.com>
30335
30336         * docs/design/part-element-sink.txt:
30337         * docs/design/part-element-source.txt:
30338         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30339         (gst_basesink_event), (gst_basesink_activate):
30340         * gst/base/gstbasesink.h:
30341         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
30342         (gst_basesrc_activate):
30343         * gst/base/gstbasesrc.h:
30344         * gst/gstelement.c: (gst_element_pads_activate):
30345         Some more documentation.
30346         Fixed scheduling decision in _pads_activate().
30347
30348 2005-05-05  Andy Wingo  <wingo@pobox.com>
30349
30350         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
30351         the test suite.
30352
30353 2005-05-05  Wim Taymans  <wim@fluendo.com>
30354
30355         * gst/base/Makefile.am:
30356         * gst/base/gstbasesink.h:
30357         * gst/base/gstbasesrc.c: (gst_basesrc_init),
30358         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
30359         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
30360         (gst_collectpads_class_init), (gst_collectpads_init),
30361         (gst_collectpads_finalize), (gst_collectpads_new),
30362         (gst_collectpads_set_function), (gst_collectpads_add_pad),
30363         (find_pad), (gst_collectpads_remove_pad),
30364         (gst_collectpads_is_active), (gst_collectpads_collect),
30365         (gst_collectpads_collect_range), (gst_collectpads_start),
30366         (gst_collectpads_stop), (gst_collectpads_peek),
30367         (gst_collectpads_pop), (gst_collectpads_available),
30368         (gst_collectpads_read), (gst_collectpads_flush),
30369         (gst_collectpads_chain):
30370         * gst/base/gstcollectpads.h:
30371         * gst/elements/Makefile.am:
30372         * gst/elements/gstelements.c:
30373         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30374         (gst_fakesink_get_times), (gst_fakesink_event),
30375         (gst_fakesink_preroll), (gst_fakesink_render):
30376         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
30377         (gst_filesink_init), (gst_filesink_set_location),
30378         (gst_filesink_open_file), (gst_filesink_close_file),
30379         (gst_filesink_pad_query), (gst_filesink_event),
30380         (gst_filesink_render), (gst_filesink_change_state):
30381         * gst/elements/gstfilesink.h:
30382         Added object to help in making collect pad based elements.
30383         Ported filesink.
30384         Make event function in sink baseclass return gboolean.
30385
30386 2005-05-05  Wim Taymans  <wim@fluendo.com>
30387
30388         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
30389         (gst_bin_get_by_name):
30390         * gst/gstbuffer.h:
30391         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
30392         (gst_clock_finalize):
30393         * gst/gstdata.c: (gst_data_replace):
30394         * gst/gstdata.h:
30395         * gst/gstelement.c: (gst_element_request_pad),
30396         (gst_element_pads_activate):
30397         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
30398         (gst_object_unref):
30399         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30400         (gst_pad_set_checkgetrange_function),
30401         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
30402         (gst_pad_check_pull_range), (gst_pad_pull_range),
30403         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30404         (gst_pad_pause_task), (gst_pad_stop_task):
30405         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30406         (gst_element_request_pad), (gst_pad_proxy_getcaps):
30407         Fix name lookup in GstBin.
30408         Added _data_replace() function and _buffer_replace()
30409         Use finalize method to clean up clock.
30410         Fix refcounting on request pads.
30411         Fix pad schedule mode error.
30412         Some more object refcounting debug info,
30413
30414
30415 2005-05-04  Andy Wingo <wingo@pobox.com>
30416
30417         * check/Makefile.am:
30418         * docs/gst/tmpl/gstatomic.sgml:
30419         * docs/gst/tmpl/gstplugin.sgml:
30420         * gst/base/gstbasesink.c: (gst_basesink_activate):
30421         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
30422         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
30423         (gst_basesrc_query), (gst_basesrc_set_property),
30424         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
30425         (gst_basesrc_activate):
30426         * gst/base/gstbasesrc.h:
30427         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
30428         (gst_base_transform_src_activate):
30429         * gst/elements/gstelements.c:
30430         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30431         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30432         * gst/elements/gsttee.c: (gst_tee_sink_activate):
30433         * gst/elements/gsttypefindelement.c: (find_element_get_length),
30434         (gst_type_find_element_checkgetrange),
30435         (gst_type_find_element_activate):
30436         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30437         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30438         (gst_caps_load_thyself):
30439         * gst/gstelement.c: (gst_element_pads_activate),
30440         (gst_element_save_thyself), (gst_element_restore_thyself):
30441         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30442         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30443         * gst/gstpad.h:
30444         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
30445         (gst_xml_parse_file), (gst_xml_parse_memory),
30446         (gst_xml_get_element), (gst_xml_make_element):
30447         * gst/indexers/gstfileindex.c: (gst_file_index_load),
30448         (_file_index_id_save_xml), (gst_file_index_commit):
30449         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
30450         (read_enum), (load_pad_template), (load_feature), (load_plugin),
30451         (load_paths):
30452         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
30453         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
30454         * tools/gst-complete.c: (main):
30455         * tools/gst-compprep.c: (main):
30456         * tools/gst-inspect.c: (print_element_properties_info):
30457         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
30458         * tools/gst-xmlinspect.c: (print_element_properties):
30459         GCC 4 fixen.
30460         
30461 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
30462
30463         * gst/gstplugin.c: (gst_plugin_check_module),
30464         (gst_plugin_check_file), (gst_plugin_load_file):
30465             apply patch from #172526 to make register work on MacOSX
30466
30467 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30468
30469         * docs/gst/tmpl/gstconfig.sgml:
30470         * gst/gstconfig.h.in:
30471           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
30472         * testsuite/debug/printf_extension.c: (main):
30473           Do not use GST_PTR_FORMAT on pointers to types with
30474           sizeof < sizeof(gpointer).  Fixes test on 64-bit
30475         * testsuite/elements/property.h:
30476           use correct printf format
30477
30478 2005-05-02  Wim Taymans  <wim@fluendo.com>
30479
30480         * docs/design/draft-push-pull.txt:
30481         * docs/design/draft-query.txt:
30482         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
30483         (gst_basesrc_start):
30484         Added draft for new query API.
30485         Added draft for better selecting scheduling methods.
30486         Make basesrc ignore length if the subclass does not support
30487         it.
30488
30489 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30490
30491         * gst/Makefile.am:
30492           possible fixes for automake-1.5 - _LIBADD is reserved
30493
30494 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30495
30496         * docs/faq/Makefile.am:
30497         * docs/manual/Makefile.am:
30498         * docs/manuals.mak:
30499         * docs/pwg/Makefile.am:
30500         * gst/Makefile.am:
30501           possible fixes for automake-1.5
30502
30503 2005-04-28  Wim Taymans  <wim@fluendo.com>
30504
30505         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30506         (gst_basesink_pad_getcaps), (gst_basesink_init),
30507         (gst_basesink_do_sync):
30508         * gst/gstclock.c: (gst_clock_entry_new):
30509         * gst/gstevent.c: (gst_event_discont_get_value):
30510         * gst/gstpipeline.c: (pipeline_bus_handler),
30511         (gst_pipeline_change_state):
30512         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
30513         Better debugging of clocking info.
30514         Allow NULL values when getting discont values.
30515
30516 2005-04-27  Wim Taymans  <wim@fluendo.com>
30517
30518         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30519         * check/gst/gstpad.c: (gst_pad_suite):
30520         Increase timeout for checks.
30521
30522 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30523
30524         * check/Makefile.am:
30525           fix the broken rule for cleanup.  Apparently this rule is
30526           only needed on FC2, so maybe this warrants further autotool
30527           inspection.
30528
30529 2005-04-26  Wim Taymans  <wim@fluendo.com>
30530
30531         * gst/gsttrashstack.h:
30532         Ooohh. a nasty one! After having a failed pop() from the stack,
30533         it's possible that the stack is empty. In that case, don't
30534         follow the NULL pointer.
30535
30536 2005-04-25  Wim Taymans  <wim@fluendo.com>
30537
30538         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30539         (gst_pad_set_checkgetrange_function),
30540         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
30541         (gst_pad_check_pull_range), (gst_pad_pull_range),
30542         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30543         (gst_pad_pause_task), (gst_pad_stop_task):
30544         * gst/gstplugin.c: (gst_plugin_load):
30545         * gst/gstplugin.h:
30546         Remove gst_library_load as it does more harm than good with
30547         the new g_module flags.
30548         Revert bogus caps template check in pad linking, pad caps
30549         are important when linking not the template, which is more
30550         general than the current caps.
30551
30552 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30553
30554         * gst/autoplug/.cvsignore:
30555         * gst/autoplug/Makefile.am:
30556         * gst/autoplug/gstsearchfuncs.c:
30557         * gst/autoplug/gstsearchfuncs.h:
30558         * gst/autoplug/gstspider.c:
30559         * gst/autoplug/gstspider.h:
30560         * gst/autoplug/gstspideridentity.c:
30561         * gst/autoplug/gstspideridentity.h:
30562         * gst/autoplug/spidertest.c:
30563           Die, spider, die.
30564
30565 2005-04-25  Wim Taymans  <wim@fluendo.com>
30566
30567         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30568         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30569         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
30570         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
30571         * gst/gstpad.h:
30572         Added stubs for unimplemented functions. 
30573
30574 2005-04-24  David Schleef  <ds@schleef.org>
30575
30576         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
30577         please fix.
30578
30579 2005-04-24  David Schleef  <ds@schleef.org>
30580
30581         Convert everything from GstAtomicInt to g_atomic_int_*, and
30582         remove gstatomic.
30583         * gst/Makefile.am:
30584         * gst/gstatomic.c:
30585         * gst/gstatomic.h:
30586         * gst/gstatomic_impl.h:
30587         * gst/gstbuffer.c:
30588         * gst/gstcaps.c:
30589         * gst/gstcaps.h:
30590         * gst/gstclock.c:
30591         * gst/gstclock.h:
30592         * gst/gstdata.c:
30593         * gst/gstdata.h:
30594         * gst/gstdata_private.h:
30595         * gst/gstevent.c:
30596         * gst/gstinfo.c:
30597         * gst/gstinfo.h:
30598         * gst/gstmessage.c:
30599         * gst/gstobject.c:
30600         * gst/gstobject.h:
30601         * gst/gststructure.c:
30602         * gst/gststructure.h:
30603         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
30604         * gst/gstutils.h:
30605
30606 2005-04-24  David Schleef  <ds@schleef.org>
30607
30608         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
30609         make the regressions tests work.  Remove some code that is no
30610         longer true.
30611         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
30612         Disable warning for pads without templates.
30613
30614 2005-04-24  David Schleef  <ds@schleef.org>
30615
30616         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
30617         functions that handle filtered links.
30618         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
30619         removed functions.
30620         * gst/gstutils.c: Fix/remove utility functions that handle
30621         filtered caps.
30622         * gst/gstutils.h:
30623         * gst/gstvalue.c: Add serialization/deserialization of caps
30624         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
30625         requires fixing so that the filter caps notation creates
30626         a capsfilter element and sets the filter_caps property.  I
30627         think everyone probably wants to keep the shorthand notation.
30628         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
30629         * docs/gst/tmpl/gstpad.sgml:
30630
30631         * gst/elements/gstelements.c: Register capsfilter element.
30632         * gst/Makefile.am: fix spacing
30633         * docs/random/ds/0.9-suggested-changes: random
30634
30635 2005-04-23  David Schleef  <ds@schleef.org>
30636
30637         * gst/elements/Makefile.am:
30638         * gst/elements/gstcapsfilter.c: New element that acts like an
30639         identity, but filters caps.  Will eventually replace filtered
30640         caps in pad linking.
30641         * gst/gstutils.c: (gst_element_create_all_pads): New function
30642         to create all the ALWAYS pads that are registered with an
30643         element class.  This functionality should eventually be
30644         merged in with GstElement initialization.
30645         * gst/gstutils.h:
30646         * testsuite/trigger/README: part of trigger test code that should
30647         have been checked in a long time ago.
30648
30649 2005-04-23  David Schleef  <ds@schleef.org>
30650
30651         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
30652         needed with new versions of libtool (nobody will confirm this),
30653         and hard to carry around.
30654         * gst/autoplug/Makefile.am:
30655         * gst/base/Makefile.am:
30656         * gst/elements/Makefile.am:
30657         * gst/indexers/Makefile.am:
30658         * gst/schedulers/Makefile.am:
30659         * libs/gst/bytestream/Makefile.am:
30660         * libs/gst/control/Makefile.am:
30661         * libs/gst/dataprotocol/Makefile.am:
30662         * libs/gst/getbits/Makefile.am:
30663
30664 2005-04-21  Wim Taymans  <wim@fluendo.com>
30665
30666         * docs/design/draft-push-pull.txt:
30667         * docs/design/part-MT-refcounting.txt:
30668         * docs/design/part-TODO.txt:
30669         * docs/design/part-caps.txt:
30670         * docs/design/part-events.txt:
30671         * docs/design/part-gstbus.txt:
30672         * docs/design/part-gstpipeline.txt:
30673         * docs/design/part-messages.txt:
30674         * docs/design/part-push-pull.txt:
30675         * docs/design/part-query.txt:
30676         Some more docs.
30677
30678 2005-04-21  Wim Taymans  <wim@fluendo.com>
30679
30680         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
30681         (gst_message_new), (gst_message_new_error),
30682         (gst_message_new_warning), (gst_message_new_tag),
30683         (gst_message_new_state_changed), (gst_message_new_application),
30684         (gst_message_get_structure):
30685         * gst/gstmessage.h:
30686         * gst/gststructure.c: (gst_structure_set_parent_refcount),
30687         (gst_structure_copy_conditional):
30688         Use parent refcount in GstMessage to ensure GstStructure
30689         consistency.
30690         Cleaned up headers a bit.
30691         
30692
30693 2005-04-20  Wim Taymans  <wim@fluendo.com>
30694
30695         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30696         (gst_basesink_pad_getcaps), (gst_basesink_init),
30697         (gst_basesink_chain_unlocked):
30698         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
30699         (gst_type_find_helper):
30700         * gst/elements/gsttypefindelement.c:
30701         (gst_type_find_element_have_type), (gst_type_find_element_init),
30702         (stop_typefinding), (gst_type_find_element_handle_event),
30703         (find_suggest), (gst_type_find_element_chain),
30704         (gst_type_find_element_checkgetrange),
30705         (gst_type_find_element_getrange), (do_typefind),
30706         (gst_type_find_element_activate):
30707         * gst/gstbuffer.c: (_gst_buffer_sub_free),
30708         (gst_buffer_default_free), (gst_buffer_default_copy),
30709         (gst_buffer_set_caps):
30710         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
30711         (gst_caps_replace):
30712         * gst/gstmessage.c: (gst_message_new),
30713         (gst_message_new_state_changed):
30714         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30715         (gst_pad_set_checkgetrange_function),
30716         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
30717         (gst_pad_set_caps), (gst_pad_check_pull_range),
30718         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
30719         * gst/gstpad.h:
30720         * gst/gsttypefind.c: (gst_type_find_register):
30721         Make gst_caps_replace() work like other _replace() functions.
30722         Use _caps_replace() where possible.
30723         Make sure _message_new() initialises its field.
30724         Add gst_static_pad_template_get_caps()
30725
30726
30727 2005-04-18  Andy Wingo  <wingo@pobox.com>
30728
30729         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
30730         on the peer, not the pad. I think that was a typo. Pass an extra
30731         arg to see if random access is possible. Activate the pads as
30732         PULL_RANGE if possible.
30733
30734         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
30735
30736         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
30737         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
30738         to PROP_....
30739
30740 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30741
30742         * docs/faq/using.xml:
30743           Add note on gstreamer-properties (#154996).
30744
30745 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30746
30747         * docs/random/bbb/optional-properties:
30748           Some analysis on optional properties.
30749
30750 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30751
30752         * docs/gst/tmpl/gstelementfactory.sgml:
30753         * gst/gstelement.h:
30754         * gst/gstelementfactory.c: (gst_element_factory_init),
30755         (gst_element_factory_cleanup), (gst_element_register),
30756         (__gst_element_factory_add_static_pad_template),
30757         (gst_element_factory_get_static_pad_templates),
30758         (gst_element_factory_can_src_caps),
30759         (gst_element_factory_can_sink_caps):
30760         * gst/registries/Makefile.am:
30761         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
30762         (gst_xml_registry_class_init), (gst_xml_registry_init),
30763         (gst_xml_registry_new), (gst_xml_registry_set_property),
30764         (gst_xml_registry_get_property), (get_time), (make_dir),
30765         (gst_xml_registry_get_perms_func),
30766         (plugin_times_older_than_recurse), (plugin_times_older_than),
30767         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
30768         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
30769         (add_to_char_array), (read_string), (read_uint), (read_enum),
30770         (load_pad_template), (load_feature), (load_plugin), (load_paths),
30771         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
30772         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
30773         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
30774         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
30775         (gst_xml_registry_rebuild):
30776         * gst/registries/gstlibxmlregistry.h:
30777         * tools/gst-compprep.c: (main):
30778         * tools/gst-inspect.c: (print_pad_templates_info):
30779         * tools/gst-xmlinspect.c: (print_element_info):
30780           Use libxml2 for registry parsing, use staticpadtemplates in
30781           elementfactories. Makes gst_init() +/- 10x faster.
30782
30783 2005-04-12  Wim Taymans  <wim@fluendo.com>
30784
30785         * gst/base/Makefile.am:
30786         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30787         (gst_basesink_pad_getcaps), (gst_basesink_init),
30788         (gst_basesink_event), (gst_basesink_change_state):
30789         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30790         (gst_basesrc_init), (gst_basesrc_query),
30791         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
30792         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
30793         (gst_basesrc_check_get_range), (gst_basesrc_loop),
30794         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
30795         (gst_basesrc_stop), (gst_basesrc_activate),
30796         (gst_basesrc_change_state):
30797         * gst/base/gsttypefindhelper.c: (helper_find_peek),
30798         (helper_find_suggest), (gst_type_find_helper):
30799         * gst/base/gsttypefindhelper.h:
30800         * gst/elements/Makefile.am:
30801         * gst/elements/gstelements.c:
30802         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30803         (gst_fakesink_get_times), (gst_fakesink_event),
30804         (gst_fakesink_preroll), (gst_fakesink_render):
30805         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30806         (gst_fakesrc_init), (gst_fakesrc_event_handler),
30807         (gst_fakesrc_get_property), (gst_fakesrc_create),
30808         (gst_fakesrc_start), (gst_fakesrc_stop):
30809         * gst/elements/gstfakesrc.h:
30810         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
30811         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
30812         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
30813         (gst_filesrc_create_read), (gst_filesrc_create),
30814         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
30815         (gst_filesrc_start):
30816         * gst/elements/gsttypefindelement.c:
30817         (gst_type_find_element_have_type), (gst_type_find_element_init),
30818         (start_typefinding), (stop_typefinding), (push_buffer_store),
30819         (gst_type_find_element_handle_event),
30820         (gst_type_find_element_chain),
30821         (gst_type_find_element_checkgetrange),
30822         (gst_type_find_element_getrange), (do_typefind),
30823         (gst_type_find_element_activate),
30824         (gst_type_find_element_change_state):
30825         * gst/elements/gsttypefindelement.h:
30826         * gst/gstpipeline.c: (pipeline_bus_handler):
30827         Added typefind helper.
30828         Small preroll fix in the base sink.
30829         Disable typefind code in basesrc.
30830         Crude port of typefindelement.
30831         Fakesrc cleanups.
30832
30833
30834 2005-04-11  Wim Taymans  <wim@fluendo.com>
30835
30836         * check/gst/gstbus.c: (gstbus_suite):
30837         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
30838         * check/gstcheck.h:
30839           Fix up the timeout so that the test does not fail.
30840
30841 2005-04-06  Wim Taymans  <wim@fluendo.com>
30842
30843         * gst/base/README:
30844         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30845         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
30846         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
30847         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
30848         (gst_basesrc_check_get_range), (gst_basesrc_loop),
30849         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
30850         (gst_basesrc_stop), (gst_basesrc_activate),
30851         (gst_basesrc_change_state), (basesrc_find_peek),
30852         (basesrc_find_suggest), (gst_basesrc_type_find):
30853         * gst/base/gstbasesrc.h:
30854         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
30855         (gst_filesrc_class_init), (gst_filesrc_init),
30856         (gst_filesrc_finalize), (gst_filesrc_set_location),
30857         (gst_filesrc_set_property), (gst_filesrc_get_property),
30858         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
30859         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
30860         (gst_filesrc_create_read), (gst_filesrc_create),
30861         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
30862         * gst/elements/gstfilesrc.h:
30863         * gst/gstelement.c: (gst_element_get_state_func),
30864         (gst_element_lost_state), (gst_element_pads_activate):
30865         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30866         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30867         (gst_pad_pull_range):
30868         * gst/gstpad.h:
30869         More work on the generic source base class, implement seeking,
30870         query.
30871         Make filesrc extend the base source class.
30872         Added gst_pad_set_checkgetrange_function to GstPad.
30873
30874 2005-04-06  Andy Wingo  <wingo@pobox.com>
30875
30876         * pkgconfig/gstreamer-base.pc.in:
30877         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
30878
30879         * pkgconfig/Makefile.am:
30880         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
30881
30882 2005-04-04  Wim Taymans  <wim@fluendo.com>
30883
30884         * gst/base/Makefile.am:
30885         * gst/base/README:
30886         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30887         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
30888         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
30889         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
30890         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30891         (gst_basesrc_base_init), (gst_basesrc_class_init),
30892         (gst_basesrc_init), (gst_basesrc_get_formats),
30893         (gst_basesrc_get_query_types), (gst_basesrc_query),
30894         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
30895         (gst_basesrc_set_property), (gst_basesrc_get_property),
30896         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
30897         (gst_basesrc_loop), (gst_basesrc_activate),
30898         (gst_basesrc_change_state):
30899         * gst/base/gstbasesrc.h:
30900         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
30901         (gst_fakesrc_class_init), (gst_fakesrc_init),
30902         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
30903         (gst_fakesrc_get_property), (gst_fakesrc_create):
30904         * gst/elements/gstfakesrc.h:
30905         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
30906         (gst_filesrc_open_file), (gst_filesrc_loop),
30907         (gst_filesrc_activate), (filesrc_find_peek),
30908         (gst_filesrc_type_find):
30909         Made base source class, make fakesrc extend it.
30910         Add comments to basesink class.
30911         Some filesrc cleanup.
30912
30913 2005-03-31  David Schleef  <ds@schleef.org>
30914
30915         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
30916         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
30917         expected to link against libgstreamer.
30918         * gst/base/Makefile.am: link against libgstreamer
30919         * gst/elements/Makefile.am: same
30920
30921 2005-03-31  Andy Wingo  <wingo@pobox.com>
30922
30923         * tests/instantiate/Makefile.am:
30924         * tests/instantiate/caps.c: Add test to test speed of caps copy
30925         and free.
30926
30927         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
30928         GMemChunk to be fair.
30929
30930         * gst/gsttrashstack.h: Remove warning about using the fallback
30931         trash stack implementation, it's still faster than malloc.
30932
30933 2005-03-30  Andy Wingo  <wingo@pobox.com>
30934
30935         * tests/complexity.c: Add a copyright.
30936
30937 2005-03-31  Wim Taymans  <wim@fluendo.com>
30938
30939         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
30940         (gst_base_transform_class_init), (gst_base_transform_init),
30941         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
30942         (gst_base_transform_get_property),
30943         (gst_base_transform_sink_activate),
30944         (gst_base_transform_src_activate),
30945         (gst_base_transform_change_state):
30946         * gst/base/gstbasetransform.h:
30947         * gst/elements/gstidentity.c: (gst_identity_class_init),
30948         (gst_identity_event), (gst_identity_check_perfect),
30949         (gst_identity_transform), (gst_identity_start),
30950         (gst_identity_stop):
30951         Added start/stop methods to transform base class so subclasses 
30952         don't need to deal with state changes even.
30953
30954 2005-03-31  Wim Taymans  <wim@fluendo.com>
30955
30956         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
30957         (gst_event_new_discontinuous), (gst_event_discont_get_value):
30958         * gst/gstevent.h:
30959         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30960         (gst_pad_pull_range):
30961         Added rate to the discont event to prepare for variable speed
30962         and reverse playback.
30963
30964 2005-03-29  David Schleef  <ds@schleef.org>
30965
30966         * configure.ac:
30967         * testsuite/trigger/Makefile.am:
30968         * testsuite/trigger/trigger.c: A little example program to show
30969         how trigger-based elements can work.
30970
30971 2005-03-29  Wim Taymans  <wim@fluendo.com>
30972
30973         * gst/base/Makefile.am:
30974         * gst/base/README:
30975         * gst/base/gstbasesink.c: (gst_basesink_get_type),
30976         (gst_basesink_base_init), (gst_basesink_class_init),
30977         (gst_basesink_pad_getcaps), (gst_basesink_init),
30978         (gst_basesink_activate), (gst_basesink_change_state):
30979         * gst/base/gstbasesink.h:
30980         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
30981         (gst_base_transform_base_init), (gst_base_transform_finalize),
30982         (gst_base_transform_class_init), (gst_base_transform_init),
30983         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
30984         (gst_base_transform_event), (gst_base_transform_getrange),
30985         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
30986         (gst_base_transform_set_property),
30987         (gst_base_transform_get_property),
30988         (gst_base_transform_sink_activate),
30989         (gst_base_transform_src_activate),
30990         (gst_base_transform_change_state):
30991         * gst/base/gstbasetransform.h:
30992         * gst/elements/gstidentity.c: (gst_identity_finalize),
30993         (gst_identity_class_init), (gst_identity_init),
30994         (gst_identity_event), (gst_identity_check_perfect),
30995         (gst_identity_transform), (gst_identity_set_property),
30996         (gst_identity_get_property), (gst_identity_change_state):
30997         * gst/elements/gstidentity.h:
30998         * gst/gstelement.c: (gst_element_get_state_func),
30999         (gst_element_lost_state), (gst_element_pads_activate):
31000         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
31001         (gst_pad_check_pull_range), (gst_pad_pull_range):
31002         * gst/gstpad.h:
31003         Simplify pad activation.
31004         Added function to check if pull_range can be performed.
31005         Error out when pulling inactive or flushing pads.
31006         Removed const from refcounted types as it does not make sense.
31007         Simplify pad templates in basesink
31008         Added base class for simple 1-to-1 transforms.
31009         Make identity subclass the base transform.
31010
31011 2005-03-29  Andy Wingo  <wingo@pobox.com>
31012
31013         * docs/libs/gstreamer-libs-overrides.txt: 
31014         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
31015         really don't understand what's going on, but like whatever. I want
31016         green buildbot!
31017
31018         * docs/gst/Makefile.am:
31019         * docs/libs/Makefile.am: Dist the overrides files.
31020
31021         * check/Makefile.am (clean-local): Remove .libs directories.
31022
31023         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
31024         elements to EXTRA_DIST, so po/ files are happy.
31025
31026         * po/POTFILES.in: Er, remove it here.
31027
31028         * po/POTFILES: Remove gstspider.c.
31029
31030         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
31031
31032         * docs/libs/gstreamer-libs-docs.sgml: 
31033         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
31034         bytestream.
31035
31036         * tests/complexity.c (main): Set the length of the preroll queue
31037         on the sinks to prevent a lockup.
31038
31039         * libs/gst/dataprotocol/Makefile.am: 
31040         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
31041         the same as the one in check/gst-libs/gdp.c.
31042
31043         * po/, docs/gst/: Commit automatic changes to docs and po files.
31044
31045         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
31046         the versioned libgstbase.
31047
31048         * check/Makefile.am: Depend on an unversioned gst-register, seems
31049         to make autoconf happier.
31050
31051         * gst/base/Makefile.am: Make libgstbase a versioned lib.
31052
31053 2005-03-28  Wim Taymans  <wim@fluendo.com>
31054
31055         * configure.ac:
31056         * docs/design/part-gstelement.txt:
31057         * docs/design/part-negotiation.txt:
31058         * docs/design/part-preroll.txt:
31059         * docs/design/part-scheduling.txt:
31060         * docs/design/part-states.txt:
31061         * gst/Makefile.am:
31062         * gst/base/Makefile.am:
31063         * gst/base/README:
31064         * gst/base/gstbasesink.c: (gst_basesink_get_template),
31065         (gst_basesink_base_init), (gst_basesink_class_init),
31066         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
31067         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
31068         (gst_basesink_set_pad_functions),
31069         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
31070         (gst_basesink_set_property), (gst_basesink_get_property),
31071         (gst_base_sink_get_template), (gst_base_sink_get_caps),
31072         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
31073         (gst_basesink_preroll_queue_push),
31074         (gst_basesink_preroll_queue_empty),
31075         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
31076         (gst_basesink_event), (gst_basesink_get_times),
31077         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
31078         (gst_basesink_chain_unlocked), (gst_basesink_chain),
31079         (gst_basesink_loop), (gst_basesink_activate),
31080         (gst_basesink_change_state):
31081         * gst/base/gstbasesink.h:
31082         * gst/elements/Makefile.am:
31083         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
31084         (gst_fakesink_class_init), (gst_fakesink_init),
31085         (gst_fakesink_set_property), (gst_fakesink_get_property),
31086         (gst_fakesink_get_times), (gst_fakesink_event),
31087         (gst_fakesink_preroll), (gst_fakesink_render),
31088         (gst_fakesink_change_state):
31089         * gst/elements/gstfakesink.h:
31090         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31091         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
31092         * gst/gstelement.c: (gst_element_add_pad),
31093         (gst_element_get_state_func), (gst_element_abort_state),
31094         (gst_element_commit_state), (gst_element_lost_state),
31095         (gst_element_set_state), (gst_element_pads_activate):
31096         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
31097         * gst/gstpipeline.c: (gst_pipeline_send_event),
31098         (gst_pipeline_change_state):
31099         Added state change code.
31100         Added/updated docs.
31101         Added sink base class, make fakesink extend the base class.
31102         Small cleanups in GstPipeline.
31103
31104 2005-03-26  David Schleef  <ds@schleef.org>
31105
31106         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
31107         is broken and should be implemented in a different library.
31108         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
31109         * gst/gst.h: remove gstcpu.h
31110         * gst/gstcpu.c: remove
31111         * gst/gstcpu.h: remove
31112         * gst/Makefile.am.future: Remove this file.  It's ancient.
31113
31114 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31115
31116         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31117         (gst_bin_send_event):
31118           Add default event/set_manager handlers. The set_manager handler
31119           takes care that the manager is distributed over kids that were
31120           already in the bin before the manager was set. The event handler
31121           is a utility virtual function that sends the event over all sinks,
31122           so that gst_element_send_event (bin, event); has the expected
31123           behaviour.
31124         * gst/gstpad.c: (gst_pad_event_default):
31125           Re-install default event handling for discontinuities, so that
31126           seeking works without requiring hacks in applications or extra
31127           code in sinks.
31128         * gst/gstpipeline.c: (gst_pipeline_class_init),
31129         (gst_pipeline_send_event):
31130           Half hack, half utility: set a pipeline to PAUSED for seek events,
31131           since that is the only way we can guarantee a/v sync. Means that
31132           you can do gst_element_seek (pipeline, method, pos); on a pipeline
31133           and it "just works".
31134
31135 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31136
31137         * gst/gstpipeline.c: (gst_pipeline_use_clock):
31138           Lock/unlock mismatch.
31139
31140 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
31141
31142         * docs/faq/gst-uninstalled:
31143           add gst-plugins-base
31144         * docs/gst/Makefile.am:
31145           don't error out until docs are fixed
31146         * docs/gst/gstreamer.types:
31147           remove thread
31148
31149 2005-03-22  Wim Taymans  <wim@fluendo.com>
31150
31151         * check/Makefile.am:
31152         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
31153         * gst/gststructure.c: (gst_structure_set_valist),
31154         (gst_structure_copy_conditional):
31155         Activated more tests.
31156         Added message test.
31157         Added G_TYPE_POINTER to GstStructure.
31158         
31159
31160 2005-03-22  Wim Taymans  <wim@fluendo.com>
31161
31162         * docs/design/part-TODO.txt:
31163         * docs/design/part-events.txt:
31164         * docs/design/part-gstbin.txt:
31165         * docs/design/part-gstbus.txt:
31166         * docs/design/part-gstpipeline.txt:
31167         * docs/design/part-messages.txt:
31168         * gst/gstbus.c:
31169         * gst/gstmessage.c:
31170         Docs updates
31171
31172 2005-03-21  Wim Taymans  <wim@fluendo.com>
31173
31174         * gst/gstbus.c: (gst_bus_post):
31175         Fix copy-and-paste error.
31176
31177 2005-03-21  Wim Taymans  <wim@fluendo.com>
31178
31179         * check/Makefile.am:
31180         * gst/Makefile.am:
31181         * gst/elements/Makefile.am:
31182         * gst/elements/gstelements.c:
31183         * gst/elements/gstfakesink.c: (gst_fakesink_init),
31184         (gst_fakesink_event), (gst_fakesink_chain):
31185         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31186         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
31187         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
31188         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
31189         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
31190         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
31191         (gst_fakesrc_loop), (gst_fakesrc_activate),
31192         (gst_fakesrc_change_state):
31193         * gst/elements/gstfakesrc.h:
31194         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
31195         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
31196         (gst_filesrc_open_file), (gst_filesrc_loop),
31197         (gst_filesrc_activate), (gst_filesrc_change_state),
31198         (filesrc_find_peek), (filesrc_find_suggest),
31199         (gst_filesrc_type_find):
31200         * gst/elements/gstidentity.c: (gst_identity_finalize),
31201         (gst_identity_class_init), (gst_identity_init),
31202         (gst_identity_proxy_getcaps), (identity_queue_push),
31203         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
31204         (gst_identity_getrange), (gst_identity_chain),
31205         (gst_identity_sink_loop), (gst_identity_src_loop),
31206         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
31207         (gst_identity_set_property), (gst_identity_get_property),
31208         (gst_identity_change_state):
31209         * gst/elements/gstidentity.h:
31210         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
31211         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
31212         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
31213         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
31214         (gst_tee_sink_activate):
31215         * gst/elements/gsttee.h:
31216         * gst/gst.c: (gst_register_core_elements), (init_post):
31217         * gst/gst.h:
31218         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
31219         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
31220         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
31221         (gst_bin_change_state):
31222         * gst/gstbin.h:
31223         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
31224         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
31225         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
31226         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
31227         (gst_bus_set_sync_handler), (gst_bus_create_watch),
31228         (bus_watch_callback), (bus_watch_destroy),
31229         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
31230         (poll_timeout), (gst_bus_poll):
31231         * gst/gstbus.h:
31232         * gst/gstcaps.h:
31233         * gst/gstdata.h:
31234         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31235         (gst_element_post_message), (gst_element_message_full),
31236         (gst_element_get_state_func), (gst_element_get_state),
31237         (gst_element_abort_state), (gst_element_commit_state),
31238         (gst_element_lost_state), (gst_element_set_state),
31239         (gst_element_pads_activate), (gst_element_change_state),
31240         (gst_element_dispose), (gst_element_set_manager_func),
31241         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
31242         (gst_element_set_manager), (gst_element_get_manager),
31243         (gst_element_set_bus), (gst_element_get_bus),
31244         (gst_element_set_scheduler), (gst_element_get_scheduler):
31245         * gst/gstelement.h:
31246         * gst/gstevent.c: (gst_event_new_segment_seek),
31247         (gst_event_new_flush):
31248         * gst/gstevent.h:
31249         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
31250         (_gst_message_free), (gst_message_get_type), (gst_message_new),
31251         (gst_message_new_eos), (gst_message_new_error),
31252         (gst_message_new_warning), (gst_message_new_tag),
31253         (gst_message_new_state_changed), (gst_message_new_application),
31254         (gst_message_get_structure), (gst_message_parse_tag),
31255         (gst_message_parse_state_changed), (gst_message_parse_error),
31256         (gst_message_parse_warning):
31257         * gst/gstmessage.h:
31258         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
31259         (gst_real_pad_set_property), (gst_pad_set_active),
31260         (gst_pad_is_active), (gst_pad_set_blocked_async),
31261         (gst_pad_set_blocked), (gst_pad_is_blocked),
31262         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
31263         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
31264         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
31265         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
31266         (gst_pad_link_filtered), (gst_pad_relink_filtered),
31267         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
31268         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
31269         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
31270         (gst_pad_set_caps), (gst_pad_configure_sink),
31271         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
31272         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
31273         (gst_real_pad_dispose), (gst_real_pad_finalize),
31274         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
31275         (gst_pad_event_default_dispatch), (gst_pad_event_default),
31276         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
31277         * gst/gstpad.h:
31278         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
31279         (pipeline_bus_handler), (gst_pipeline_change_state),
31280         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
31281         * gst/gstpipeline.h:
31282         * gst/gstprobe.h:
31283         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
31284         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
31285         (gst_queue_link_src), (gst_queue_bufferalloc),
31286         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
31287         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
31288         (gst_queue_loop), (gst_queue_handle_src_event),
31289         (gst_queue_handle_src_query), (gst_queue_src_activate),
31290         (gst_queue_change_state):
31291         * gst/gstqueue.h:
31292         * gst/gstscheduler.c: (gst_scheduler_init),
31293         (gst_scheduler_dispose), (gst_scheduler_create_task),
31294         (gst_scheduler_factory_create):
31295         * gst/gstscheduler.h:
31296         * gst/gststructure.c: (gst_structure_get_type),
31297         (gst_structure_copy_conditional):
31298         * gst/gststructure.h:
31299         * gst/gsttaginterface.h:
31300         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
31301         (gst_task_init), (gst_task_dispose), (gst_task_create),
31302         (gst_task_get_state), (gst_task_start), (gst_task_stop),
31303         (gst_task_pause):
31304         * gst/gsttask.h:
31305         * gst/gstthread.c:
31306         * gst/gstthread.h:
31307         * gst/gsttypes.h:
31308         * gst/schedulers/Makefile.am:
31309         * gst/schedulers/cothreads_compat.h:
31310         * gst/schedulers/entryscheduler.c:
31311         * gst/schedulers/faircothreads.c:
31312         * gst/schedulers/faircothreads.h:
31313         * gst/schedulers/fairscheduler.c:
31314         * gst/schedulers/gstbasicscheduler.c:
31315         * gst/schedulers/gstoptimalscheduler.c:
31316         * gst/schedulers/gthread-cothreads.h:
31317         * gst/schedulers/threadscheduler.c:
31318         (gst_thread_scheduler_task_get_type),
31319         (gst_thread_scheduler_task_class_init),
31320         (gst_thread_scheduler_task_init),
31321         (gst_thread_scheduler_task_start),
31322         (gst_thread_scheduler_task_stop),
31323         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
31324         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
31325         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
31326         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
31327         (plugin_init):
31328         * libs/gst/Makefile.am:
31329         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
31330         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
31331         (gst_file_pad_parent_set):
31332         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
31333         (gst_dp_event_from_packet):
31334         * tests/complexity.c: (main):
31335         * tests/mass_elements.c: (main):
31336         * testsuite/states/locked.c: (message_received), (main):
31337         * testsuite/states/parent.c: (main):
31338         * tools/gst-inspect.c: (print_element_flag_info),
31339         (print_implementation_info), (print_pad_info):
31340         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
31341         (main):
31342         * tools/gst-md5sum.c: (event_loop), (main):
31343         * tools/gst-typefind.c: (main):
31344         * tools/gst-xmlinspect.c: (print_element_info):
31345         Next big merge.
31346         Added GstBus for mainloop integration.
31347         Added GstMessage for sending notifications on the bus.
31348         Added GstTask as an abstraction for pipeline entry points.
31349         Removed GstThread.
31350         Removed Schedulers.
31351         Simplified GstQueue for multithreaded core.
31352         Made _link threadsafe, removed old capsnego.
31353         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
31354         Added pad blocking functions.
31355         Reworked scheduling functions in GstPad to prepare for
31356         scheduling updates soon.
31357         Moved events out of data stream.
31358         Simplified GstEvent types.
31359         Added return values to push/pull.
31360         Removed clocking from GstElement.
31361         Added prototypes for state change function for next merge.
31362         Removed iterate from bins and state change management.
31363         Fixed some elements, disabled others for now.
31364         Fixed -inspect and -launch.
31365         Added check for GstBus.
31366
31367 2005-03-10  Wim Taymans  <wim@fluendo.com>
31368
31369         * docs/design/part-MT-refcounting.txt:
31370         * docs/design/part-clocks.txt:
31371         * docs/design/part-gstelement.txt:
31372         * docs/design/part-gstobject.txt:
31373         * docs/design/part-standards.txt:
31374         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31375         (gst_bin_remove_func), (gst_bin_remove):
31376         * gst/gstbin.h:
31377         * gst/gstbuffer.c:
31378         * gst/gstcaps.h:
31379         * testsuite/clock/clock1.c: (main):
31380         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
31381         (main):
31382         * testsuite/dlopen/loadgst.c: (do_test):
31383         * testsuite/refcounting/bin.c: (add_remove_test1),
31384         (add_remove_test2), (main):
31385         * testsuite/refcounting/element.c: (main):
31386         * testsuite/refcounting/element_pad.c: (main):
31387         * testsuite/refcounting/pad.c: (main):
31388         * tools/gst-launch.c: (sigint_handler_sighandler):
31389         * tools/gst-typefind.c: (main):
31390         Doc updates.
31391         Added doc about clock.
31392         removed gst_bin_iterate_recurse_up(), marked methods
31393         for removal.
31394         Fix more testsuites.
31395
31396 2005-03-09  Wim Taymans  <wim@fluendo.com>
31397
31398         * gst/gstpad.c: (gst_pad_get_direction),
31399         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
31400         (gst_pad_collect_valist):
31401         * testsuite/bins/interface.c: (main):
31402         * testsuite/caps/audioscale.c: (test_caps):
31403         * testsuite/caps/caps.c: (test1), (test2), (test3):
31404         * testsuite/caps/deserialize.c: (main):
31405         * testsuite/caps/enumcaps.c: (main):
31406         * testsuite/caps/filtercaps.c: (main):
31407         * testsuite/caps/intersect2.c: (main):
31408         * testsuite/caps/random.c: (main):
31409         * testsuite/caps/renegotiate.c: (my_fixate), (main):
31410         * testsuite/caps/sets.c: (check_caps):
31411         * testsuite/caps/simplify.c: (check_caps), (main):
31412         * testsuite/caps/subtract.c: (check_caps):
31413         Fix _pad_get_direction wrt ghostpads.
31414         Fix caps testsuite.
31415
31416 2005-03-09  Wim Taymans  <wim@fluendo.com>
31417
31418         * check/Makefile.am:
31419         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
31420         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
31421         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
31422         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
31423         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
31424         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
31425         (gst_bin_remove), (gst_bin_iterate_recurse_up),
31426         (bin_element_is_sink), (gst_bin_iterate_sinks),
31427         (gst_bin_iterate_all_by_interface):
31428         * gst/gstbin.h:
31429         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31430         (gst_element_change_state), (gst_element_dispose),
31431         (gst_element_finalize), (gst_element_set_loop_function):
31432         * gst/gstelement.h:
31433         * gst/gstiterator.c: (find_custom_fold_func):
31434         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31435         (gst_pad_collectv), (gst_pad_collect_valist),
31436         (gst_pad_template_new):
31437         * gst/gstpipeline.c: (gst_pipeline_class_init),
31438         (gst_pipeline_dispose), (gst_pipeline_set_property),
31439         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31440         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31441         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31442         * gst/gstutils.h:
31443         * gst/schedulers/entryscheduler.c:
31444         * gst/schedulers/gstbasicscheduler.c:
31445         (gst_basic_scheduler_cothreaded_chain),
31446         (gst_basic_scheduler_chain_add_element):
31447         * testsuite/bins/interface.c: (main):
31448         Added GstBin test.
31449         Added GstSystemClock test.
31450         Implemented clock distribution code in GstBin.
31451         Implemented iterate sinks method for future use.
31452         Rearranged gstelement.h
31453         Fix GstIterator comparison bug.
31454         Moved some code to GstPipeline, mostly clocking related.
31455
31456 2005-03-09  Wim Taymans  <wim@fluendo.com>
31457
31458         * configure.ac:
31459         * gst/gst_private.h:
31460         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31461         (gst_bin_remove_func), (gst_bin_remove),
31462         (gst_bin_get_by_name_recurse_up):
31463         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
31464         (gst_clock_id_compare_func), (gst_clock_id_wait),
31465         (gst_clock_id_wait_async), (gst_clock_init),
31466         (gst_clock_adjust_unlocked), (gst_clock_get_time):
31467         * gst/gstelement.h:
31468         * gst/gstinfo.c: (_gst_debug_init):
31469         * gst/gstobject.h:
31470         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31471         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
31472         * gst/gstpad.h:
31473         Bump version number, we're now 0.9.0
31474         Add future debugging category.
31475         Fix NULL _unref() in _get_by_name_recurse_up
31476         Rearrange gstpad.h.
31477         Update some docs.
31478
31479 2005-03-08  Wim Taymans  <wim@fluendo.com>
31480
31481         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
31482         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
31483         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
31484         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
31485         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
31486         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
31487         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
31488         * gst/elements/gstidentity.c: (gst_identity_class_init):
31489         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
31490         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
31491         * gst/elements/gstshaper.c: (gst_shaper_class_init):
31492         * gst/elements/gststatistics.c: (gst_statistics_class_init):
31493         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
31494         (gst_tee_link):
31495         * gst/gstelement.c: (gst_element_class_init),
31496         (gst_element_base_class_init), (gst_element_init),
31497         (gst_element_get_random_pad), (gst_element_wait_state_change),
31498         (gst_element_change_state), (gst_element_dispose),
31499         (gst_element_finalize), (gst_element_set_loop_function):
31500         * gst/gstelement.h:
31501         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
31502         * gst/gstthread.c: (gst_thread_class_init),
31503         (gst_thread_release_children_locks), (gst_thread_change_state):
31504         * gst/schedulers/gstbasicscheduler.c:
31505         (gst_basic_scheduler_loopfunc_wrapper),
31506         (gst_basic_scheduler_chain_wrapper),
31507         (gst_basic_scheduler_src_wrapper),
31508         (gst_basic_scheduler_remove_element):
31509         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
31510         Remove threadsafe properties. Fix elements because GObject
31511         complains when installing a property before declaring a
31512         set/get_property handler.
31513         Rearrange gstelement.h file, use STATE macros for state locks.
31514         Free mutexes in the finalize method instead of dispose.
31515
31516 2005-03-08  Wim Taymans  <wim@fluendo.com>
31517
31518         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31519         * gst/gstthread.c: (gst_thread_release_children_locks):
31520         Added parentage check.
31521         Fix build og GstThread again.
31522
31523 2005-03-08  Wim Taymans  <wim@fluendo.com>
31524
31525         * docs/design/part-MT-refcounting.txt:
31526         * docs/design/part-conventions.txt:
31527         * docs/design/part-gstobject.txt:
31528         * docs/design/part-relations.txt:
31529         * docs/design/part-standards.txt:
31530         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31531         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
31532         (gst_bin_get_by_name), (gst_bin_get_by_interface),
31533         (gst_bin_iterate_all_by_interface):
31534         * gst/gstbuffer.h:
31535         * gst/gstclock.h:
31536         * gst/gstelement.c: (gst_element_class_init),
31537         (gst_element_change_state), (gst_element_set_loop_function):
31538         * gst/gstelement.h:
31539         * gst/gstiterator.c:
31540         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
31541         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
31542         (gst_object_dispatch_properties_changed), (gst_object_set_name),
31543         (gst_object_set_parent), (gst_object_unparent),
31544         (gst_object_check_uniqueness):
31545         * gst/gstobject.h:
31546         Docs updates, clean up some headers.
31547
31548 2005-03-07  Wim Taymans  <wim@fluendo.com>
31549
31550         * check/.cvsignore:
31551         * check/Makefile.am:
31552         * check/gst-libs/.cvsignore:
31553         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
31554         * check/gst/.cvsignore:
31555         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
31556         (START_TEST), (gstbus_suite), (main):
31557         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
31558         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
31559         (gst_data_suite), (main):
31560         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
31561         (add_fold_func), (gstiterator_suite), (main):
31562         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
31563         (thread_name_object), (thread_name_object_default),
31564         (gst_object_name_compare), (gst_object_suite), (main):
31565         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
31566         (gst_pad_suite), (main):
31567         * check/gstcheck.c: (gst_check_log_message_func),
31568         (gst_check_log_critical_func), (gst_check_init):
31569         * check/gstcheck.h:
31570         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
31571         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
31572         Added checks.
31573
31574 2005-03-07  Wim Taymans  <wim@fluendo.com>
31575
31576         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
31577         (gst_list_iterator_next), (gst_list_iterator_resync),
31578         (gst_list_iterator_free), (gst_iterator_new_list),
31579         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
31580         (gst_iterator_free), (gst_iterator_push), (filter_next),
31581         (filter_resync), (filter_uninit), (filter_free),
31582         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
31583         (gst_iterator_foreach), (find_custom_fold_func),
31584         (gst_iterator_find_custom):
31585         * gst/gstiterator.h:
31586         Added missing files.
31587
31588 2005-03-07  Wim Taymans  <wim@fluendo.com>
31589
31590         * Makefile.am:
31591         * configure.ac:
31592         * docs/design/part-MT-refcounting.txt:
31593         * docs/design/part-conventions.txt:
31594         * docs/design/part-gstobject.txt:
31595         * docs/design/part-relations.txt:
31596         * examples/mixer/mixer.c: (main):
31597         * examples/thread/thread.c: (eos), (main):
31598         * gst/Makefile.am:
31599         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
31600         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
31601         (gst_spider_plug_from_srcpad):
31602         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
31603         (gst_spider_identity_change_state),
31604         (gst_spider_identity_sink_loop_type_finding):
31605         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
31606         * gst/elements/gstidentity.c: (gst_identity_init):
31607         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
31608         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
31609         * gst/elements/gsttypefindelement.c: (free_entry):
31610         * gst/gst.c:
31611         * gst/gst.h:
31612         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
31613         (gst_bin_set_clock_func), (gst_bin_auto_clock),
31614         (gst_bin_set_index), (gst_bin_set_element_sched),
31615         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
31616         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
31617         (gst_bin_iterate_elements), (iterate_child_recurse),
31618         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
31619         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
31620         (compare_interface), (gst_bin_get_by_interface),
31621         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
31622         * gst/gstbin.h:
31623         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
31624         (gst_buffer_default_free), (gst_buffer_default_copy),
31625         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
31626         (gst_buffer_create_sub):
31627         * gst/gstbuffer.h:
31628         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
31629         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
31630         (gst_caps_unref), (gst_static_caps_get),
31631         (gst_caps_remove_and_get_structure), (gst_caps_append),
31632         (gst_caps_append_structure), (gst_caps_remove_structure),
31633         (gst_caps_copy_nth), (gst_caps_set_simple),
31634         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
31635         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
31636         (gst_caps_structure_intersect_field), (gst_caps_intersect),
31637         (gst_caps_structure_subtract_field), (gst_caps_subtract),
31638         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
31639         (gst_caps_structure_figure_out_union),
31640         (gst_caps_switch_structures), (gst_caps_do_simplify),
31641         (gst_caps_replace), (gst_caps_from_string),
31642         (gst_caps_copy_conditional):
31643         * gst/gstcaps.h:
31644         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
31645         (_gst_clock_id_free), (gst_clock_id_unref),
31646         (gst_clock_id_compare_func), (gst_clock_id_wait),
31647         (gst_clock_id_wait_async), (gst_clock_class_init),
31648         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
31649         (gst_clock_get_time), (gst_clock_set_time_adjust),
31650         (gst_clock_set_property), (gst_clock_get_property):
31651         * gst/gstclock.h:
31652         * gst/gstcompat.h:
31653         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
31654         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
31655         * gst/gstdata.h:
31656         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31657         (gst_element_requires_clock), (gst_element_provides_clock),
31658         (gst_element_set_clock), (gst_element_clock_wait),
31659         (gst_element_wait), (gst_element_set_time_delay),
31660         (gst_element_is_indexable), (gst_element_add_pad),
31661         (gst_element_add_ghost_pad), (gst_element_remove_pad),
31662         (pad_compare_name), (gst_element_get_static_pad),
31663         (gst_element_request_pad), (gst_element_get_request_pad),
31664         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
31665         (gst_element_class_get_pad_template_list),
31666         (gst_element_class_get_pad_template), (gst_element_error_func),
31667         (gst_element_get_random_pad), (gst_element_get_event_masks),
31668         (gst_element_send_event), (gst_element_seek),
31669         (gst_element_get_query_types), (gst_element_query),
31670         (gst_element_get_formats), (gst_element_convert),
31671         (gst_element_is_locked_state), (gst_element_set_locked_state),
31672         (gst_element_sync_state_with_parent), (gst_element_change_state),
31673         (gst_element_finalize), (gst_element_yield),
31674         (gst_element_interrupt), (gst_element_set_scheduler),
31675         (gst_element_get_scheduler), (gst_element_set_loop_function):
31676         * gst/gstelement.h:
31677         * gst/gstevent.h:
31678         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
31679         (gst_format_get_by_nick), (gst_format_get_details),
31680         (gst_format_iterate_definitions):
31681         * gst/gstformat.h:
31682         * gst/gstindex.c: (gst_index_gtype_resolver):
31683         * gst/gstinfo.c:
31684         * gst/gstinfo.h:
31685         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
31686         (gst_mem_chunk_free):
31687         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
31688         (gst_object_ref), (gst_object_unref), (gst_object_sink),
31689         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
31690         (gst_object_dispatch_properties_changed),
31691         (gst_object_set_name_default), (gst_object_set_name),
31692         (gst_object_get_name), (gst_object_set_name_prefix),
31693         (gst_object_get_name_prefix), (gst_object_set_parent),
31694         (gst_object_get_parent), (gst_object_unparent),
31695         (gst_object_check_uniqueness), (gst_object_save_thyself),
31696         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
31697         (gst_object_set_property), (gst_object_get_property),
31698         (gst_object_get_path_string):
31699         * gst/gstobject.h:
31700         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
31701         (gst_real_pad_init), (gst_real_pad_get_property),
31702         (gst_pad_custom_new), (gst_pad_get_direction),
31703         (gst_pad_set_active), (gst_pad_is_active),
31704         (gst_pad_set_event_function), (gst_pad_is_linked),
31705         (gst_pad_link_free), (gst_pad_link_intersect),
31706         (gst_pad_link_fixate), (gst_pad_set_caps),
31707         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
31708         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
31709         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
31710         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
31711         (gst_pad_get_caps), (gst_pad_peer_get_caps),
31712         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
31713         (gst_pad_realize), (gst_pad_get_allowed_caps),
31714         (gst_real_pad_dispose), (gst_real_pad_finalize),
31715         (gst_pad_collectv), (gst_pad_collect_valist),
31716         (gst_pad_template_dispose), (gst_pad_template_new),
31717         (gst_pad_get_internal_links):
31718         * gst/gstpad.h:
31719         * gst/gstpipeline.c: (gst_pipeline_dispose),
31720         (gst_pipeline_change_state):
31721         * gst/gstpipeline.h:
31722         * gst/gstplugin.c:
31723         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
31724         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
31725         * gst/gstpluginfeature.h:
31726         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
31727         * gst/gstquery.c: (_gst_query_type_initialize),
31728         (gst_query_type_register), (gst_query_type_get_by_nick),
31729         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
31730         * gst/gstquery.h:
31731         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
31732         * gst/gstscheduler.c: (gst_scheduler_add_element),
31733         (gst_scheduler_factory_create):
31734         * gst/gststructure.c: (gst_structure_set_parent_refcount),
31735         (gst_structure_free), (gst_structure_set_name),
31736         (gst_structure_id_set_value), (gst_structure_set_value),
31737         (gst_structure_set_valist), (gst_structure_remove_field),
31738         (gst_structure_remove_fields),
31739         (gst_structure_remove_fields_valist),
31740         (gst_structure_remove_all_fields), (gst_structure_foreach),
31741         (gst_structure_map_in_place),
31742         (gst_caps_structure_fixate_field_nearest_int),
31743         (gst_caps_structure_fixate_field_nearest_double):
31744         * gst/gststructure.h:
31745         * gst/gstsystemclock.c: (gst_system_clock_class_init),
31746         (gst_system_clock_init), (gst_system_clock_dispose),
31747         (gst_system_clock_async_thread),
31748         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
31749         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
31750         * gst/gstsystemclock.h:
31751         * gst/gsttag.c: (gst_tag_list_add_value_internal),
31752         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
31753         * gst/gsttaginterface.c:
31754         * gst/gstthread.c: (gst_thread_dispose),
31755         (gst_thread_release_children_locks), (gst_thread_change_state),
31756         (gst_thread_main_loop):
31757         * gst/gsttrashstack.h:
31758         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
31759         * gst/gsttypes.h:
31760         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
31761         (gst_element_request_pad), (gst_element_get_pad_from_template),
31762         (gst_element_request_compatible_pad),
31763         (gst_element_get_compatible_pad_filtered),
31764         (gst_element_get_compatible_pad), (gst_element_state_get_name),
31765         (gst_element_link_pads_filtered), (gst_element_link_filtered),
31766         (gst_element_link_many), (gst_element_link),
31767         (gst_element_link_pads), (gst_element_unlink_pads),
31768         (gst_element_unlink_many), (gst_element_unlink),
31769         (gst_pad_can_link_filtered), (gst_pad_can_link),
31770         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
31771         (gst_object_default_error), (gst_bin_add_many),
31772         (gst_bin_remove_many), (gst_element_populate_std_props),
31773         (gst_element_class_install_std_props), (gst_buffer_merge),
31774         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
31775         (link_fold_func), (gst_pad_proxy_setcaps):
31776         * gst/gstutils.h:
31777         * gst/gstvalue.c: (gst_value_deserialize_string):
31778         * gst/parse/grammar.y:
31779         * gst/schedulers/gstbasicscheduler.c:
31780         (gst_basic_scheduler_cothreaded_chain),
31781         (gst_basic_scheduler_chain_recursive_add),
31782         (gst_basic_scheduler_pad_link):
31783         * gst/schedulers/gstoptimalscheduler.c:
31784         (get_group_schedule_function),
31785         (gst_opt_scheduler_state_transition),
31786         (gst_opt_scheduler_add_element), (element_get_reachables_func):
31787         * libs/gst/bytestream/bytestream.c:
31788         * libs/gst/dataprotocol/dataprotocol.c:
31789         (gst_dp_header_from_buffer):
31790         * po/nb.po:
31791         * po/ru.po:
31792         * tests/threadstate/threadstate2.c: (eos):
31793         * tools/gst-compprep.c: (main):
31794         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
31795         (print_pad_info), (print_children_info):
31796         * tools/gst-launch.c: (idle_func), (main):
31797         * tools/gst-md5sum.c: (idle_func), (main):
31798         * tools/gst-xmlinspect.c: (print_element_info):
31799         First THREADED backport attempt, focusing on adding locks and
31800         making sure the API is threadsafe. Needs more work. More docs
31801         follow this week.
31802
31803 2005-02-24  Andy Wingo  <wingo@pobox.com>
31804
31805         * tests/bench-complexity.scm:
31806         * tests/complexity.gnuplot: New files, good for running complexity
31807         benchmarks.
31808
31809         * tests/Makefile.am:
31810         * tests/complexity.c: New test, sets up N elements, at each level
31811         teeing into M streams per element. Eeeenteresting.
31812
31813         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
31814         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
31815         running bench-mass_elements.scm.
31816
31817         * tests/bench-mass_elements.scm: New script, runs mass_elements
31818         for various numbers of identities, outputting the results to a
31819         file. Requires guile 1.6. Just for testing.
31820
31821 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
31822
31823         * gst/schedulers/fairscheduler.c:
31824           compile with debug disabled
31825
31826 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
31827
31828         * configure.ac:
31829           hunting season on 0.9 is now OPEN