gst/gststructure.c: No need to memset, we can clear the value ourselves.
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
2
3         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
4         No need to memset, we can clear the value ourselves.
5
6         * gst/gstvalue.c: (gst_type_is_fixed),
7         (gst_value_get_compare_func):
8         Some optimisations from a few callgrind sessions:
9         When checking if a type is fixed, check for trivial fundamental types
10         first before checking types for which we need to get the type followed
11         by the heavy duty type checks, this reduces the amount of
12         g_type_fundamental() calls a lot.
13         When getting the compare function, first check for our registered types.
14         If that fails, do the heavy duty g_type_is_a() checks, reduces the
15         amount of g_type_is_a() considerably.
16
17 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
18
19         * docs/design/part-TODO.txt:
20         Mumble something about removing GstXML.
21
22 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
23
24         * gst/gstbin.c: (gst_bin_handle_message_func):
25         Get the seqnum before we dispose the message.
26
27 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
28
29         * docs/design/part-TODO.txt:
30         Refer to the framestepping document.
31
32 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
33
34         * gst/gstbin.c: (bin_handle_async_start),
35         (gst_bin_handle_message_func), (gst_bin_query):
36         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
37         (gst_base_sink_event), (gst_base_sink_change_state):
38         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
39         (gst_base_src_loop), (gst_base_src_change_state):
40         Copy seqnums from events to messages so that they can all be related
41         back to eachother.
42
43 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
44
45         * tools/gst-launch.c: (event_loop):
46         Print the message seqnums.
47
48 2008-11-04  Andy Wingo  <wingo@pobox.com>
49
50         * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
51
52 2008-11-04  Andy Wingo  <wingo@pobox.com>
53
54         Add sequence numbers to events and messages. See #559250.
55
56         * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
57         API: New functions.
58
59         * gst/gstevent.h:
60         * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
61         events with a new sequence number, and copy it when copying.
62         (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
63         an event's sequence number.
64
65         * gst/gstmessage.h:
66         * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
67         (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
68         so with messages.
69
70         * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
71
72 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
73
74         * docs/manual/advanced-position.xml:
75         * docs/manual/basics-bins.xml:
76         * docs/manual/basics-bus.xml:
77         * docs/manual/basics-pads.xml:
78         * docs/manual/intro-gstreamer.xml:
79         * docs/manual/intro-preface.xml:
80         Some Application Development Manual fixes thanks to
81         Andrew Feren. Fixes #558459.
82
83 2008-11-03  Stefan Kost  <ensonic@users.sf.net>
84
85         * gst/gstregistrybinary.c:
86           Don't bother with the GTimer if we don't output the results.
87
88 2008-11-03  Wim Taymans  <wim.taymans@collabora.co.uk>
89
90         Patch by: David Schleef  <ds@schleef.org>
91
92         * libs/gst/net/Makefile.am:
93         Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
94
95 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
96
97         * gst/gstregistrybinary.c:
98           Oh my, studip, stupid me. Remove double stat() call.
99
100 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
101
102         * gst/gstpreset.c:
103           Use g_unlink instead of unlink.
104
105         * gst/gststructure.c:
106           Use glib type.
107
108         * gst/gstutils.c:
109           Add a FIXME:.
110
111         * gst/gsttaglist.c:
112         * gst/gsttypefind.c:
113         * gst/gstvalue.c:
114           Formatting & whitespaces.
115
116 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
117
118         * plugins/elements/gstidentity.c:
119           Doc typo. Use return value of parent_class->event.
120   
121         * plugins/elements/gsttypefindelement.c:
122           Chain up at the end for consistency.
123   
124 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
125
126         * docs/Makefile.am:
127         * docs/gst/gstreamer-docs.sgml:
128         * docs/gst/gstreamer-sections.txt:
129         * docs/gst/running.xml:
130         * docs/libs/gstreamer-libs-docs.sgml:
131           Change to xinclude based build - its faster and easier to maintain.
132
133 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
134
135         * gst/gstregistrybinary.c:
136         * gst/gstregistryxml.c:
137           Use g_unlink() as none of these are directories.
138
139 2008-10-29  Wim Taymans  <wim.taymans@collabora.co.uk>
140
141         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
142         Some more comments.
143
144 2008-10-27  Wim Taymans  <wim.taymans@collabora.co.uk>
145
146         * libs/gst/base/gstbasetransform.c:
147         (gst_base_transform_find_transform), (gst_base_transform_getrange):
148         If we have a fixate function, call it even if we already have fixed caps
149         because the subclass might add some caps. Makes audioconvert add a
150         default channel layout.
151
152 2008-10-24  Wim Taymans  <wim.taymans@collabora.co.uk>
153
154         * libs/gst/base/gstbasetransform.c:
155         (gst_base_transform_prepare_output_buffer),
156         (gst_base_transform_getrange):
157         Clear the output buffer variable.
158         Cleanups to the error path in the getrange function.
159         Fixes #557649.
160
161 2008-10-23  Sebastian Dröge  <slomo@circular-chaos.org>
162
163         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
164         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
165         Use gst_buffer_try_new_and_alloc() and handle errors instead of
166         using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
167         be allocated.
168
169 2008-10-23  Wim Taymans  <wim.taymans@collabora.co.uk>
170
171         * gst/gstsegment.c: (gst_segment_set_newsegment_full):
172         Set the last_stop to a more meaningful position when configuring the
173         segment. ie. the start/stop of the segment or clipped against the
174         updated segment boundaries.
175
176         * tests/check/gst/gstsegment.c: (GST_START_TEST):
177         Add some unit tests for the last_stop.
178
179 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
180
181         * libs/gst/base/gstbytereader.c:
182         Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
183         copies of them.
184
185 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
186
187         * docs/gst/gstreamer-sections.txt:
188         * gst/gstutils.h:
189         API: Move float endianness conversion macros from libgstfloatcast
190         to core as it's useful in general, even in core. Fixes bug #555196.
191         This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
192         GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
193         GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
194
195         Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
196         GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
197         GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
198         GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
199
200 2008-10-22  Sebastian Dröge  <slomo@circular-chaos.org>
201
202         * docs/libs/gstreamer-libs-sections.txt:
203         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
204         (gst_byte_reader_peek_data):
205         * libs/gst/base/gstbytereader.h:
206         * win32/common/libgstbase.def:
207         API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
208         to get a pointer to the data at the current position and have
209         a guaranteed size.
210
211 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
212
213         * configure.ac:
214         Fix a bug in the output of the configure script summary
215         when --gst-disable-registry is supplied
216
217 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
218
219         * libs/gst/base/gstbitreader.c:
220         * libs/gst/base/gstbytereader.c:
221         Fix the names of 2 functions in the docs strings.
222
223 2008-10-21  Wim Taymans  <wim.taymans@collabora.co.uk>
224
225         * libs/gst/base/gstbasetransform.c:
226         (gst_base_transform_prepare_output_buffer),
227         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
228         Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
229         refcount problems as seen in banshee and maybe also in farsight2.
230         Remove atomic int now that we need to take the lock anyways.
231
232 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
233
234         * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
235         (gst_base_sink_default_prepare_seek_segment),
236         (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
237         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
238         (gst_base_sink_query):
239         Implement more seeking in pull mode.
240         Use pad convert functions to convert position to the requested format.
241         Fix position/duration reporting in pull mode.
242         Implement position and duration reporting in other formats than time.
243
244         * libs/gst/base/gstbasesink.h:
245         Add member to keep track of when the segment is playing.
246
247 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
248
249         * gst/gstpad.c: (gst_pad_configure_src):
250         When we use gst_pad_alloc_buffer() without wanting to set the caps we
251         also don't need to check if the caps are compatible because the caller
252         presumably is going to perform its own custom checks. Fixes some cases
253         where basetransform elements would error out when it was not needed.
254
255 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
256
257         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
258         Update comment.
259
260         * libs/gst/base/gstbasetransform.c:
261         (gst_base_transform_handle_buffer),
262         (gst_base_transform_reconfigure):
263         Add some debug info.
264
265         * win32/common/libgstbase.def:
266         Add new method.
267
268 2008-10-19  Stefan Kost  <ensonic@users.sf.net>
269
270         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
271           Remove duplicated assignment and log a message in failure case.
272
273 2008-10-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
274
275         Patch by: Dig Ge <dig.ge.cn at gmail com>
276
277         * tests/examples/helloworld/helloworld.c: (main):
278           Fix copy'n'paste bug in hello world example (#556900).
279
280 2008-10-17  Wim Taymans  <wim.taymans@collabora.co.uk>
281
282         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
283         (gst_base_sink_query):
284         Query the total number of bytes when activating the pad in pull mode.
285         Implement duration query in pull mode by using the installed pad convert
286         function to convert from bytes to the requested format.
287
288 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
289
290         * docs/libs/gstreamer-libs-sections.txt:
291         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
292         (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
293         (gst_base_sink_event), (gst_base_sink_perform_seek),
294         (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
295         (gst_base_sink_send_event), (gst_base_sink_change_state):
296         * libs/gst/base/gstbasesink.h:
297         Add method to commit the state in subclasses.
298         Refactor the flush_start and flush_stop code because we need it for
299         flushing while seeking too.
300         Implement the beginnings of seeking in pull mode.
301         Use the segment last_stop field for the pulling offset.
302         Fix the pause method in pull mode.
303         Configure the segment to BYTES for pull mode.
304         API: GstBaseSink::gst_base_sink_do_preroll()
305
306 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
307
308         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
309         Update some docs.
310
311 2008-10-14  Tim-Philipp Müller  <tim.muller at collabora co uk>
312
313         * gst/gstquark.c: (_priv_gst_quarks_initialize):
314           Fix printf format warning.
315
316 2008-10-14  Sebastian Dröge  <slomo@circular-chaos.org>
317
318         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
319         Fix flow aggregation of tee. Error out immediately for all flow returns
320         except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
321         and return OK if at least one pad is linked.
322
323         Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
324         and otherwise returned the flow return of the last pad, which is wrong.
325         
326         * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
327         (GST_START_TEST), (tee_suite):
328         Add unit tests for the flow aggregation.
329
330 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
331
332         * docs/design/part-TODO.txt:
333         Remove item from the todo list because it was fixed with the latency
334         state change rewrites.
335
336         * docs/design/part-seeking.txt:
337         * docs/design/part-segments.txt:
338         Update some docs.
339
340         * gst/gstevent.c: (gst_event_new_new_segment_full),
341         (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
342         (gst_event_parse_buffer_size), (gst_event_new_qos),
343         (gst_event_parse_qos), (gst_event_new_seek),
344         (gst_event_parse_seek), (gst_event_new_latency),
345         (gst_event_parse_latency):
346         Use quarks to construct and parse events.
347
348         * gst/gstquark.c: (_priv_gst_quarks_initialize):
349         * gst/gstquark.h:
350         Add some more quarks to the table.
351         Emit a warning when the quark tables are not in sync.
352
353         * tests/check/gst/gstbus.c: (GST_START_TEST):
354         Add an assert.
355
356 2008-10-13  Stefan Kost  <ensonic@users.sf.net>
357
358         * plugins/elements/Makefile.am:
359         * plugins/indexers/Makefile.am:
360           Don't install static libs for plugins. Fixes #550851 for core.
361
362 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
363
364         * gst/gstbus.c: (gst_bus_source_finalize),
365         (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
366         (gst_bus_enable_sync_message_emission),
367         (gst_bus_disable_sync_message_emission),
368         (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
369         Fix deadlock, g_source_get_id() cannot be called in finalize.
370         Keep track of the watch source by keeping a pointer to the source object
371         instead.
372         Use the bus lock to protect access to the pointer to the current
373         watch source.
374
375 2008-10-13  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
376
377         Base on Patch by: Olivier Crete <tester at tester dot ca>
378
379         * gst/gstbus.c: (gst_bus_source_finalize),
380         (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
381         Only allow one bus watch to be set at a time. This is necessary
382         because the dispatcher pops the message from the bus and the second
383         watcher will then get NULL or the next message (and the first won't
384         get this next message then, etc). If more than one "watcher" is
385         required signal watches should be used. Fixes bug #526044.
386
387 2008-10-12  Jan Schmidt  <jan.schmidt@sun.com>
388
389         * tools/gst-launch.c:
390         Change the printing of the 'buffering...' output to avoid putting
391         a \r in a translateable string (flagged by the TP).
392
393 2008-10-10  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
394
395         * gst/gstxml.c:
396         Clarify that the save_thyself() and restore_thyself() virtual
397         functions of GstObject need to be overriden, not
398         gst_object_(save|restore)_thyself() which is impossible.
399         Fixes bug #555700.
400
401 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
402
403         * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
404         Revert a patch from 21 months ago that broke caps negotiation in pull
405         mode. Basically, having a buffer pass over a pad will trigger the
406         setcaps function when caps change, just like in push mode.
407
408 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
409
410         * docs/design/part-negotiation.txt:
411         Update the docs some more.
412
413         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
414         If we pull a buffer with non-trivial caps, suggest those caps with the
415         max probability.
416
417 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
418
419         * docs/design/part-TODO.txt:
420         Add another limitation of pad-blocking with segment seeks not pushing
421         EOS events.
422
423 2008-10-10  Jan Schmidt  <jan.schmidt@sun.com>
424
425         * win32/common/libgstbase.def:
426         * win32/common/libgstreamer.def:
427         Add new symbols to the win32 defs files
428
429 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
430
431         * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
432         (gst_bin_handle_message_func):
433         The message src can be NULL, don't try to print the object names in that
434         case.
435
436         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
437         Add some more debug info.
438
439         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
440         (GST_START_TEST):
441         Add some debug.
442         Fix the test, pull based sinks go ASYNC to PAUSED, just like other
443         scheduling modes.
444
445 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
446
447         * docs/design/part-negotiation.txt:
448         Small doc update.
449
450         * docs/libs/gstreamer-libs-sections.txt:
451         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
452         (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
453         (gst_base_sink_init), (gst_base_sink_set_blocksize),
454         (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
455         (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
456         (gst_base_sink_loop), (gst_base_sink_pad_activate),
457         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
458         (gst_base_sink_change_state):
459         * libs/gst/base/gstbasesink.h:
460         Add blocksize property and methods to control the amount of data
461         to pull.
462         Negotiate first before activating upstream in pull mode so that they can
463         negotiate themselves.
464         When we operate in pull mode, we only accept the caps that we
465         negotiated.
466         Make the sink go ASYNC to PAUSED, like all other sinks.
467         API: GstBaseSink::gst_base_sink_set_blocksize()
468         API: GstBaseSink::gst_base_sink_get_blocksize()
469         API: GstBaseSink::blocksize
470
471         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
472         (gst_base_src_set_live), (gst_base_src_is_live),
473         (gst_base_src_set_format), (gst_base_src_query_latency),
474         (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
475         (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
476         (gst_base_src_set_property), (gst_base_src_get_property):
477         * libs/gst/base/gstbasesrc.h:
478         Add typechecking in public API functions.
479         Add methods to control the blocksize in subclasses.
480         API: GstBaseSrc::gst_base_src_set_blocksize()
481         API: GstBaseSrc::gst_base_src_get_blocksize()
482
483 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
484
485         * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
486         (buffer_probe), (event_probe), (GST_START_TEST):
487         We now see 3 events go through our pad, since basesink now sends
488         upstream latency events.
489
490 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
491
492         * gst/gstpipeline.c: (gst_pipeline_change_state):
493         Release the object lock before trying to flush the bus.
494
495 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
496
497         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
498         Forward LATENCY events upstreams so that elements know about the total
499         pipeline latency. Fixes #555307.
500
501 2008-10-08  Jan Schmidt  <jan.schmidt@sun.com>
502
503         * plugins/elements/gstqueue.c:
504         Allow through queries when we don't know how
505         to adjust them (not TIME or BYTES), as otherwise it's
506         not possible to query the current position in order
507         to seek in other formats at all.
508
509 2008-10-08  Andy Wingo  <wingo@pobox.com>
510
511         * docs/gst/gstreamer-sections.txt: Placate doc pendants.
512
513 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
514
515         * gst/gstghostpad.c:
516         * gst/gstghostpad.h:
517         Unbreak -good build, private is a reserved c++ keyword.
518
519 2008-10-08  Andy Wingo  <wingo@pobox.com>
520
521         * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
522         * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
523         removal: re-add GST_GHOST_PAD_CAST to the header.
524
525         * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
526         (GstGhostPadClass): Publically expose these structures so as to
527         allow easy subclassing from C. Hide the member data behind a
528         private opaque data pointer.
529
530         * gst/gstghostpad.c: Adapt to store instance data in the type
531         instance's private data region, not in the public struct.
532
533 2008-10-08  Andy Wingo  <wingo@pobox.com>
534
535         * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
536         template via g_object_get(), be sure to unref it.
537
538         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
539
540 2008-10-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
541
542         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
543         If we can't get a cache file don't try to save something to it.
544         Dereferencing NULL pointers usually isn't a good idea.
545
546 2008-10-07  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
547
548         * tests/check/Makefile.am:
549         * tests/check/gst/gstabi.c:
550         * tests/check/gst/struct_sparc.h:
551         * tests/check/libs/libsabi.c:
552         * tests/check/libs/struct_sparc.h:
553         Add Sparc ABI checks
554
555         * tests/check/gst/gstvalue.c: (GST_START_TEST):
556         Cast signed integer to unsigned to avoid a compiler warning.
557
558 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
559
560         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
561         (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
562         (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
563         (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
564         (gst_byte_reader_peek_int24_be):
565         Use new GST_READ_UINT24_(LE|BE) macros.
566
567 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
568
569         * docs/gst/gstreamer-sections.txt:
570         * gst/gstutils.h:
571         Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
572         as it's too easy to break the ISO C strict aliasing rules with simple
573         casts to the corresponding type and this would introduce hard to debug
574         bugs. Fixes bug #545714.
575
576         API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
577
578 2008-10-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
579
580         * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
581         * gst/gstghostpad.c: (gst_ghost_pad_construct):
582           Add 'Since' bits to gtk-doc chunks for new API.
583
584 2008-10-06  Thijs Vermeir  <thijsvermeir@gmail.com>
585
586         * docs/gst/gstreamer-sections.txt:
587         Fix documentation
588
589 2008-10-06  Andy Wingo  <wingo@pobox.com>
590
591         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
592         that will be called on the malloc_data to free it. Basically a way
593         to avoid subclassing when all you need is a different free
594         function, i.e. free() instead of g_free().
595
596         * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
597         calling the free function.
598         (gst_buffer_init): Initialize the free function to g_free.
599
600 2008-10-06  Andy Wingo  <wingo@pobox.com>
601
602         * gst/gstghostpad.h:
603         * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
604         finishes the initialization of ghost pad. Useful for language
605         bindings and subclassers of GstGhostPad. Fixes #539108.
606         (gst_ghost_pad_new_full): Use the new constructor.
607
608 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
609
610         Base on Patch by: Olivier Crete <tester at tester dot ca>
611
612         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
613         (gst_bin_remove_func), (update_degree),
614         (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
615         Keep track of pads that are being linked/unlinked and resync the state
616         changes.
617
618         * gst/gstpad.c: (gst_pad_get_direction),
619         (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
620         (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
621         (gst_pad_link_prepare), (gst_pad_link),
622         (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
623         (gst_pad_check_pull_range), (gst_pad_get_range),
624         (gst_pad_pull_range):
625         Some code cleanups, use macros to check pad direction.
626         Don't need to take the lock on the pad direction.
627         Post structure change when pads are linked/unlinked.
628         Change some checks into _return_if_fail().
629
630         * tests/check/gst/gstbin.c:
631         (test_link_structure_change_state_changed_sync_cb),
632         (GST_START_TEST), (gst_bin_suite):
633         Add testcase for pad link/unlinke resync during a state change.
634         Fixes #510354.
635
636 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
637
638         * docs/gst/gstreamer-sections.txt:
639         * gst/gstmessage.c: (gst_message_new_structure_change),
640         (gst_message_parse_structure_change):
641         * gst/gstmessage.h:
642         Implement STRUCTURE_CHANGED messages. These messages will be used to
643         signal the parent bin of link/unlink operations that could require a
644         resync when doing a state change. See ##510354.
645         API: gst_message_new_structure_change()
646         API: gst_message_parse_structure_change()
647
648 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
649
650         * gst/gstquark.c:
651         * gst/gstquark.h:
652         Add some more quarks for new message. See #510354.
653
654 2008-10-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
655
656         * docs/libs/gstreamer-libs-docs.sgml:
657         * docs/libs/gstreamer-libs-sections.txt:
658         * libs/gst/base/Makefile.am:
659         * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
660         (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
661         (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
662         (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
663         (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
664         (gst_bit_reader_skip_to_byte):
665         * libs/gst/base/gstbitreader.h:
666         * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
667         (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
668         (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
669         (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
670         (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
671         (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
672         (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
673         (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
674         (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
675         (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
676         (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
677         (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
678         * libs/gst/base/gstbytereader.h:
679         * tests/check/Makefile.am:
680         * tests/check/libs/bitreader.c: (GST_START_TEST),
681         (gst_bit_reader_suite):
682         * tests/check/libs/bytereader.c: (GST_START_TEST),
683         (gst_byte_reader_suite):
684         API: Add bit reader and byte reader classes, including documentation
685         and an extensive unit test suite. Fixes bug #553554.
686
687 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
688
689         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
690         (gst_base_sink_query):
691         Improve position reporting while flushing and other intermediate state
692         changes. Fixes #553874.
693
694 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
695
696         Patch by: Antoine Tremblay <hexa00 at gmail dot com>
697
698         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
699         Original patch by : Simon Descaries
700         Fix small refount leak in caps compatibility check.
701         Fixes #551676.
702
703 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
704
705         * docs/pwg/advanced-request.xml:
706           Fix 0.8 api usage in example. Fixes #554561
707
708         * docs/pwg/appendix-porting.xml:
709           Change 0.9 to 0.10 here.
710
711 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
712
713         * docs/manual/basics-data.xml:
714           Change "event-event interaction" to "element-element interaction".
715           Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
716           updates.
717
718 2008-10-05  Jan Schmidt  <jan.schmidt@sun.com>
719
720         * configure.ac:
721         Back to development -> 0.10.21.1
722
723 === release 0.10.21 ===
724
725 2008-10-02  Jan Schmidt <jan.schmidt@sun.com>
726
727         * configure.ac:
728           releasing 0.10.21, "Take These Things From Me"
729
730 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
731
732         * configure.ac:
733         0.10.20.4 pre-release
734
735 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
736
737         * libs/gst/base/gstbasetransform.c:
738         * plugins/elements/gstcapsfilter.c:
739         * tests/check/Makefile.am:
740         * tests/check/elements/.cvsignore:
741         * tests/check/elements/capsfilter.c:
742         Fix assertion in basetransform when the subclass chooses not to
743         allocate a buffer in prepare_buffer(), and make capsfilter error out
744         cleanly if requested to apply caps that don't completely specify the
745         buffer. Fixes #551509
746
747 2008-09-24  Wim Taymans  <wim.taymans@collabora.co.uk>
748
749         * libs/gst/base/gstbasetransform.c:
750         (gst_base_transform_prepare_output_buffer):
751         Take new caps ref because our old one might have been gone when the
752         subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
753
754 2008-09-15  Stefan Kost  <ensonic@users.sf.net>
755
756         * configure.ac:
757           Do not probe availability of check unit test library when cross
758           compiling, as test would not work anyway. Also cleanup verbose output
759           of the check test. Fixes #551952.
760
761 2008-09-14  Wim Taymans  <wim.taymans@collabora.co.uk>
762
763         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
764
765         * gst/gstelement.c: (gst_element_sync_state_with_parent):
766         Avoid leaking the parent ref when we fail changing the state of the
767         element using gst_element_sync_state_with_parent(). Fixes #551978.
768
769 2008-09-11  Tim-Philipp Müller  <tim.muller at collabora co uk>
770
771         * docs/manual/intro-motivation.xml::
772           Remove some bits that no longer apply, update others (#551642).
773
774 2008-09-10  Jan Schmidt  <jan.schmidt@sun.com>
775
776         * configure.ac:
777         0.10.20.2 pre-release
778
779         * po/LINGUAS:
780         * po/id.po:
781         * po/pt_BR.po:
782
783         New translations.
784
785 2008-09-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
786
787         * win32/common/config.h.in:
788           Add GST_DATADIR, hard-code cpu to x86.
789
790         * win32/common/libgstreamer.def:
791           Spaces to tabs.
792
793 2008-09-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
794
795         * gst/gsttaglist.h:
796           Fix Since: markers for new geo tags.
797
798 2008-09-02  Stefan Kost  <ensonic@users.sf.net>
799
800         * gst/gsttaglist.h:
801           Fix actual tag name define after renaming from altitude to elevation.
802
803 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
804
805         * gst/gstpad.c: (add_unref_pad_to_list),
806         (gst_pad_get_internal_links_default):
807         Add fallback when calling the deprecated function on an element that
808         implements the new internal_link handler.
809
810 2008-09-01  Stefan Kost  <ensonic@users.sf.net>
811
812         * docs/gst/gstreamer-sections.txt:
813         * gst/gsttaglist.c:
814         * gst/gsttaglist.h:
815           Add new tags for geo location and clarify purpose of existing location
816           tag. Fixes #481169
817
818 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
819
820         Patch by: Olivier Crete <tester at tester dot ca>
821
822         * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
823         (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
824         Use thread-safe internal links iterator. Fixes #549504.
825
826 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
827
828         Based on patch by: Olivier Crete <tester at tester dot ca>
829
830         * docs/gst/gstreamer-sections.txt:
831         * win32/common/libgstreamer.def:
832         * gst/gstpad.c: (gst_pad_init),
833         (gst_pad_set_iterate_internal_links_function),
834         (int_link_iter_data_free), (iterate_pad),
835         (gst_pad_iterate_internal_links_default),
836         (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
837         * gst/gstpad.h:
838         Add threadsafe replacement functions for getting internal links of an
839         element. Deprecate the old internal links functions.
840         API:GstPad::gst_pad_set_iterate_internal_links_function()
841         API:GstPad::GstPadIterIntLinkFunction
842         API:GstPad::gst_pad_iterate_internal_links()
843         API:GstPad::gst_pad_iterate_internal_links_default()
844
845         * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
846         (gst_proxy_pad_init):
847         Implement threadsafe internal links.
848
849         * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
850         Unit test for internal links on tee. See #549504.
851
852 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
853
854         * tests/check/Makefile.am:
855         libs/transform1 test requires libs/test_transform.c
856
857 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
858
859         * gst/gstpad.c: (gst_pad_get_internal_links_default):
860         Die evil deadlock, die !
861
862 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
863
864         * gst/gstutils.c: (gst_element_get_compatible_pad):
865         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
866         * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
867         Fix all leaks due to the bug in gst_pad_template_new() by which it does
868         not steal the refcount of the given caps as stated.
869
870         REVERT THIS COMMIT ONCE FIXED !
871         REVERT THIS COMMIT ONCE FIXED !
872         REVERT THIS COMMIT ONCE FIXED !
873         REVERT THIS COMMIT ONCE FIXED !
874         REVERT THIS COMMIT ONCE FIXED !
875         REVERT THIS COMMIT ONCE FIXED !
876
877 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
878
879         * gst/gstiterator.c:
880         * gst/gstiterator.h:
881         After 3 years it's about time to revise the documentation of the
882         iterator objects.
883
884 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
885
886         * gst/gstpad.c: (gst_pad_get_internal_links_default):
887         Make the internal links function less thread-unsafe and add some
888         comments, dunno why.
889
890 2008-08-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
891
892         * gst/gst_private.h:
893           Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
894           build with --disable-gst-debug.
895
896 2008-08-28  David Schleef  <ds@schleef.org>
897
898         * gst/gstpadtemplate.c: Revert last change, since it breaks
899           a few plugins, ffmpeg, alaw, and mulaw.  Code is correct,
900           but shouldn't be enabled until we've released fixed versions
901           of -good and -ffmpeg.
902
903 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
904
905         * gst/gstobject.c:
906           Put the gst_object_get_name() back in.
907
908 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
909
910         * gst/gstpadtemplate.c:
911           The old behaviour was that gst_pad_template_new() takes ownership of
912           the caps. As we now call g_object_new() which calls g_object_set() and
913           which copies the caps, we have to unref them to not leak them. Fixes
914           make valgrid for me.
915
916 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
917
918         * gst/gsturi.c:
919           Don't segfault on input like "tel:+1-123-555-1234".
920
921 2008-08-27  Stefan Kost  <ensonic@users.sf.net>
922
923         * gst/gstobject.c:
924           Due to popular request also include ObjectType in
925           gst_object_get_path_string(). Makes gst-launch -v bit more useful.
926
927 2008-08-26  David Schleef  <ds@schleef.org>
928
929         * gst/gstutils.c: Remove check in gst_pad_query_convert() that
930           src_val must be positive, because that's not a requirement.
931           This causes problems with converting negative granulepos
932           values for Dirac.
933         * gst/gstquery.c: Same, gst_query_new_convert().
934
935 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
936
937         * gst/gstclock.c: (gst_clock_add_observation):
938         Add some more debugging to the clock slaving code.
939
940         * win32/common/libgstbase.def:
941         Add new basetransform method.
942
943 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
944
945         * gst/gstbin.c: (gst_bin_element_set_state):
946         Take the (recursive) state lock between getting the locked state of an
947         element and changing the element state. This allows the application to
948         lock an element's state and then change its state without races.
949
950 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
951
952         * gst/gstbin.c: (gst_bin_element_set_state):
953         When an element is in the locked state we still want to update the
954         base_time of the element.
955
956 2008-08-21  Wim Taymans  <wim.taymans@collabora.co.uk>
957
958         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
959         Use the result from gst_pad_set_caps() instead of assuming the element
960         always accepted the caps computed by the default negotiate function.
961
962 2008-08-20  Wim Taymans  <wim.taymans@collabora.co.uk>
963
964         * docs/libs/gstreamer-libs-sections.txt:
965         * libs/gst/base/gstbasetransform.c:
966         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
967         (gst_base_transform_chain), (gst_base_transform_suggest),
968         (gst_base_transform_reconfigure):
969         * libs/gst/base/gstbasetransform.h:
970         Implement method for reconfiguring basetransform.
971         API: GstBaseTransform::gst_base_transform_reconfigure()
972
973 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
974
975         patch by: Murray Cumming <murrayc@murrayc.com>
976
977         * gst/gstutils.c:
978           Mention that this is just like gst_buffer_merge() but with extra
979           unreffing for C coders. Advise language bindings not to wrap it.
980           Fixes Bug #533856.
981           
982           Also fix file comment.
983
984 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
985
986         reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
987
988         * plugins/elements/gstfakesink.c:
989         * plugins/elements/gstfakesrc.c:
990           Call super::event() when not handling it. Fixes #544855.
991
992 2008-08-19  Michael Smith <msmith@songbirdnest.com>
993
994         Patch by: Alessandro Decina <alessandro@nnva.org>
995         * plugins/elements/gstfilesrc.c:
996           Use 64 bit variants of stat functions on win32, to enable support
997           of large files there.
998           Fixes #547277.
999
1000 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1001
1002         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
1003         (gst_base_sink_event), (gst_base_sink_chain_unlocked),
1004         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1005         (gst_base_sink_get_position), (gst_base_sink_change_state):
1006         Improve position reporting in the flushing state.
1007         Also report the position when we are not yet prerolled but we
1008         have a newsegment event. Fixes #543444.
1009         Improve the pull-based negotiation code.
1010
1011         * tests/check/elements/fakesink.c: (GST_START_TEST),
1012         (fakesink_suite):
1013         Add testcase for position reporting while flushing in PAUSED and
1014         PLAYING.
1015
1016         * tests/check/generic/sinks.c: (GST_START_TEST):
1017         Update unit-test, we can now query the position as soon as we receive a
1018         NEWSEGMENT event.
1019
1020 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1021
1022         Based on patch by: Jason Zhao <e3423c at motorola dot com>
1023
1024         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
1025         When the subclass event handler releases the PREROLL_LOCK, we could be
1026         in the flushing state and we have to ignore the event. Fixes #548394.
1027
1028 2008-08-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1029
1030         * tools/gst-launch.1.in:
1031           Document GST_REGISTRY_UPDATE environment variable.
1032
1033 2008-08-18  Wim Taymans  <wim.taymans@collabora.co.uk>
1034
1035         * libs/gst/base/gstbasetransform.c:
1036         (gst_base_transform_prepare_output_buffer):
1037         If the element is configured in passthrough mode but the
1038         prepare_output_buffer gave us a new output buffer, discard that buffer
1039         and reuse the input buffer.
1040
1041 2008-08-15  Wim Taymans  <wim.taymans@collabora.co.uk>
1042
1043         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1044
1045         * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
1046         (gst_tee_request_new_pad), (gst_tee_release_pad),
1047         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
1048         * plugins/elements/gsttee.h:
1049         Protect pad_alloc with a new lock so that we can be sure that nothing is
1050         performing a pad_alloc when removing the pad. Fixes #547835.
1051
1052         * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
1053         (buffer_alloc_harness_teardown), (app_thread_func),
1054         (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
1055         Added testcase for shutdown race.
1056
1057 2008-08-14  Thijs Vermeir  <thijsvermeir@gmail.com>
1058
1059         * gst/gstpad.h:
1060         Add doc
1061
1062 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1063
1064         * libs/gst/base/gstbasetransform.c:
1065         (gst_base_transform_prepare_output_buffer),
1066         (gst_base_transform_buffer_alloc):
1067         Go over the buffer_alloc function again and make sure we always end up
1068         allocating a buffer.
1069         Add some more docs.
1070         Avoid doing pad alloc when we have a pending suggestion because we
1071         cannot yet deal with changing caps in that case. Fixes #547728
1072
1073 2008-08-14  Stefan Kost  <ensonic@users.sf.net>
1074
1075         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1076
1077         * docs/manual/advanced-clocks.xml:
1078         * docs/manual/clocks.png:
1079         * docs/manual/diagrams-clocks.svg:
1080           Add one more image showing different times together with a describing
1081           paragraph. Fixes #547729.
1082
1083 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1084
1085         * win32/common/libgstbase.def:
1086         Add new method.
1087
1088 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1089
1090         * libs/gst/base/gstbasetransform.c:
1091         (gst_base_transform_transform_caps),
1092         (gst_base_transform_prepare_output_buffer),
1093         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
1094         Don't overwrite the outsize when calculating the expected size of a new
1095         buffer because we still need it in case we cannot process the new
1096         buffer.
1097         When converting the size of the new buffer to an upstream size, actually
1098         use the expected size of the buffer, not some other random value.
1099         Use an atomic int to signal that a new upstream caps suggestion is
1100         available.
1101         When we can convert the current buffer to a new format, check if the
1102         buffer size is of the expected size and allocate a new buffer of the
1103         expected size when this is not the case. Fixes #546883.
1104
1105         * tests/check/libs/transform1.c: (GST_START_TEST):
1106         remove ifdeffed code from the unit test.
1107
1108 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1109
1110         * pkgconfig/gstreamer-uninstalled.pc.in:
1111         * pkgconfig/gstreamer.pc.in:
1112           Remove -lgstcontrol-0.10 which never worked anyway as the lib is
1113           called gstcontroller-0.10.
1114
1115 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1116
1117         * gst/gstchildproxy.h:
1118         * gst/gstpreset.h:
1119           Remove double interface from doc-string.        
1120
1121 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1122
1123         * libs/gst/base/gstbasesrc.c:
1124         * libs/gst/base/gstbasetransform.c:
1125           Fix headings in docs and gtk-doc warnings.
1126
1127 2008-08-11  Michael Smith <msmith@songbirdnest.com>
1128
1129         * gst/gstregistrybinary.c:
1130           Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
1131           libc.
1132           Fixes #544776.
1133
1134 2008-08-11  Edward Hervey  <edward.hervey@collabora.co.uk>
1135
1136         * libs/gst/base/gstbasetransform.c:
1137         (gst_base_transform_buffer_alloc):
1138         Fix a "may be used unitialized" warning.
1139
1140 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1141
1142         * docs/gst/gstreamer-sections.txt:
1143         * gst/gstpreset.h:
1144           Document preset-iface vmethods.
1145
1146 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1147
1148         * docs/manual/advanced-interfaces.xml:
1149           Turn thoughts about HAL into a note-tag. Remove mentioning that is
1150           only used to discover devices.
1151
1152 2008-08-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
1153
1154         Patch by: Frederic Crozat <fcrozat@mandriva.org>
1155
1156         * gst/gst.c: (init_pre):
1157         Make sure gettext returns translations in UTF-8 encoding rather
1158         than in the current locale encoding (#546822).
1159
1160 2008-08-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1161
1162         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1163         Fix subset test.
1164
1165         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1166         Improve unit test subset tests and add a testcase for the subset failure
1167         cases.
1168
1169         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1170         Improve subtraction unit test.
1171
1172 2008-08-07  Stefan Kost  <ensonic@users.sf.net>
1173
1174         * plugins/elements/gsttee.c:
1175           Unlock, instead of locking again.
1176
1177 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1178
1179         * gst/gstpad.h:
1180         Clarify the docs a bit more.
1181
1182 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1183
1184         * tests/examples/metadata/read-metadata.c:
1185           Don't leak old taglist.
1186
1187 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1188
1189         Patch by: Olivier Crete <tester at tester dot ca>
1190
1191         * gst/gststructure.c:
1192         (gst_structure_fixate_field_nearest_fraction):
1193         Avoid overflows in fixation code when dealing with MAXINT values, which
1194         v4l2src seems to do.
1195         Fixes #546328.
1196
1197         * tests/check/gst/gststructure.c: (GST_START_TEST):
1198         Make a unit test to check the fix. 
1199
1200 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1201
1202         * plugins/elements/gstcapsfilter.c: (copy_func),
1203         (gst_capsfilter_set_property):
1204         Use new caps suggestion feature of basetransform to request a caps
1205         negotiation upstream.
1206
1207 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1208
1209         * docs/libs/gstreamer-libs-sections.txt:
1210         Add new function:
1211         API: GstBaseTransform::gst_base_transform_suggest()
1212
1213         * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1214         (gst_base_transform_init), (gst_base_transform_transform_caps),
1215         (gst_base_transform_transform_size),
1216         (gst_base_transform_configure_caps),
1217         (gst_base_transform_can_transform),
1218         (gst_base_transform_find_transform), (gst_base_transform_setcaps),
1219         (gst_base_transform_prepare_output_buffer),
1220         (gst_base_transform_buffer_alloc),
1221         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1222         (gst_base_transform_chain), (gst_base_transform_activate),
1223         (gst_base_transform_set_passthrough),
1224         (gst_base_transform_is_passthrough),
1225         (gst_base_transform_set_in_place),
1226         (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
1227         (gst_base_transform_set_qos_enabled),
1228         (gst_base_transform_is_qos_enabled),
1229         (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
1230         (gst_base_transform_reconfigure):
1231         * libs/gst/base/gstbasetransform.h:
1232         Rewrite of basetransform to perform negotiation outside of the
1233         buffer_alloc functions.  Fixes #545853.
1234
1235         * tests/check/libs/transform1.c: (GST_START_TEST),
1236         (buffer_alloc_ct2):
1237         Update unit test.
1238
1239 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1240
1241         * tests/check/gst/gstpreset.c:
1242           Only run preset tests when $HOME is writable. Preliminary fix for
1243           #545433.
1244
1245 2008-08-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1246
1247         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1248         (gst_bin_change_state_func), (bin_handle_async_done),
1249         (gst_bin_handle_message_func):
1250         Fix race for bins that simulate ASYNC state changes by inserting
1251         ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
1252         pending ASYNC messages even when the bin does not have ASYNC children.
1253         We note detect this behaviour because we will receive an ASYNC message
1254         that is originating from the bin itself. 
1255         Fixes races with decodebin2 state changes.
1256
1257         * tests/check/gst/gstbin.c: (GST_START_TEST):
1258         Add some more debug.
1259
1260 2008-08-04  Tim-Philipp Müller  <tim.muller at collabora co uk>
1261
1262         * gst/gsttaglist.c: (_gst_tag_initialize):
1263           Fix typo.
1264
1265 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1266
1267         * gst/gsttaglist.c:
1268           Argh. actually save the text before committing. Now adds
1269           gst_tag_merge_strings_with_comma() to gst_tag_register().
1270
1271 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1272
1273         * gst/gsttaglist.c:
1274         * gst/gsttaglist.h:
1275           Do as tim pointed out and actually register the new tag. Also improve
1276           te docs and use gst_tag_merge_strings_with_comma() method to allow
1277           retriving all keywords merged in one list.
1278
1279 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1280
1281         * configure.ac:
1282         * docs/gst/gstreamer.types:
1283           Revert 'accidential' change of the configure option removal. We still
1284           need to generate the types file in configure --disable-load-save.
1285
1286 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1287
1288         * docs/gst/gstreamer-sections.txt:
1289         * gst/gsttaglist.h:
1290           Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
1291
1292 2008-08-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1293
1294         * gst/gstpadtemplate.c:
1295           (gst_pad_template_class_init), (gst_static_pad_template_get),
1296           (gst_pad_template_new), (gst_pad_template_pad_created),
1297           (gst_pad_template_set_property), (gst_pad_template_get_property):
1298           Add "name-template", "direction", "presence" and "caps" properties,
1299           so that gst_pad_template_new() is just a thin wrapper around
1300           g_object_new(), which is better for bindings. (Fixes: #539772)
1301
1302 2008-07-31  Michael Smith <msmith@songbirdnest.com>
1303
1304         * gst/gsturi.c:
1305           Be more liberal in what URIs we accept.
1306           Do not unescape bits of the URI for no apparent reason before passing to
1307           the element. Fixes #545352.
1308
1309 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1310
1311         Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
1312
1313         * gst/gst.c:
1314         Include gstconfig.h as macros from it are used. Fixes bug #545607.
1315
1316 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1317
1318         * configure.ac:
1319         * docs/gst/gstreamer-sections.txt:
1320         * docs/gst/gstreamer.types:
1321         * docs/gst/gstreamer.types.in:
1322         * gst/Makefile.am:
1323         * gst/gst.c:
1324         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
1325         * gst/gstconfig.h.in:
1326         * gst/gstelement.c: (gst_element_get_index):
1327         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1328         (gst_registry_binary_load_feature),
1329         (gst_registry_binary_read_cache):
1330         * gst/gstregistryxml.c: (load_feature),
1331         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1332         * plugins/Makefile.am:
1333         * tools/gst-indent:
1334         * tools/gst-inspect.c: (print_index_info), (print_element_list),
1335         (print_plugin_features), (print_element_features):
1336         * tools/gst-xmlinspect.c: (print_event_masks),
1337         (print_element_info):
1338         * win32/common/gstconfig.h:
1339         Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
1340
1341         Disabling the indexers and URI handler code will only reduce the
1342         required amount of memory by a very small amount but on the other hand
1343         requires much more maintaince work. Apart from that many places of
1344         code are broken when disabling them.
1345
1346         Disabling the enum types doesn't reduce the required amount of memory
1347         by more than a few bytes and makes it hard to fix bugs like #539772,
1348         i.e. use the enums as GObject properties.
1349
1350 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1351
1352         * docs/design/part-TODO.txt:
1353         Add some thoughts and problems with upstream renegotiation.
1354
1355 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1356
1357         * gst/gstpad.c: (gst_pad_acceptcaps_default),
1358         (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1359         Remove silly redundant debug.
1360         Add some more debug info.
1361         Clarify the docs regarding new caps received from pad_alloc.
1362
1363 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1364
1365         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1366         (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1367         Make setting the caps more threadsafe.
1368
1369 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1370
1371         * docs/design/part-element-transform.txt:
1372         Update docs.
1373
1374 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1375
1376         * plugins/elements/gstqueue.c: (gst_queue_init),
1377         (gst_queue_acceptcaps):
1378         Add and use a custom acceptcaps function instead of falling back to the
1379         potentially less optimized default implementation.
1380
1381 2008-07-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1382
1383         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1384           Only sanity-check the buffer size if requested_caps == buffer_caps
1385           (ie. don't take pad caps into account, they're not relevant here)
1386
1387 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1388
1389         * plugins/elements/gsttee.c:
1390         * plugins/elements/gsttee.h:
1391           Reverting as not everything is clear yet. Needs some general design
1392           work.
1393
1394 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1395
1396         * ChangeLog:
1397           ChangeLog surgery for tee commit.
1398
1399 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1400
1401         * docs/gst/gstreamer-sections.txt:
1402           Cleanup section-file.
1403
1404 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1405
1406         * plugins/elements/gsttee.c:
1407         * plugins/elements/gsttee.h:
1408           Relay tag events in tee. Fixes parts of #474016.
1409           Downgrades 3 reoccurring debugs to log.
1410
1411 2008-07-28  Michael Smith <msmith@songbirdnest.com>
1412
1413         * configure.ac:
1414         * libs/gst/Makefile.am:
1415           Build the net library if we have winsock2.
1416
1417 2008-07-26  Stefan Kost  <ensonic@users.sf.net>
1418
1419         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1420
1421         * docs/manual/advanced-threads.xml:
1422         * docs/manual/diagrams-pipelines.svg:
1423         * docs/manual/hello-world.png:
1424         * docs/manual/linked-elements.png:
1425         * docs/manual/mime-world.png:
1426         * docs/manual/queue.png:
1427         * docs/manual/thread-buffering.png:
1428         * docs/manual/thread-synchronizing.png:
1429           Replace one diagram with two separate ones and updates others.
1430           Fixes #542401.
1431
1432 2008-07-25  Thijs Vermeir  <thijsvermeir@gmail.com>
1433
1434         * gst/gstelement.h:
1435         Fix link in documentation.
1436
1437 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1438
1439         * gst/gstmessage.c:
1440         Fix confusing documentation.
1441
1442 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1443
1444         * libs/gst/base/gstbasesrc.h:
1445         revert the changes to the header file for the ABI.
1446
1447 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1448
1449         * libs/gst/base/gstbasesrc.c:
1450         * libs/gst/base/gstbasesrc.h:
1451         Don't cache the seekable status.
1452         Fixes bug #544174
1453
1454 2008-07-24  Rene Stadler  <mail@renestadler.de>
1455
1456         * docs/manual/advanced-autoplugging.xml: Add fakesink to example
1457         code to close the pipeline graph.  This prevents the program from
1458         printing internal data flow errors.
1459
1460 2008-07-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1461
1462         * docs/manual/basics-bus.xml:
1463         Correct typo. Fixes bug #544320.
1464
1465 2008-07-22  Michael Smith <msmith@songbirdnest.com>
1466
1467         * configure.ac:
1468           Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
1469           Add check (taken from -base) for winsock, adds WIN32_LIBS
1470         * gst/Makefile.am:
1471           Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
1472           winsock.
1473           Define GST_EXPORTS when building libgstreamer (only used on win32)
1474         * gst/gst_private.h:
1475         * gst/gstinfo.h:
1476           Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
1477           for symbols that we need to export in both these files.
1478         * gst/gstpoll.c:
1479           Include gst_private.h higher up to avoid some compile problems on win32.
1480
1481 2008-07-22  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1482
1483         * gst/gstvalue.c:
1484         Fix typos.
1485
1486 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1487
1488         * gst/gstcaps.c:
1489         Previous commit was wrong NULL caps does not exist
1490         and indicate an error, so also add a FIXME to
1491         gst_caps_is_equal where NULL caps are accepted.
1492
1493 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1494
1495         * gst/gstcaps.c:
1496         Allow passing of NULL to gst_caps_union
1497
1498 2008-07-21  Thijs Vermeir  <thijsvermeir@gmail.com>
1499
1500         * gst/gstghostpad.c:
1501         Add in doc that gst_ghost_pad_set_target can accept
1502         NULL to clear target
1503
1504 2008-07-15  Michael Smith <msmith@songbirdnest.com>
1505
1506         * gst/gstplugin.c:
1507         * gst/gstregistry.c:
1508           GstRegistryPool doesn't exist; don't refer to it in docs.
1509           Don't refer to functions that don't exist in docs, it's
1510           unhelpful.
1511
1512 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1513
1514         * gst/gst.c:
1515         Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
1516
1517 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1518
1519         Patch by: Tristan Matthews <le dot businessman at gmail dot com>
1520
1521         * docs/pwg/building-testapp.xml:
1522         Don't use an undeclared variable in the example program.
1523         Fixes bug #542573.
1524
1525 2008-07-12  Stefan Kost  <ensonic@users.sf.net>
1526
1527         * gst/gstdebugutils.c:
1528           Squeeze ghost-pad links and remove <> from classname labels to save
1529           more horizontal space.
1530
1531 2008-07-11  Stefan Kost  <ensonic@users.sf.net>
1532
1533         * gst/gstdebugutils.c:
1534           Give request and sometimes pads a different shpe style. Condense the
1535           graphs a little more.
1536
1537 2008-07-09  Michael Smith <msmith@songbirdnest.com>
1538
1539         * configure.ac:
1540           Don't require flex and bison if the parser is disabled.
1541
1542 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1543
1544         * libs/gst/controller/gstinterpolationcontrolsource.c:
1545         (_list_find_sorted_custom):
1546         Don't use declarations after statements.
1547
1548 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1549
1550         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1551         Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
1552         of the the child-added / -removed signals as GstChildProxy
1553         only supports GstObjects.
1554
1555 2008-07-07  Thijs Vermeir  <thijsvermeir@gmail.com>
1556
1557         * gst/gstdebugutils.c:
1558         Fix memleak
1559
1560 2008-07-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1561
1562         Patch by: Alessandro Decina <alessandro at nnva dot org>
1563
1564         * gst/gstpoll.c:
1565         Fix "ignored return value" compiler warning with newer glibc.
1566
1567 2008-07-05  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1568
1569         * gst/gstchildproxy.c:
1570         Fix copy&paste error in gst_child_proxy_removed() documentation.
1571
1572 2008-07-02  Tim-Philipp Müller  <tim.muller at collabora co uk>
1573
1574         * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
1575           Print error debug message if plugin description fields that should
1576           be set are NULL.
1577
1578         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
1579           Don't crash if the string to serialise is NULL (it really should
1580           not be, but apparently this used to work with the xml registry ...).
1581
1582 2008-07-02  Thijs Vermeir  <thijsvermeir@gmail.com>
1583
1584         * tools/gst-plot-timeline.py:
1585         Fix parsing of log messages
1586
1587 2008-07-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1588
1589         * win32/common/libgstbase.def::
1590           Sort alphabetically so make check-exports doesn't barf.
1591
1592 2008-07-01  Stefan Kost  <ensonic@users.sf.net>
1593
1594         * gst/gstevent.c:
1595           Use gst_format_get_name() to improve debug output.
1596
1597         * gst/gstpreset.c:
1598           Remove #ifdef'ed code. Add TODO comment.
1599
1600         * gst/gstsegment.c:
1601           Add debug output to ease spotting format != segment.format assertions.
1602
1603 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1604
1605         * tests/check/libs/gdp.c: (gst_dp_suite):
1606         Also enable the GDP unit test again on PPC now that the bug
1607         is fixed.
1608
1609 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1610
1611         * libs/gst/dataprotocol/dataprotocol.c:
1612         Don't write to the same region of memory as a uint64 and uint16
1613         as this breaks strict aliasing rules and apparantly breaks on PPC
1614         and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
1615
1616 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
1617
1618         * libs/gst/controller/gstinterpolationcontrolsource.c:
1619           Optimize list handling. Use own find function. Exploit that fact that
1620           the list is sorted. Also pass back the node before, so that we can
1621           insert quickly. Have a fast path for append.
1622
1623 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
1624
1625         * docs/design/draft-framestep.txt:
1626         * docs/design/part-negotiation.txt:
1627           Fix two typos.
1628
1629 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
1630
1631         * configure.ac:
1632           Show configuration sumary after configure run. Based on patch by
1633           Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
1634
1635 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
1636
1637         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1638
1639         * docs/manual/advanced-autoplugging.xml:
1640         * docs/manual/advanced-threads.xml:
1641         * docs/manual/basics-bins.xml:
1642         * docs/manual/basics-elements.xml:
1643         * docs/manual/basics-helloworld.xml:
1644         * docs/manual/basics-pads.xml:
1645           Add scale factor for pdf output.
1646
1647         * docs/manual/intro-basics.xml:
1648           Switched sections "pads" and "bins" and added a pipeline diagram.
1649
1650         * docs/manual/intro-gstreamer.xml:
1651           Added more info on gstreamer.
1652
1653         * docs/manual/intro-motivation.xml:
1654           Commented out the whole section "current problem", which sounds
1655           historical and somehow osolete; it could be turned in a positive
1656           way and reused to improve the design principles.
1657
1658         * docs/manual/intro-preface.xml:
1659           - Update URLs to library.gnome.org. 
1660           - Do not mention GTK+ in preliminary reading (irrelevant). 
1661           - Mention Plugin Writer's Manual and further reading only in the
1662             previous section.
1663           - Added a list of most relevant GObject/glib topics.
1664
1665         * docs/manual/Makefile.am:
1666         * docs/manual/bin-element-ghost.fig:
1667         * docs/manual/bin-element-ghost.png:
1668         * docs/manual/bin-element-noghost.fig:
1669         * docs/manual/bin-element-noghost.png:
1670         * docs/manual/bin-element.fig:
1671         * docs/manual/bin-element.png:
1672         * docs/manual/filter-element-multi.fig:
1673         * docs/manual/filter-element-multi.png:
1674         * docs/manual/filter-element.fig:
1675         * docs/manual/filter-element.png:
1676         * docs/manual/gstreamer-overview.png:
1677         * docs/manual/hello-world.fig:
1678         * docs/manual/hello-world.png:
1679         * docs/manual/linked-elements.fig:
1680         * docs/manual/linked-elements.png:
1681         * docs/manual/mime-world.fig:
1682         * docs/manual/mime-world.png:
1683         * docs/manual/queue.fig:
1684         * docs/manual/queue.png:
1685         * docs/manual/simple-player.png:
1686         * docs/manual/sink-element.fig:
1687         * docs/manual/sink-element.png:
1688         * docs/manual/src-element.fig:
1689         * docs/manual/src-element.png:
1690         * docs/manual/diagrams-general.svg:
1691         * docs/manual/diagrams-pipelines.svg:
1692           Removed .fig, added .png counterpart.
1693           
1694           Fixes: #539137
1695
1696 2008-06-26  Thijs Vermeir  <thijsvermeir@gmail.com>
1697
1698         * plugins/elements/gstmultiqueue.c:
1699         * plugins/elements/gstmultiqueue.h:
1700         revert extra-size-buffers stuff, caused some race conditions
1701         and extra-size-buffers is not used anymore. Docs needs some updates
1702
1703 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
1704
1705         * win32/common/config.h:
1706         * win32/common/gstenumtypes.c:
1707         * win32/common/gstenumtypes.h:
1708         * win32/common/gstversion.h:
1709           Update win32 files.
1710
1711 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
1712
1713         * gst/gstdebugutils.h: (GstDebugGraphDetails),
1714           (GST_DEBUG_BIN_TO_DOT_FILE):
1715           Add missing Since' markers to gtk-doc blurbs.
1716
1717 2008-06-26  Wim Taymans  <wim.taymans@collabora.co.uk>
1718
1719         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1720         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1721         (set_caps_1), (set_caps_ct1), (transform_ct1),
1722         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1723         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
1724         (transform_size_ct2), (buffer_alloc_ct2):
1725         Add some more tests with switching caps in buffer_alloc.
1726
1727 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1728
1729         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1730         (gst_test_trans_class_init), (result_sink_chain),
1731         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
1732         (gst_test_trans_push), (gst_test_trans_pop):
1733         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1734         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1735         (set_caps_1), (set_caps_ct1), (transform_ct1),
1736         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1737         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
1738         (transform_size_ct2), (buffer_alloc_ct2),
1739         (gst_basetransform_suite):
1740         More tests, prepare for tests with switching caps in buffer_alloc.
1741
1742 2008-06-25  Thijs Vermeir  <thijsvermeir@gmail.com>
1743
1744         * plugins/elements/gstmultiqueue.c:
1745         * plugins/elements/gstmultiqueue.h:
1746         Fix dead-lock in underrun_cb
1747
1748 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1749
1750         * docs/design/part-states.txt:
1751         Fix device open/close docs.
1752
1753 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1754
1755         * ChangeLog:
1756           Mention bugnumber for last commit.
1757
1758 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1759
1760         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1761
1762         * docs/manual/manual.xml:
1763         - Reorganised the previous "introduction" bundle into Foreword,
1764         Introduction, and About GStreamer. The two first are <preface>
1765         docbook elements. The later is the first part of the book.
1766         - added intro-gstreamer.xml (content partially from
1767         intro-preface.xml)
1768         - moved appendix-win32.xml into appendix-integration.xml
1769
1770         * docs/manual/intro-preface.xml: gstreamer section moved...
1771         * docs/manual/intro-gstreamer.xml: ...here. new file.
1772
1773         * docs/manual/appendix-win32.xml: removed file. Content moved...
1774         * docs/manual/appendix-integration.xml: ...here.
1775         
1776         * docs/manual/highlevel-components.xml: section about GstEditor moved...
1777         * docs/manual/appendix-checklist.xml: ...here.
1778         
1779         Fixes: 538764
1780
1781 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1782
1783         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1784
1785         * docs/manual/basics-helloworld.xml:
1786         * docs/manual/hello-world.fig:
1787           - Explicitely include glib.h.
1788           - Do not use global variables.
1789           - Use g_printerr() instead of g_print().
1790           - Minor formating/renaming to increase readibility.
1791           - Renamed new_pad() to on_pad_added()
1792           - Improved explenatory comments.
1793           - renamed ogg parser to ogg demuxer
1794           - Use "autoaudiosink" instead of "alsasink".
1795           Fixes: #538619
1796
1797 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1798
1799         * ChangeLog:
1800           Remove cvs conflict marker.
1801
1802 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1803
1804         * docs/README:
1805           Document that for plgin-docs we extraxt he short-desc from the element
1806           details.
1807
1808         * docs/design/part-states.txt:
1809           Tell that devices should be closed in PAUSED -> READY.
1810
1811         * docs/manual/README:
1812           Document how tests in the manual are handled.
1813
1814         * docs/manuals.mak:
1815           Typo in comment.
1816
1817 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1818
1819         * gst/gstbin.c: (bin_query_latency_fold):
1820         Only care about latency min and max when the sink is actually a live
1821         sink.
1822
1823 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1824
1825         * docs/design/part-block.txt:
1826         Fix typo.
1827
1828         * docs/design/part-element-transform.txt:
1829         Add notes about why transform needs to know input/output sizes.
1830         Add some issues that need to be solved.
1831         Add some more use cases.
1832
1833         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1834         (gst_test_trans_class_init), (result_sink_chain),
1835         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
1836         (gst_test_trans_push), (gst_test_trans_pop):
1837         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1838         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1839         (set_caps_1), (set_caps_ct1), (transform_ct1),
1840         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1841         (gst_basetransform_suite):
1842         Add suport for different pad templates and buffer-alloc.
1843         Add more checks for caps and buffer-alloc.
1844         Add checks for proxy buffer alloc.
1845         Add unit test for copy transform.
1846
1847 2008-06-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
1848
1849         Patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1850
1851         * docs/manual/appendix-integration.xml:
1852         * docs/manual/appendix-licensing.xml:
1853         * docs/manual/basics-elements.xml:
1854         * docs/manual/basics-helloworld.xml:
1855         * docs/manual/basics-pads.xml:
1856         * docs/manual/highlevel-components.xml:
1857         * docs/manual/highlevel-xml.xml:
1858         * docs/manual/intro-basics.xml:
1859         * docs/manual/intro-preface.xml:
1860           Typo and formatting fixes (#538594).
1861
1862 2008-06-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1863
1864         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1865         Fix some memory leaks and uses of object instances that we don't
1866         actually own.
1867
1868 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1869
1870         * plugins/elements/gstmultiqueue.c:
1871         Add functionality to extra-size-buffers property.
1872
1873 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1874
1875         * plugins/elements/gstmultiqueue.c:
1876         Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
1877         activate the pads if they are added in STATE_NULL.
1878
1879 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
1880
1881         * docs/libs/gstreamer-libs-sections.txt:
1882         Add new API to doc
1883         * libs/gst/check/gstcheck.c:
1884         * libs/gst/check/gstcheck.h:
1885         API: gst_check_teardown_pad_by_name
1886
1887 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
1888
1889         * libs/gst/check/gstcheck.c:
1890         * libs/gst/check/gstcheck.h:
1891         Also setup request pads and allow setup pads by name (#537812)
1892         API: gst_check_setup_src_pad_by_name
1893         API: gst_check_setup_sink_pad_by_name
1894
1895 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1896
1897         * tests/check/gst/gstbuffer.c:
1898         * tests/check/pipelines/parse-launch.c:
1899           Use HAVE_VALGRIND_H some more.
1900
1901 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1902
1903         * scripts/cvs-update.sh:
1904           Pass arguments to make.
1905           Run autoregen.sh if Makefile is not there.
1906
1907 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1908
1909         * configure.ac:
1910         * gst/gstinfo.c:
1911           Don't assume that <valgrind/valgrind.h> exists just because
1912           the binary is there.
1913
1914 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1915
1916         * tests/check/Makefile.am:
1917         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1918         (gst_test_trans_class_init), (gst_test_trans_init),
1919         (gst_test_trans_set_data), (result_sink_chain),
1920         (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
1921         (gst_test_trans_pop):
1922         * tests/check/libs/transform1.c: (GST_START_TEST),
1923         (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
1924         Add some test basetransform element and the beginnings of various
1925         unit tests for it.
1926
1927 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1928
1929         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
1930         Increase code readability.
1931         Don't try to compare buffer offsets when ther are invalid.
1932
1933 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
1934
1935         * docs/design/Makefile.am:
1936           Dist some more design docs.
1937
1938         * docs/random/moving-plugins:
1939           Small addition: good plugins mustn't have functional code
1940           within assertion macros.
1941
1942 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1943
1944         * docs/design/draft-framestep.txt:
1945         Some ideas about a framestep API
1946
1947         * docs/design/part-element-transform.txt:
1948         Start design and use cases for basetransform in order to get it
1949         fixed soon.
1950
1951 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
1952
1953         * gst/gsttaglist.h:
1954           In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
1955           be in UTF-8 encoding.
1956
1957 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
1958
1959         * gst/gstbus.c:
1960           Make it known that gst_bus_poll() is pure evil (fixes #538810).
1961
1962 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
1963
1964         * plugins/elements/gstcapsfilter.c:
1965         * plugins/elements/gstfakesink.c:
1966         * plugins/elements/gstfakesrc.c:
1967         * plugins/elements/gstfdsink.c:
1968         * plugins/elements/gstfdsrc.c:
1969         * plugins/elements/gstfilesink.c:
1970         * plugins/elements/gstfilesrc.c:
1971         * plugins/elements/gstidentity.c:
1972         * plugins/elements/gstmultiqueue.c:
1973         * plugins/elements/gstqueue.c:
1974         * plugins/elements/gsttee.c:
1975         * plugins/elements/gsttypefindelement.c:
1976           Remove short_description. Add basic docs for gsttypefindelement.
1977           Simplify markup for fakesrc/fdsrc.
1978
1979 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1980
1981         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1982         Added Since doc.
1983
1984 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1985
1986         Patch by: Joel Larsson <tilljoel at gmail dot com>
1987
1988         * docs/plugins/gstreamer-plugins.args:
1989         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
1990         (gst_fd_src_init), (gst_fd_src_update_fd),
1991         (gst_fd_src_set_property), (gst_fd_src_get_property),
1992         (gst_fd_src_create):
1993         * plugins/elements/gstfdsrc.h:
1994         Add timeout property like udpsrc. Fixes #538628.
1995         Add some more docs and example pipelines.
1996
1997 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1998
1999         * docs/libs/gstreamer-libs-sections.txt:
2000         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2001         (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
2002         (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
2003         (gst_base_sink_do_sync):
2004         * libs/gst/base/gstbasesink.h:
2005         * win32/common/libgstbase.def:
2006         Add method to allow sinks to specify additional delay between the sync
2007         times and the actual rendering of the data.
2008         API: gst_base_sink_set_render_delay()
2009         API: gst_base_sink_get_render_delay()
2010
2011 2008-06-20  Jan Schmidt  <jan.schmidt@sun.com>
2012
2013         * configure.ac:
2014         Bump version number back to dev -> 0.10.20.1
2015
2016 2008-06-20  Sebastian Dröge  <slomo@circular-chaos.org>
2017
2018         * docs/gst/gstreamer-sections.txt:
2019         * gst/gsttaglist.c: (_gst_tag_initialize):
2020         * gst/gsttaglist.h:
2021         API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
2022         Fixes bug #538568.
2023
2024 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2025
2026         * libs/gst/controller/gstcontroller.c:
2027           Revert one change, that make ret value possible uninitialized.
2028
2029 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2030
2031         * libs/gst/controller/gstcontroller.c:
2032           Use freeze/thaw notify to sync notify emission a bit (its also more
2033           efficient). Move debug output to LOG (is called a lot in a loop).
2034           Always unset g_values if the have been initialized.
2035
2036 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2037
2038         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2039         (gst_base_sink_wait_eos), (gst_base_sink_event):
2040         If we have not seen a buffer before EOS, use the segment values to
2041         report the current position instead of invalid positions.
2042
2043 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2044
2045         * docs/plugins/tmpl/.cvsignore:
2046         * tests/check/gst/.cvsignore:
2047           Ignore more.
2048
2049 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2050
2051         * libs/gst/controller/gstinterpolation.c:
2052         * libs/gst/controller/gstinterpolationcontrolsource.c:
2053         * tests/check/libs/controller.c:
2054           Rewrite handling of default values. Fix overflow with unsigned types
2055           in linear interpolation. Remove now obsolete _first_value() function.
2056           Add more tests. Fixes #538201.
2057
2058 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2059
2060         * libs/gst/base/gstbasetransform.c:
2061         (gst_base_transform_class_init), (gst_base_transform_init),
2062         (gst_base_transform_transform_caps),
2063         (gst_base_transform_prepare_output_buffer):
2064         Add debug info.
2065         When a buffer is writable, its metadata is also writable so we don't
2066         need to subbuffer (which then makes the buffer not-writable anymore).
2067
2068 === release 0.10.20 ===
2069
2070 2008-06-18  Jan Schmidt <jan.schmidt@sun.com>
2071
2072         * configure.ac:
2073           releasing 0.10.20, "You Crazy Diamond"
2074
2075 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2076
2077         * configure.ac:
2078         0.10.19.3 pre-release
2079
2080 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2081
2082         * configure.ac:
2083         * gst/gstpreset.c:
2084         Rename DATADIR to GST_DATADIR to avoid build problems
2085         on win32. Patch By: David Schleef <ds@schleef.org>
2086         Fixes: #536857
2087
2088 2008-06-05  Sebastian Dröge  <slomo@circular-chaos.org>
2089
2090         * configure.ac:
2091         Explicitely link with -ldl if dladdr() is found there. Before it was
2092         implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
2093         -ldl has moved from Libs to Libs.private. Fixes bug #536744.
2094
2095 2008-06-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2096
2097         * gst/gsterror.c: (_gst_stream_errors_init):
2098           Fix typo (spotted by Fabricio Godoy, #536723).
2099
2100 2008-06-05  Jan Schmidt  <jan.schmidt@sun.com>
2101
2102         * configure.ac:
2103         0.10.19.2 pre-release
2104
2105 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2106
2107         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
2108         (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
2109         Add some debug.
2110         Make sure we don't generate invalid QoS messages.
2111
2112 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2113
2114         * gst/gstevent.c: (gst_event_new_qos):
2115         Add some assert and docs for invalid input to the qos function.
2116
2117 2008-05-30  Wim Taymans  <wim.taymans@collabora.co.uk>
2118
2119         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2120         (gst_base_sink_get_position):
2121         The reported position must always be smaller than the last seen
2122         timestamps (or timestamp + duration for reverse).
2123
2124 2008-05-30  Sebastian Dröge  <slomo@circular-chaos.org>
2125
2126         Patch by: Rob Bradford <rob at robster dot org dot uk>
2127
2128         * gst/gstregistry.c: (gst_registry_scan_path_level):
2129         Don't recurse into .debug directories as some distros install
2130         the debugging symbols next to the plugins in .debug directories
2131         and dlopen() crashes on them sometimes. Fixes bug #508070.
2132
2133         Add FIXME for 0.11 to not recurse into directories at all because
2134         it's very inconsistent to the behaviour of other PATH environment
2135         variables.
2136
2137 2008-05-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2138
2139         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2140         (gst_base_sink_get_position_last), (gst_base_sink_get_position):
2141         Fix position query range checks in reverse playback.
2142
2143 2008-05-29  Sebastian Dröge  <slomo@circular-chaos.org>
2144
2145         * gst/gstelement.c:
2146         * gst/gstelement.h:
2147         Deprecated gst_element_get_pad() as it can't be used sanely. It's not
2148         clear of the reference to the resulting pad must be released later
2149         or not, resulting in possible leaks. Fixes bug #533865.
2150
2151 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2152
2153         Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2154
2155         * gst/gstelementfactory.c:
2156         Small doc fix. Fixes #535285.
2157
2158 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2159
2160         Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
2161
2162         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2163         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2164         (gst_base_src_loop), (gst_base_src_set_flushing),
2165         (gst_base_src_change_state):
2166         Make sending an EOS event to the basesrc non-blocking even if the
2167         implementation does blocking waits in the create function. This is done
2168         by unlocking the create function when EOS is sent.
2169         Fixes #535218.
2170
2171 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2172
2173         * tools/gst-inspect.c: (print_element_properties_info):
2174         If possible print the element type of GValueArray properties.
2175
2176 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2177
2178         * gst/gstiterator.c:
2179         Remove an unused field from the private GstListIterator struct.
2180
2181 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2182
2183         * libs/gst/controller/gstcontroller.c:
2184           Add parameter guards.
2185
2186 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2187
2188         * tests/check/gst/gstpipeline.c:
2189           Revert test change and add comment why it should not work.
2190
2191 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2192
2193         * tests/check/gst/gstpipeline.c:
2194           Extending the test a little to verify that we also get the NULL state-
2195           change message.
2196
2197 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2198
2199         * gst/gstpreset.c: (gst_preset_default_get_meta),
2200           (gst_preset_get_preset_names), (gst_preset_get_property_names),
2201           (gst_preset_load_preset), (gst_preset_save_preset),
2202           (gst_preset_rename_preset), (gst_preset_delete_preset),
2203           (gst_preset_set_meta):
2204           Add Since: markers to docs blurbs.
2205
2206         * win32/common/libgstreamer.def:
2207           Add recently-added API.
2208
2209 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2210
2211         Patch by: Stefan Kost  <ensonic@users.sf.net>
2212
2213         * configure.ac:
2214         Add DATADIR for storing presets.
2215
2216         * docs/gst/gstreamer-docs.sgml:
2217         * docs/gst/gstreamer-sections.txt:
2218         * docs/gst/gstreamer.types.in:
2219         Add GstPreset to docs.
2220
2221         * gst/Makefile.am:
2222         * gst/gst.h:
2223         * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
2224         (preset_open_and_parse_header), (preset_parse_version),
2225         (preset_merge), (preset_get_keyfile),
2226         (gst_preset_default_get_preset_names),
2227         (gst_preset_default_get_property_names),
2228         (gst_preset_default_load_preset),
2229         (gst_preset_default_save_presets_file),
2230         (gst_preset_default_save_preset),
2231         (gst_preset_default_rename_preset),
2232         (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
2233         (gst_preset_default_get_meta), (gst_preset_default_randomize),
2234         (gst_preset_default_reset), (gst_preset_get_preset_names),
2235         (gst_preset_get_property_names), (gst_preset_load_preset),
2236         (gst_preset_save_preset), (gst_preset_rename_preset),
2237         (gst_preset_delete_preset), (gst_preset_set_meta),
2238         (gst_preset_get_meta), (gst_preset_class_init),
2239         (gst_preset_base_init), (gst_preset_get_type):
2240         * gst/gstpreset.h:
2241         Add GstPreset to core. Fixes #396779
2242
2243         * tests/check/Makefile.am:
2244         * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
2245         (gst_preset_test_set_property), (gst_preset_test_class_init),
2246         (gst_preset_test_base_init), (gst_preset_test_get_type),
2247         (gst_preset_test_plugin_init), (GST_START_TEST),
2248         (remove_preset_file), (test_setup), (test_teardown),
2249         (gst_preset_suite):
2250         Add GstPreset unit tests.
2251
2252 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2253
2254         * gst/gstpad.c: (gst_pad_event_default_dispatch):
2255         The default event function on a sinkpad should return TRUE when
2256         there are no internal links but should collect the return values from
2257         the internal links otherwise.
2258
2259 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2260
2261         * plugins/elements/gsttypefindelement.c:
2262         (gst_type_find_element_src_event),
2263         (gst_type_find_element_handle_event):
2264         Use faster and safer _pad_push_event().
2265
2266 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2267
2268         * docs/gst/gstreamer-sections.txt:
2269         * gst/gstutils.c: (element_find_unlinked_pad),
2270           (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
2271         * gst/gstutils.h:
2272           API: add gst_bin_find_unlinked_pad()
2273           API: deprecate gst_bin_find_unconnected_pad() (#401456)
2274
2275 2008-05-26  Peter Kjellerstedt  <pkj@axis.com>
2276
2277         * gst/gstclock.c:
2278         * gst/gstclock.h:
2279         * gst/gsttask.c:
2280         * gst/gsttask.h:
2281         Fixed a bunch of typos.
2282
2283 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2284
2285         * gst/gstpad.h:
2286         * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
2287           (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
2288           (gst_parse_bin_from_description_full):
2289         * gst/gstutils.h:
2290           'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2291
2292 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2293
2294         * docs/pwg/advanced-tagging.xml:
2295           Small docs update, can't be bothered to rewrite the nonsensical
2296           examples right now.
2297
2298 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2299
2300         * gst/gstevent.h:
2301           Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2302
2303 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2304
2305         * gst/parse/grammar.y:
2306           Remove unneeded casts.
2307
2308 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2309
2310         * gst/parse/grammar.y:
2311         * tests/check/pipelines/parse-launch.c:
2312           Get all missing elements from a parse launch string if possible
2313           (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2314
2315 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2316
2317         * tests/check/Makefile.am:
2318         * tests/check/pipelines/parse-launch.c:
2319           Add some unit tests for the new gst_parse_launch*_full() API.
2320           (Exposes a previously-existing memory leak in the error code
2321           path, so adding to VALGRIND_TO_FIX for now).
2322
2323 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2324
2325         * docs/gst/gstreamer-sections.txt:
2326         * gst/gst.c: (init_post):
2327         * gst/gst_private.h: (_GstParseContext):
2328         * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
2329           (gst_parse_context_free), (gst_parse_context_get_missing_elements),
2330           (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
2331           (gst_parse_launch_full):
2332         * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
2333           (GstParseFlags), (GstParseContext):
2334         * gst/gstutils.c: (gst_parse_bin_from_description),
2335           (gst_parse_bin_from_description_full):
2336         * gst/gstutils.h:
2337         * gst/parse/grammar.y:
2338         * gst/parse/types.h:
2339         * win32/common/libgstreamer.def:
2340           Add new gst_parse_*_full API (#528178):
2341           API: gst_parse_launch_full()
2342           API: gst_parse_launchv_full()
2343           API: gst_parse_bin_from_description_full()
2344           API: gst_parse_context_new()
2345           API: gst_parse_context_free()
2346           API: gst_parse_context_get_missing_elements()
2347
2348 2008-05-23  Stefan Kost  <ensonic@users.sf.net>
2349
2350         patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
2351
2352         * docs/faq/gst-uninstalled:
2353           Also support ffmpeg in gst-uninstalled.
2354
2355 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2356
2357         * configure.ac:
2358         After discussion on IRC use the binary registry as default
2359         but allow to disable it with --disable-binary-registry.
2360
2361         * win32/common/libgstreamer.def:
2362         Add the two new symbols for the binary registry.
2363
2364 2008-05-22  Tim-Philipp Müller  <tim.muller at collabora co uk>
2365
2366         * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2367         * gst/gstutils.c: (gst_parse_bin_from_description):
2368         * gst/parse/grammar.y: (graph):
2369           More guards against bad input; typo fix; some minor clean-ups.
2370
2371 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2372
2373         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2374
2375         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2376         If nothing else can be used, use the last buffer's start time as
2377         the segment's last stop. Fixes bug #534258.
2378
2379 2008-05-21  Tim-Philipp Müller  <tim.muller at collabora co uk>
2380
2381         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2382           Move size sanity check to the right place: downstream may return
2383           a buffer with a smaller size if the buffer caps are different than
2384           the requested ones, as may happen when doing reverse negotiation.
2385
2386 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2387
2388         * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
2389         (gst_file_sink_render):
2390         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
2391         (gst_file_src_start):
2392         Small cleanups. Add note adbout g_fopen() on windows and why we don't
2393         use it yet.
2394
2395 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2396
2397         * gst/gstpad.c: (gst_pad_load_and_link):
2398         * gst/gstutils.c: (gst_element_link_pads),
2399         (gst_element_unlink_pads):
2400         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2401         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2402         (gst_check_teardown_sink_pad),
2403         (gst_check_element_push_buffer_list):
2404         * tests/check/elements/fakesink.c: (GST_START_TEST):
2405         * tests/check/elements/filesink.c:
2406         * tests/check/elements/filesrc.c: (GST_START_TEST):
2407         * tests/check/elements/multiqueue.c: (setup_multiqueue),
2408         (mq_sinkpad_to_srcpad):
2409         * tests/check/elements/tee.c: (GST_START_TEST):
2410         * tests/check/generic/sinks.c: (GST_START_TEST):
2411         * tests/check/gst/gstbin.c: (GST_START_TEST):
2412         * tests/check/gst/gstevent.c: (GST_START_TEST):
2413         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2414         * tests/check/gst/gstpipeline.c: (GST_START_TEST):
2415         * tests/check/gst/gstquery.c: (GST_START_TEST):
2416         * tests/check/gst/gstutils.c: (GST_START_TEST):
2417         * tests/check/libs/basesrc.c: (GST_START_TEST):
2418         * tests/check/pipelines/parse-launch.c: (run_delayed_test),
2419         (gst_parse_test_element_change_state):
2420         Don't use gst_element_get_pad().
2421
2422 2008-05-21  Felipe Contreras  <felipe.contreras@gmail.com>
2423
2424         * docs/Makefile.am:
2425         Fix installing plugin documentation when gtk-doc is disabled.
2426
2427 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2428
2429         * docs/manual/advanced-autoplugging.xml:
2430         * docs/manual/basics-helloworld.xml:
2431         * docs/manual/basics-pads.xml:
2432         * docs/manual/highlevel-components.xml:
2433         Avoid using a bad function in the example code.
2434
2435 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2436
2437         * gst/gstclock.c: (gst_clock_set_calibration):
2438         Fix debug of the new clock rate.
2439
2440 2008-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2441
2442         * win32/common/libgstbase.def:
2443         Add gst_base_sink_wait_clock() to the exported symbols.
2444
2445 2008-05-20  Sebastian Dröge  <slomo@circular-chaos.org>
2446
2447         Patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
2448
2449         * libs/gst/base/gstbasetransform.c:
2450         (gst_base_transform_sink_event):
2451         Unref events that the GstBaseTransform::event vfunc didn't want to
2452         have forwarded by the base class. Closes a leak in identity.
2453         Fixes bug #446763.
2454
2455 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2456
2457         * docs/libs/gstreamer-libs-sections.txt:
2458         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
2459         * libs/gst/base/gstbasesink.h:
2460         Expose a method that was previously used internally to synchronize
2461         against the clock because it can be useful for subclasses too.
2462         API: GstBaseSink::gst_base_sink_wait_clock()
2463
2464 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2465
2466         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
2467           Add sanity check to make sure we don't get smaller buffers
2468           than requested (and fallback to normal buffer alloc if we do).
2469
2470 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2471
2472         * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
2473         (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
2474         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
2475         Refactor adjusting the running_time with latency and offset into a
2476         separate method.
2477         When doing clipping, we still want to use the subclass get_times method,
2478         just in case the DURATION or TIMESTAMP are not set.
2479
2480 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2481
2482         * docs/gst/gstreamer-sections.txt:
2483         * gst/gsttypefind.c: (gst_type_find_suggest_simple):
2484         * gst/gsttypefind.h:
2485         * win32/common/libgstreamer.def:
2486           API: add gst_type_find_suggest_simple(), #533740.
2487
2488 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2489
2490         * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
2491           Use right error code when typefinding fails, so we can use
2492           the default (translated) error messages.
2493
2494 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2495
2496         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
2497         (gst_base_src_start):
2498         When the subclass did not set caps on outgoing buffers, configure the
2499         caps we negotiated on the source pad.
2500         When the typefind helper does not find caps, error out properly instead
2501         of doing things with NULL caps.
2502
2503 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2504
2505         * gst/gsttypefind.h:
2506           Tabs to spaces, oh yes!
2507
2508 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2509
2510         * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
2511           Add David's and Benjamin's tests for array intersection to the
2512           unit test suite (#147931).
2513
2514 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2515
2516         * gst/gstevent.c:
2517           Document that gst_event_new_tag() and gst_event_new_navigation()
2518           take ownership of the taglist/structure passed to them. (#533635).
2519
2520 2008-05-17  Jan Schmidt  <jan.schmidt@sun.com>
2521
2522         * docs/Makefile.am:
2523         Don't descend into the plugins dir if plugin docs building
2524         is disabled.
2525
2526         * docs/README:
2527         Add a note about the new type:GTypeName syntax for the plugin
2528         documentation .types file.
2529
2530 2008-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2531
2532         * gst/gstmessage.c: (gst_message_new_error),
2533         (gst_message_new_warning), (gst_message_new_info):
2534         * gst/gstmessage.h:
2535         Mark the debug string parameters as const. Fixes bug #533490.
2536
2537 2008-05-16  Sebastian Dröge  <slomo@circular-chaos.org>
2538
2539         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2540         Sort buffer cache list by end offsets. This makes sure that we don't
2541         stop to search for a cached buffer that contains the requested data
2542         too early.
2543         Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
2544         more efficient. Fixes bug #459862.
2545
2546 2008-05-14  Stefan Kost  <ensonic@users.sf.net>
2547
2548         * gst/gstinfo.c:
2549           Explain why we copy the list.
2550
2551         * gst/gstpipeline.c:
2552           Improve docs.
2553
2554         * gst/gstutils.c:
2555           Add one debug-log statement to help tracing probelms with linking pads.
2556
2557 2008-05-12  Stefan Kost  <ensonic@users.sf.net>
2558
2559         * tests/check/gst/gstinfo.c:
2560         Add a test for removing the default log handler. Seems to fail under
2561         windows.
2562
2563 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2564
2565         * gst/gstpad.c: (gst_pad_peer_accept_caps):
2566         Release pad lock before calling out to avoid a possible deadlock.
2567
2568 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2569
2570         * gst/parse/grammar.y:
2571         Remove unneeded value unset.
2572
2573         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2574         Add unit test for de/serialization of caps.
2575
2576 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2577
2578         * plugins/elements/gstfakesink.c:
2579         (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
2580         * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
2581         (gst_fake_src_class_init):
2582         Use custom marshalers that take GstMiniObject as first parameter.
2583         Using OBJECT as parameter while a GstMiniObject is given will lead
2584         to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
2585
2586 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2587
2588         * plugins/elements/gsttypefindelement.c:
2589         (gst_type_find_element_handle_event),
2590         (gst_type_find_element_send_cached_events),
2591         (gst_type_find_element_change_state):
2592         Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
2593         immediately.
2594
2595 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2596
2597         * plugins/elements/gsttypefindelement.c:
2598         (gst_type_find_handle_src_query), (stop_typefinding),
2599         (gst_type_find_element_handle_event),
2600         (gst_type_find_element_send_cached_events),
2601         (gst_type_find_element_change_state):
2602         Forward FLUSH_START events immediately and clean up instead of
2603         caching them.
2604
2605 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2606
2607         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2608
2609         * libs/gst/base/gstbasetransform.c:
2610         (gst_base_transform_buffer_alloc):
2611         Check the caps of the buffer returned by gst_pad_alloc_buffer() and
2612         fall back to default negotiation in the chain function if the caps
2613         are different from what was requested. Fixes bug #526768.
2614
2615 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
2616
2617         * gst/gstsegment.c:
2618         * tests/check/gst/gstsegment.c:
2619           No, let's not use g_slice_{dup|copy} here, since they only exist
2620           since GLib 2.14 and we still depend only on >= 2.12. Also add
2621           unit test for gst_segment_copy().
2622
2623 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
2624
2625         * gst/gstutils.h: (GST_BOILERPLATE_FULL):
2626           Try to fix 'dereferencing type-punned pointer will break strict
2627           aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
2628           changed the default GType typedef from gulong to gsize at some point,
2629           but kept GType typedef'ed to gulong for C++ for ABI reasons; the
2630           g_once_* functions all take a gsize * though, so work around the type
2631           mismatch for C++ by doing everything in gsize and casting to GType
2632           later.
2633
2634 2008-05-09  Jan Schmidt  <jan.schmidt@sun.com>
2635
2636         * plugins/elements/gstmultiqueue.c:
2637         Add documentation for the signals to push our core plugin docs
2638         coverage back up to 100%.
2639
2640 2008-05-08  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2641
2642         * gst/gstinfo.h (GST_FUNCTION):
2643           Reverted GST_FUNCTION to the old version as we don't want the
2644           full signature in C++ code. Also added support for MSVC.
2645
2646 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2647
2648         * gst/gstutils.h:
2649         Intern the type name string, similar to what G_DEFINE_TYPE does.
2650
2651 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2652
2653         * gst/gstutils.h:
2654         Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
2655
2656 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2657
2658         Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
2659
2660         * libs/gst/base/gstbasetransform.c:
2661         (gst_base_transform_buffer_alloc):
2662         Don't passthrough buffer allocation too easily if the caps change.
2663         This breaks when working in passthrough mode and upstream changes
2664         it's caps. Fixes bug #526768.
2665
2666 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2667
2668         * gst/gstinfo.c (gst_debug_log_valist):
2669           Improved the __FILE__ part of debug output for MSVC.
2670
2671 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2672
2673         * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
2674           Declaration after statement fix for compilers like MSVC.
2675
2676 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2677
2678         * win32/common/config.h.in:
2679           Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
2680           use the real thing than having "???" unconditionally.
2681
2682 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2683
2684         * gst/gstinfo.h (GST_FUNCTION):
2685           Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
2686
2687 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
2688
2689         * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
2690         Small code cleanup.
2691
2692         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2693         (gst_base_sink_set_flushing):
2694         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
2695         Fix some comments.
2696
2697 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
2698
2699         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2700         (gst_fake_src_init), (gst_fake_src_set_property),
2701         (gst_fake_src_get_property), (gst_fake_src_start):
2702         * plugins/elements/gstfakesrc.h:
2703         Added format property to control the format of the newsegment events.
2704         API: GstFakeSrc:format
2705
2706 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
2707
2708         * win32/common/libgstreamer.def:
2709         Add gst_pad_has_name() to the exported symbols.
2710
2711 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
2712
2713         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2714         * libs/gst/base/gstbasetransform.c:
2715         (gst_base_transform_prepare_output_buffer):
2716         Don't allow negative sizes when allocating new buffers.
2717         Fixes bug #461253.
2718
2719 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2720
2721         Patch by: Sjoerd Simons <sjoerd at luon net>
2722
2723         * gst/gstbus.c: (gst_bus_source_dispatch):
2724           Don't print a warning if the queue is empty when we try to pop
2725           here. That could happen if another thread or callback set the
2726           bus to flushing between the source's check/prepare and the
2727           dispatch being called (#531538).
2728
2729 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2730
2731         * plugins/elements/gstmultiqueue.c:
2732           Small docs fix.
2733         
2734 2008-05-05  Sebastian Dröge  <slomo@circular-chaos.org>
2735
2736         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2737         Add unit test for deserializing uint64s and check some really large
2738         numbers in the int64 test.
2739
2740 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
2741
2742         * tools/gst-inspect.c: (n_print), (print_hierarchy),
2743         (print_interfaces), (print_element_properties_info),
2744         (print_signal_info):
2745         Use "%s" as format string instead of printing strings directly.
2746
2747 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
2748
2749         * gst/gstclock.c: (gst_clock_set_calibration):
2750         Make some checks actually useful.
2751
2752         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
2753         Remove some unused code. Unsigned integers tend to be >= 0.
2754
2755 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
2756
2757         * gst/gstminiobject.c: (gst_value_get_mini_object):
2758           Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
2759           function was not in the unscheduled 0.10.19 release.
2760
2761 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
2762
2763         * gst/gstregistry.c: (gst_registry_scan_path_level):
2764           Only print one log message per non-plugin file.
2765
2766 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
2767
2768         * gst/gstinfo.c: (gst_debug_log_default):
2769           Fix alignment of debug log columns on 64-bit.
2770
2771 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
2772
2773         * docs/libs/Makefile.am:
2774         * docs/libs/gstreamer-libs-sections.txt:
2775           Ignore private controller headers for docs.
2776
2777 2008-05-03  Sebastian Dröge  <slomo@circular-chaos.org>
2778
2779         * libs/gst/controller/gstcontrollerprivate.h:
2780         * libs/gst/controller/gsthelper.c:
2781         * libs/gst/controller/gstinterpolation.c:
2782         * libs/gst/controller/gstinterpolationcontrolsource.c:
2783         (gst_interpolation_control_source_set_interpolation_mode):
2784         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
2785         * libs/gst/controller/lib.c:
2786         Move some private declarations into private headers.
2787
2788 2008-05-02  Sebastian Dröge  <slomo@circular-chaos.org>
2789
2790         * gst/gstdebugutils.c: (debug_dump_element_pad):
2791         Remove some code that is unused after Stefan's refactoring and uses
2792         uninitialized variables now, resulting in a compiler warning.
2793
2794 2008-05-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
2795
2796         * gst/gstregistry.c: (gst_registry_scan_path_level):
2797           Run g_str_has_suffix() only on the file name, not the
2798           entire file path.
2799
2800 2008-04-30  Tim-Philipp Müller  <tim.muller at collabora co uk>
2801
2802         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
2803           Since we're not called only from the chain function any longer,
2804           we can't assume that there's always data in the queue, so move
2805           the is_full check to the beginning of the loop (otherwise we'd
2806           hit the assert when changing the limit properties while the
2807           queue is empty or not running yet).
2808           Also, only set a discont if items were actually removed from
2809           the queue.
2810
2811         * tests/check/elements/queue.c: (test_leaky_downstream):
2812           Test case for the above.
2813
2814 2008-04-30  Wim Taymans  <wim.taymans@collabora.co.uk>
2815
2816         Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
2817
2818         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
2819         (gst_queue_chain), (queue_capacity_change),
2820         (gst_queue_set_property):
2821         When changing thr max capacity of a leaky queue, immediatly drop buffers
2822         instead of waiting for a push on the sinkpad. Fixes #530637.
2823
2824 2008-04-30  Stefan Kost  <ensonic@users.sf.net>
2825
2826         * gst/gstdebugutils.c:
2827           Refactor code and fix handling of ghostpads and their proxypads.
2828
2829 2008-04-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2830
2831         * docs/gst/gstreamer-sections.txt:
2832         * gst/gstevent.c: (gst_event_has_name):
2833         * gst/gstevent.h:
2834         * tests/check/gst/gstevent.c: (GST_START_TEST):
2835         Add method to conveniently check the name of a custom event with
2836         gst_event_has_name().
2837         Reformat the event docs so that related methods are put together instead
2838         of the default alphabetical sort.
2839         Update unit test with new method.
2840         API: GstEvent::gst_event_has_name()
2841
2842 2008-04-28  Michael Smith <msmith@songbirdnest.com>
2843
2844         * libs/gst/check/Makefile.am:
2845           Don't add an explicit link to libgstreamer-0.10.la; it's already
2846           included in GST_OBJ_LIBS.
2847
2848 2008-04-28  Sebastian Dröge  <slomo@circular-chaos.org>
2849
2850         * gst/gst.c:
2851         Register GstClock type from a type-safe context. Fixes bug #530317.
2852
2853 2008-04-25  Michael Smith <msmith@songbirdnest.com>
2854
2855         Patch by Edward Hervey <edward.hervey@collabora.co.uk>
2856         * tools/gst-run.c:
2857           Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
2858
2859 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2860
2861         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
2862         (gst_bin_dispose):
2863         Use the GLib stuff to create a private structure.
2864         Add some locking around some dispose methods to make them a little
2865         safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
2866
2867 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
2868
2869         * libs/gst/base/gstbasesink.h:
2870         * libs/gst/base/gstbasesrc.h:
2871         * libs/gst/base/gstbasetransform.h:
2872         * libs/gst/base/gstcollectpads.h:
2873           Fix doc typos and unify caps a bit.
2874
2875 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
2876
2877         * tools/gst-launch.1.in:
2878           Forgot to also add the envvar docs here.
2879
2880 2008-04-25  Tim-Philipp Müller  <tim at centricular dot net>
2881
2882         * gst/gst.c: (init_post), (gst_deinit):
2883         * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
2884           (test_concurrent_create), (gst_pipeline_suite):
2885           Ref some more classes in gst_init() to work around thread-safety
2886           issues in pre-2.16 GLibs, and add basic unit test.
2887
2888 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2889
2890         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2891         (gst_base_sink_send_event):
2892         Rearrange the latency query code. We always want to do the upstream
2893         query, even if we are not live so that the upstream elements can get the
2894         latency results too. If we fail doing the query and we are live, we
2895         return TRUE afterwards.
2896
2897 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
2898
2899         patch by: Jason Zhao <e3423c@motorola.com>
2900
2901         * docs/gst/running.xml:
2902         * gst/gst.c:
2903           Enable/disable scan_and_update_registry() based on commandline switch
2904           or environment variable. Fixes #520468.
2905           
2906         * ChangeLog:
2907           Fix typo in my previous commit.
2908
2909 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
2910
2911         * gst/gstregistrybinary.c:
2912           Add a warning if we hit unhandled factories when saving.
2913           More debug logging detail, but move to LOG category.
2914
2915 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
2916
2917         * gst/gstregistry.c:
2918           Tell the *truth* when improving the documentation.
2919
2920 2008-04-23  Sebastian Dröge  <slomo@circular-chaos.org>
2921
2922         * gst/gstelementfactory.c: (gst_element_factory_make):
2923         Unref the factory after it was used the last time, not before.
2924
2925         * gst/gstindexfactory.c: (gst_index_factory_make):
2926         Improve debugging a bit and don't leak a ref to the index factory with
2927         each call.
2928
2929 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
2930
2931         * gst/gstregistry.c:
2932           Improve the documentation.
2933
2934 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
2935
2936         * gst/gstsegment.c:
2937           The glib macro seems to be borked. Use g_slice_copy directly and cast
2938           in the hope that this fixes the warning on 64bit.
2939
2940 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
2941
2942         * gst/gstsegment.c:
2943           Document the new function. Use g_slice_dup() (no need for
2944           gst_segment_init()).    
2945
2946 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
2947
2948         * docs/gst/gstreamer-sections.txt:
2949           Move GParamSepc macros to standart section.
2950   
2951         * gst/gstbin.c:
2952           Dn't document _get_type - its in private section in docs anyway and
2953           this doc-blob was incomplete.
2954
2955         * gst/gstclock.h:
2956           Fix wrong symbol names in docs.
2957
2958         * gst/gstmacros.h:
2959           Add once doc sentence.
2960
2961         * tests/check/gst/.cvsignore:
2962           Ignore more.
2963
2964 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
2965
2966         * docs/gst/Makefile.am:
2967           And remove those libs here.
2968
2969 2008-04-21  Tim-Philipp Müller  <tim at centricular dot net>
2970
2971         * docs/libs/Makefile.am:
2972           Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
2973
2974 2008-04-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2975
2976         Patch by: Olivier Crete <tester at tester dot ca>
2977
2978         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
2979         Add the min-threshold to the min latency if possible. Fixes #529148.
2980
2981 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
2982
2983         * docs/gst/gstreamer.types.in:
2984           Stupid editor, I removed that line as it should go in yet.
2985
2986 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
2987
2988         * docs/gst/gstreamer.types.in:
2989         * docs/libs/gstreamer-libs.types:
2990           Remove library types fro core docs and have them in libs docs.
2991           Reformat and cleanup. Add comment for miniobject types.
2992
2993 2008-04-20  Tim-Philipp Müller  <tim at centricular dot net>
2994
2995         * gst/gsturi.c: (gst_uri_get_protocol):
2996           Fix leak: g_strdown operates on the string in place, while
2997           g_ascii_strdown() returns a newly-allocated string.
2998
2999 2008-04-20  Sebastian Dröge  <slomo@circular-chaos.org>
3000
3001         * tools/gst-inspect.c: (print_uri_handler_info),
3002         (print_element_info):
3003         Print the URI protocols and the URI type supported by the element.
3004
3005 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3006
3007         * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
3008         Use g_value_take_string() instead of the deprecated
3009         g_value_set_string_take_ownership().
3010
3011 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3012
3013         * gst/gstregistrybinary.c: (_gst_crc32):
3014         Return the old CRC instead of 0 if we give a NULL buffer
3015         or a buffer with a length of 0.
3016
3017 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3018
3019         * gst/gsturi.c: (gst_uri_protocol_check_internal),
3020         (gst_uri_get_protocol), (gst_uri_has_protocol),
3021         (gst_uri_construct), (gst_uri_handler_set_uri):
3022         A valid URI scheme can also include '+', '-' and '.' additional
3023         to alphanumeric characters as per RFC 3986 Section 3.1.
3024
3025         Handle URI schemes case insensitive in all places and convert
3026         to lower-case when constructing an URI or setting an URI with
3027         the GstURIHandler interface. Fixes bug #528868.
3028         All elements can still assume (as before) that they will
3029         get passed URIs with a lower-case URI scheme by the GstURIHandler
3030         interface.
3031
3032 2008-04-17  Tim-Philipp Müller  <tim at centricular dot net>
3033
3034         * gst/gstcaps.c: (gst_static_caps_get):
3035         * gst/gstclock.c: (gst_clock_entry_new):
3036           Don't use g_atomic_set_int where it's not needed.
3037
3038 2008-04-17  Wim Taymans  <wim.taymans@collabora.co.uk>
3039
3040         * gst/gstvalue.c: (gst_value_deserialize_caps):
3041         * gst/parse/grammar.y:
3042         Fix 2 caps leaks.
3043
3044 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3045
3046         * gst/gstutils.c: (gst_atomic_int_set):
3047         Use g_atomic_int_set() here too instead of assignment +
3048         g_atomic_int_get().
3049
3050 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3051         
3052         * gst/gstutils.c:
3053         * gst/gstutils.h:
3054         API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
3055         now that we depend on new enough GLib.
3056
3057         * gst/gstcaps.c: (gst_static_caps_get):
3058         * gst/gstclock.c: (gst_clock_entry_new):
3059         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
3060         (gst_debug_set_default_threshold), (_gst_debug_category_new),
3061         (gst_debug_category_set_threshold):
3062         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3063         (gst_base_sink_set_qos_enabled):
3064         * libs/gst/net/gstnettimeprovider.c:
3065         (gst_net_time_provider_set_property):
3066         Use g_atomic_int_set() instead of gst_atomic_int_set().
3067
3068 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3069
3070         * gst/gstquery.c:
3071           Also use G_GINT64_CONSTANT for the queries.
3072
3073 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3074
3075         * gst/gstmessage.c:
3076           Use G_GINT64_CONSTANT in varargs function.
3077
3078 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3079
3080         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
3081         Initialize the registry magic with zeroes.
3082
3083 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3084
3085         * gst/gstregistrybinary.c: (_gst_crc32),
3086         (gst_registry_binary_write),
3087         (gst_registry_binary_initialize_magic),
3088         (gst_registry_binary_write_cache),
3089         (gst_registry_binary_check_magic),
3090         (gst_registry_binary_read_cache):
3091         * gst/gstregistrybinary.h:
3092         Add crc32 checksum to the binary registry file and check this before
3093         accepting a registry file.
3094
3095         Also free the data list when writing to the registry file fails.
3096
3097 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3098
3099         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3100         (gst_registry_binary_load_feature),
3101         (gst_registry_binary_load_plugin):
3102         If an element supports the Uri interface, returns a valid pointer
3103         to the supported URI protocols but this pointer contains nothing
3104         don't try to save that as it will corrupt the registry.
3105
3106         Don't unref the plugin if we added it to the registry already but
3107         fail to load a feature as gst_registry_add_plugin() takes ownership
3108         of the plugin.
3109
3110         Improve debugging a bit.
3111
3112 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3113
3114         * gst/gsttaglist.h:
3115           Clarify some tag item docs after discussion on irc.
3116
3117 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3118
3119         * docs/gst/gstreamer-docs.sgml:
3120           Remove commented out plugins (they have their own docs). Update
3121           comments.
3122
3123 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3124
3125         * docs/gst/gstreamer-docs.sgml:
3126         * docs/gst/gstreamer-sections.txt:
3127         * gst/gstparamspecs.c:
3128         * gst/gstparamspecs.h:
3129           Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
3130           docs to own section.
3131
3132         * gst/gstvalue.c:
3133           This now only documents GValue.
3134           
3135         * docs/libs/gstreamer-libs-sections.txt:
3136         * libs/gst/controller/gstcontroller.h:
3137           Remove GST_PARAM_CONTROLLABLE.
3138
3139 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3140
3141         * docs/README:
3142           Correct file path. Tell about how to use -overrides.txt.
3143         * docs/design/draft-tagreading.txt:
3144           Small design update.
3145
3146 2008-04-14  Sebastian Dröge  <slomo@circular-chaos.org>
3147
3148         * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
3149         (gst_registry_binary_load_plugin):
3150         Fix a typo in a debug message and revert change from yesterday as
3151         gst_registry_add_plugin() will only fail if something is really wrong
3152         already and we can't survive it anyway.
3153
3154 2008-04-14  Tim-Philipp Müller  <tim at centricular dot net>
3155
3156         * gst/gst.c: (init_post), (gst_deinit):
3157           Pre-register GstGError GType from a thread-safe context
3158           (fixes #527967); unref enum type classes in deinit.
3159
3160 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3161
3162         Patch by: Rene Stadler <mail at renestadler de>
3163
3164         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3165           Merging an empty list with another list in KEEP_ALL mode should
3166           yield an empty list as result and not the second list (#512578).
3167
3168         * tests/check/gst/gsttagsetter.c:
3169           Add unit test for tag merge modes and the aforementioned bug.
3170
3171 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3172
3173         Patch by: Rene Stadler <mail at renestadler de>
3174
3175         * gst/gsttaglist.h:
3176           Fix description to match the order in the table (#512577).
3177   
3178 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3179
3180         Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>
3181
3182         * libs/gst/net/gstnettimepacket.h:
3183         * docs/libs/gstreamer-libs-sections.txt:
3184           Define socklen_t as int if it's not defined yet. Fixes compilation
3185           with MSVC6 and other versions where socklen_t is not defined in
3186           the windows headers (#518022).
3187
3188 2008-04-13  Sebastian Dröge  <slomo@circular-chaos.org>
3189
3190         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3191         If gst_registry_add_plugin() fails our reference to the plugin is
3192         invalid so don't try to use it anymore and instead error out.
3193
3194 2008-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3195
3196         * tools/gst-xmlinspect.c: (print_element_info), (main):
3197           De-cruft a bit. If no argument is specified, print all elements in
3198           XML syntax rather than a freestyle list of elements like gst-inspect.
3199           Also, don't print XML header chunk unless we actually have something
3200           to print (ie. don't print it before an error message); print error
3201           message to stderr not stdout. Remove support for printing plugin
3202           info (it would just output something freestyle along the lines of
3203           gst-inspect so far), which fixes #514507. Also add license header.
3204
3205 2008-04-11  Julien Moutte  <julien@fluendo.com>
3206
3207         Mac OS X love...
3208         * configure.ac: Merge platform specific defines, introduce a new
3209         define on OS X to remember that forking when updating registry is
3210         unsafe.
3211         * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
3212         module.
3213         * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
3214         is defined.
3215         * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
3216         condition that leads to absolutely no plugins being registered on
3217         OS X.
3218
3219 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3220
3221         Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3222
3223         * gst/gstutils.c: (gst_pad_add_data_probe),
3224           (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
3225           (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
3226           (gst_pad_add_buffer_probe_full):
3227         * gst/gstutils.h:
3228         * docs/gst/gstreamer-sections.txt:
3229         * win32/common/libgstreamer.def:
3230           Add gst_pad_add_*_probe_full() functions with a notify callback that
3231           lets the caller free the data it passes to the probe functions. This
3232           is useful for bindings such as gst-python or gstreamermm (#526814).
3233           API: gst_pad_add_data_probe_full
3234           API: gst_pad_add_buffer_probe_full
3235           API: gst_pad_add_event_probe_full
3236
3237         * tests/check/gst/gstutils.c:
3238           Add minimal unit test to make sure freeing the data actually works
3239           as expected.
3240
3241         * tests/benchmarks/.cvsignore:
3242           Random cvsignore addendum.
3243
3244 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3245
3246         * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
3247           (GST_DEBUG_BIN_TO_DOT_FILE):
3248           Mention GstDebugGraphDetails enum type in doc blurb so we get a link
3249           to it in the docs (since these are macros the types of the arguments
3250           won't be shown in the docs otherwise).
3251
3252 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3253
3254         * gst/gstpad.c:
3255           Do not abort on out of memory for pad_alloc_buffer.
3256
3257 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3258
3259         * libs/gst/check/gstcheck.c:
3260           Remove blank line between symbol name ad parameters to fix gtkdoc
3261           warning.
3262
3263 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3264
3265         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3266
3267         * docs/gst/gstreamer-sections.txt:
3268         * gst/gstsegment.c:
3269         * gst/gstsegment.h:
3270         * win32/common/libgstreamer.def:
3271           Expose gst_segment_copy() to make things easier for the c++ bindings.
3272           Fixes #518932.
3273           API: gst_segment_copy()
3274
3275 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3276
3277         * gst/gst.c: (gst_init_get_option_group), (init_post):
3278           Fix const position; ref GType classes for enum types to work
3279           around thread-safety issues in GLib versions < 2.16.
3280
3281 2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3282
3283         * docs/design/part-buffering.txt:
3284         Fix some typos and set the estimated total for push mode to -1.
3285
3286         * gst/gstquery.c: (gst_query_new_buffering):
3287         Set buffering-left to 0 as we're not buffering by default.
3288
3289         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3290         Implement BUFFERING query.
3291
3292 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3293
3294         Based on patch by: Milosz Derezynski <internalerror gmail com>
3295
3296         * gst/gsterror.c: (_gst_stream_errors_init):
3297         * gst/gsterror.h:
3298           Add two new error codes for encrypted content. Fixes #524659.
3299           API: GST_STREAM_ERROR_DECRYPT
3300           API: GST_STREAM_ERROR_DECRYPT_NOKEY
3301
3302 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3303
3304         * gst/gstquery.h:
3305           Fix typo.
3306
3307         * win32/common/libgstreamer.def:
3308           Add new functions.
3309
3310 2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>
3311
3312         * plugins/elements/gstidentity.c: (gst_identity_event),
3313         (gst_identity_start):
3314         Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
3315         event after processing some data. Fixes bug #526042.
3316
3317 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3318
3319         * docs/gst/gstreamer-sections.txt:
3320         * gst/gstquery.c: (gst_query_parse_latency),
3321         (gst_query_set_buffering_percent),
3322         (gst_query_parse_buffering_percent),
3323         (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
3324         * gst/gstquery.h:
3325         Rename _avail -> _range
3326         API: gst_query_set_buffering_range
3327         API: gst_query_parse_buffering_range
3328
3329 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3330
3331         * docs/design/part-buffering.txt:
3332         * gst/gstquark.c:
3333         * gst/gstquark.h:
3334         * gst/gstquery.c: (gst_query_parse_latency),
3335         (gst_query_new_buffering), (gst_query_set_buffering_percent),
3336         (gst_query_parse_buffering_percent):
3337         * gst/gstquery.h:
3338         Add busy field and quark for the buffering query so that the app can
3339         only use the query to see if buffering is in progress.
3340
3341 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3342
3343         * docs/gst/gstreamer-sections.txt:
3344         * gst/gstmessage.c: (gst_message_set_buffering_stats),
3345         (gst_message_parse_buffering_stats):
3346         * gst/gstmessage.h:
3347         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3348         (gst_query_parse_latency), (gst_query_new_buffering),
3349         (gst_query_set_buffering_percent),
3350         (gst_query_parse_buffering_percent),
3351         (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
3352         (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
3353         * gst/gstquery.h:
3354         Reorder the message docs and headers for clarity.
3355         Add aditional buffering stats API for messages.
3356         Add buffering query.
3357         Convert some leftover queries to use GstQuark.
3358         API: gst_message_set_buffering_stats
3359         API: gst_message_parse_buffering_stats
3360         API: GST_QUERY_BUFFERING
3361         API: GstBufferingMode
3362         API: gst_query_new_buffering
3363         API: gst_query_set_buffering_percent
3364         API: gst_query_parse_buffering_percent
3365         API: gst_query_set_buffering_stats
3366         API: gst_query_parse_buffering_stats
3367
3368 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3369
3370         * gst/gstmessage.c: (gst_message_new_error),
3371         (gst_message_new_warning), (gst_message_new_info),
3372         (gst_message_new_buffering), (gst_message_new_state_changed),
3373         (gst_message_new_clock_provide), (gst_message_new_clock_lost),
3374         (gst_message_new_new_clock), (gst_message_new_segment_start),
3375         (gst_message_new_segment_done), (gst_message_new_duration),
3376         (gst_message_new_async_start), (gst_message_parse_buffering),
3377         (gst_message_parse_state_changed),
3378         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3379         (gst_message_parse_new_clock), (gst_message_parse_error),
3380         (gst_message_parse_warning), (gst_message_parse_info),
3381         (gst_message_parse_segment_start),
3382         (gst_message_parse_segment_done), (gst_message_parse_duration),
3383         (gst_message_parse_async_start):
3384         Use GstQuark for messages.
3385
3386 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3387
3388         * gst/gstquark.c: (_priv_gst_quarks_initialize):
3389         * gst/gstquark.h:
3390         Add some more quarks needed for messages and queries.
3391
3392 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3393
3394         * docs/design/part-buffering.txt:
3395         Remove the "none" buffering mode, STREAM is a good default.
3396         Move estimated-time to the avail query, that's when it will be needed.
3397         Other small typo fixes and updates.
3398
3399 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3400
3401         * gst/gstindex.c: (gst_index_resolver_get_type):
3402           Don't put descriptions into the nick field of a GEnumValue: it's not
3403           meant for that and some language bindings rely on the nick field to
3404           construct constants and the like. Fixes #526705.
3405
3406 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3407
3408         * NEWS:
3409         * RELEASE:
3410         * gstreamer.doap:
3411           Merge other changes from 0.10.19 release branch.
3412
3413 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
3414
3415         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3416
3417         * configure.ac:
3418         Actually build dlls when cross-compiling with mingw32.
3419         Fixes bug #526247.
3420
3421 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
3422
3423         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3424
3425         * gst/gstpoll.c:
3426         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
3427
3428 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
3429
3430         * docs/design/draft-latency.txt:
3431         Fix typo.
3432
3433         * docs/design/part-buffering.txt:
3434         Update design docs with more buffering ideas.
3435
3436 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
3437
3438         * configure.ac:
3439           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
3440
3441 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3442
3443         * configure.ac:
3444           Revert part that belongs to the preset patch.
3445
3446 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3447
3448         * configure.ac:
3449           Add qoutes to the define. Fixes # 525961.
3450
3451 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
3452
3453         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
3454         (gst_file_index_load), (gst_file_index_add_id),
3455         (gst_file_index_get_assoc_entry):
3456         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
3457         (gst_mem_index_free_id), (gst_mem_index_add_id),
3458         (gst_mem_index_index_format):
3459         Use GSlice when possible.
3460
3461 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
3462
3463         * libs/gst/controller/gstinterpolationcontrolsource.c:
3464         (gst_control_point_free),
3465         (gst_interpolation_control_source_set_internal):
3466         Use GSlice for allocating the control points.
3467
3468 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
3469
3470         * plugins/elements/gsttypefindelement.c:
3471         (gst_type_find_element_class_init),
3472         (gst_type_find_element_set_property),
3473         (gst_type_find_element_get_property),
3474         (gst_type_find_element_activate):
3475         * plugins/elements/gsttypefindelement.h:
3476         Cleanup properties.
3477         Fix pad leak when peer query fails.
3478         We can still typefind when the peer returns -1.
3479         Add property to force caps and bypass typefinding. This will be used in
3480         uridecodebin.
3481         API::force-caps
3482
3483 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3484
3485         * configure.ac:
3486         Require GLib 2.12.
3487
3488         * gst/glib-compat-private.h:
3489         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
3490         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
3491         Unconditionally use GSlice for allocation.
3492
3493         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
3494         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
3495         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
3496         (gst_structure_free):
3497         Use GSlice for allocation.
3498
3499 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3500
3501         * gst/parse/Makefile.am:
3502         * gst/parse/grammar.tab.pre.c:
3503         * gst/parse/grammar.tab.pre.h:
3504         * gst/parse/lex._gst_parse_yy.pre.c:
3505         Require a new enough flex and bison and remove the parser hacks to use
3506         a pre-regenerated version.
3507
3508 2008-04-01  Julien Moutte  <julien@fluendo.com>
3509
3510         patch by: Jason Zhao <E3423C@motorola.com>
3511
3512         * configure.ac: Add a configure switch to disable option parsing
3513         in gst_init.
3514         Fixes #522882.
3515
3516 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3517
3518         * configure.ac:
3519         * gst/gstregistry.c:
3520           MacOS has plugins under .so or under .dylib. Add detection for MacOS
3521           and handle this case.
3522
3523         * gst/gst.c:
3524           Add a comment here describing, why we stat each plugin and not try to
3525           be smart.
3526
3527 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
3528
3529         * libs/gst/base/gstbasetransform.c:
3530         (gst_base_transform_prepare_output_buffer):
3531         Also unset the GAP flag on buffers if we're working inplace but
3532         the element is not GAP-aware.
3533
3534         Mark a comment as FIXME 0.11.
3535
3536 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3537
3538         * gst/gst.c:
3539           Fix type in log message and add one to ease seeing how long registry
3540           cache verification takes.
3541
3542         * gst/gstregistry.c:
3543           Only test plugin filenames against G_MODULE_SUFFIX.
3544
3545 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3546
3547         * gst/gstdebugutils.c:
3548           Improve handling ghost/proxy pads.
3549
3550 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
3551
3552         * docs/gst/gstreamer-sections.txt:
3553         * gst/gstpad.c:
3554         * gst/gstpad.h:
3555           Expose macro to docs and fix link to it.
3556
3557 2008-03-27  Michael Smith <msmith@fluendo.com>
3558
3559         * libs/gst/dataprotocol/dataprotocol.c:
3560         (gst_dp_packet_from_event_1_0):
3561           When calculating GDP body CRC, use the correct pointer. 
3562           Fixes part of #522401.
3563
3564 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3565
3566         Patch by: Mark Nauwelaerts <manauw at skynet be>
3567
3568         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3569         (gst_identity_init), (gst_identity_prepare_output_buffer):
3570         Identity is not always a passthrough element, it can modify the buffer
3571         timestamps when it has a datarate and operates in single-segment mode.
3572         We therefore make it an in_place filter with a custom buffer prepare
3573         function that conditionally makes the input buffer metadata writable
3574         when needed.  Fixes #523985.
3575
3576 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3577
3578         Patch by: Mark Nauwelaerts <manauw at skynet be>
3579
3580         * gst/gstclock.h:
3581         * libs/gst/base/gstbasesrc.h:
3582         * libs/gst/base/gstbasetransform.c:
3583         * libs/gst/check/gstcheck.c:
3584         Small documentation fixes. Fixes #523978.
3585
3586 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3587
3588         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3589         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3590         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
3591
3592 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3593
3594         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
3595         (single_queue_underrun_cb):
3596         When trying to make room in the queue, bump the max allowed buffers
3597         bigger than the current amount of buffers in the queue. this fixes some
3598         nasty deadlocks in multiqueue when dynamically changing the limits of
3599         the queue.
3600
3601 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3602
3603         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3604
3605         * gst/gstcaps.c: (gst_caps_set_simple),
3606         (gst_caps_set_simple_valist), (gst_caps_intersect):
3607         * gst/gstcaps.h:
3608         Constify the field gchar * params in set_simple and friends.
3609         Fixes #522326.
3610
3611 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3612
3613         * gst/gstvalue.c: (gst_value_transform_object_string):
3614         Transform a GstObject to a more meaningfull string that includes the
3615         object type in addition to its name.
3616
3617 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
3618
3619         * ChangeLog:
3620           ChangeLog surgery to add bugnumber to commit.
3621
3622 2008-03-23  Rene Stadler  <mail@renestadler.de>
3623
3624         * libs/gst/base/gstbasetransform.c:
3625         (gst_base_transform_set_gap_aware): Fix confusing documentation.
3626
3627 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3628
3629         * gst/gstregistrybinary.c: (gst_registry_binary_write):
3630         Rename constant everywhere and don't forget one occurence.
3631
3632 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3633
3634         * gst/gstregistrybinary.c: (gst_registry_binary_write):
3635         Align memory to the pointer size even if the architecture allows
3636         unaligned memory access. Unaligned memory access usually comes with
3637         performance penality.
3638
3639 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3640
3641         * gst/gstregistrybinary.c: (gst_registry_binary_write),
3642         (gst_registry_binary_check_magic),
3643         (gst_registry_binary_load_pad_template),
3644         (gst_registry_binary_load_feature),
3645         (gst_registry_binary_load_plugin):
3646         Align memory to the pointer size instead of always 32 bit. Fixes
3647         unaligned memory accesses on ia64 and friends.
3648
3649         * gst/gstregistrybinary.h:
3650         Bump binary registry format version for this as it changes the
3651         format on those architectures that don't have unaligned access
3652         and 64 bit pointers.
3653
3654 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3655
3656         * docs/pwg/advanced-dparams.xml:
3657         * docs/pwg/building-props.xml:
3658         * docs/pwg/other-source.xml:
3659         * gst/glib-compat.h:
3660         * gst/gstbin.c: (gst_bin_class_init):
3661         * gst/gstclock.c: (gst_clock_class_init):
3662         * gst/gstindex.c: (gst_index_class_init):
3663         * gst/gstobject.c: (gst_object_class_init):
3664         * gst/gstpad.c: (gst_pad_class_init):
3665         * gst/gstpipeline.c: (gst_pipeline_class_init):
3666         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3667         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
3668         * libs/gst/base/gstbasetransform.c:
3669         (gst_base_transform_class_init):
3670         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
3671         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
3672         (_gst_check_fault_handler_sighandler),
3673         (_gst_check_fault_handler_setup), (gst_check_init):
3674         * libs/gst/controller/gstcontroller.c:
3675         (_gst_controller_class_init):
3676         * libs/gst/controller/gstlfocontrolsource.c:
3677         (gst_lfo_control_source_class_init):
3678         * libs/gst/net/gstnetclientclock.c:
3679         (gst_net_client_clock_class_init):
3680         * libs/gst/net/gstnettimeprovider.c:
3681         (gst_net_time_provider_class_init):
3682         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
3683         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3684         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3685         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
3686         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
3687         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
3688         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
3689         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3690         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
3691         * plugins/elements/gstqueue.c: (gst_queue_class_init):
3692         * plugins/elements/gsttee.c: (gst_tee_class_init):
3693         * plugins/elements/gsttypefindelement.c:
3694         (gst_type_find_element_class_init):
3695         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
3696         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
3697         use it everywhere for GParamSpecs that use static strings (i.e. all).
3698         This gives us less memory usage, fewer allocations and thus less
3699         memory defragmentation. Fixes bug #523806.
3700
3701 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3702
3703         * gst/gstminiobject.c: (gst_value_dup_mini_object),
3704         (gst_param_spec_mini_object):
3705         * gst/gstminiobject.h:
3706         * win32/common/libgstreamer.def:
3707         * docs/gst/gstreamer-sections.txt:
3708         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
3709         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
3710         GstParamSpecMiniObject into a public header for this.
3711
3712         This make GstMiniObject a bit more consistent with GObject and makes
3713         it possible to extend the param specs.
3714
3715         gst_value_dup_mini_object is mainly useful for set_property methods.
3716
3717         Fixes bug #523798.
3718
3719         * tools/gst-inspect.c: (print_element_properties_info):
3720         Print something useful for GstMiniObject properties and not just
3721         "unknown type".
3722
3723 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
3724
3725         * docs/gst/gstreamer-sections.txt:
3726         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
3727         (gst_registry_binary_check_magic):
3728         * gst/gstregistrybinary.h:
3729         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
3730         and add it to the (private part) of the docs to fix the build.
3731
3732 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
3733
3734         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
3735         (gst_registry_binary_check_magic),
3736         (gst_registry_binary_read_cache):
3737         * gst/gstregistrybinary.h:
3738         Don't use GST_MAJORMINOR for the binary registry version. Instead
3739         hardcode a value that must be changed whenever the format changes
3740         in an incompatible way.
3741         Also don't GST_ERROR when there is a version mismatch, just
3742         regenerate the registry silently.
3743
3744 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
3745
3746         * configure.ac:
3747         Back to development - 0.10.18.1
3748
3749 === release 0.10.18 ===
3750
3751 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
3752
3753         * configure.ac:
3754           releasing 0.10.18, "So far away"
3755
3756 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
3757
3758         * configure.ac:
3759         * win32/common/config.h:
3760         0.10.17.4 pre-release
3761
3762 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
3763
3764         Patch by: Ole André Vadla Ravnås
3765             <ole dot andre dot ravnas at tandberg dot com>
3766
3767         * docs/gst/gstreamer-sections.txt:
3768         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
3769         (gst_poll_update_winsock_event_mask),
3770         (gst_poll_prepare_winsock_active_sets),
3771         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
3772         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
3773         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
3774         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
3775         (gst_poll_check_ctrl_commands), (gst_poll_wait):
3776         * gst/gstpoll.h:
3777         * win32/common/libgstreamer.def:
3778         Add new function gst_poll_fd_ignored() for improved Windows
3779         compatibility.
3780         Various minor fixes and cleanups. See #520808.
3781
3782 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
3783
3784         * gst/gstindex.c: (gst_index_entry_free):
3785         * gst/gstindex.h:
3786           Don't free key strings which we don't own. Fixes crash in
3787           gst_index_entry_free() (#522741).
3788
3789         * tests/check/Makefile.am:
3790         * tests/check/gst/.cvsignore:
3791         * tests/check/gst/gstindex.c: (test_index_entries),
3792           (gst_index_suite), (gst_index):
3793           Add unit test for the above.
3794
3795 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
3796
3797         * win32/common/libgstreamer.def:
3798         Remove symbols that were removed recently. Fixes bug #521740.
3799
3800 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
3801
3802         * configure.ac:
3803         * win32/common/config.h:
3804         0.10.17.3 pre-release
3805
3806 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3807
3808         Patch by: Ole André Vadla Ravnås
3809             <ole dot andre dot ravnas at tandberg dot com>
3810
3811         * docs/gst/gstreamer-sections.txt:
3812         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
3813         (gst_poll_update_winsock_event_mask), (gst_poll_new),
3814         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
3815         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
3816         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
3817         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
3818         (gst_poll_fd_can_write), (gst_poll_wait),
3819         (gst_poll_set_controllable), (gst_poll_restart),
3820         (gst_poll_set_flushing):
3821         * gst/gstpoll.h:
3822         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
3823         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
3824         (gst_net_time_provider_new):
3825         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
3826         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
3827         * tests/benchmarks/gstpollstress.c: (main):
3828         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
3829         Remove GstPollMode from the API, it does not make sense to let the
3830         application control this.
3831         Add support for Win32.
3832         Fix the testsuite. Fixes #520671.
3833
3834 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
3835
3836         Patch by: Ole André Vadla Ravnås
3837             <ole dot andre dot ravnas at tandberg dot com>
3838
3839         * gst/gstregistrybinary.c:
3840         Include io.h for write() and close() when building with MSVC. Fixes
3841         bug #520877.
3842
3843 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
3844
3845         * configure.ac:
3846         * gst/gst_private.h:
3847         * gst/gstconfig.h.in:
3848         * gst/gstregistry.h:
3849         * gst/gstregistrybinary.c:
3850         * win32/common/gstconfig.h:
3851           Move registry backend API to private headers where we can. Add
3852           fixme-0.11 comments for the others. Add stubs for the xml backend when
3853           using the binary to ensure they functions exists (they should not be
3854           used though). Fixes #520756.
3855
3856 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
3857
3858         * configure.ac:
3859         * win32/common/config.h:
3860         0.10.17.2 prelease
3861
3862 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
3863
3864         * gst/gstregistrybinary.c: (gst_registry_binary_write),
3865         (gst_registry_binary_read_cache):
3866         * gst/gstregistryxml.c: (gst_registry_save):
3867         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
3868         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
3869         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
3870         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
3871         Switch to using portabl gsize/gssize instead of size_t/ssize_t
3872         Fixes #520152
3873
3874 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
3875
3876         * gst/gstminiobject.c:
3877         Import gst_private.h before any other header that might include other
3878         glib headers. This fixes the build on windows using native compilers.
3879
3880 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3881
3882         * win32/common/gstconfig.h:
3883           Add here too, just for completeness.
3884
3885 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3886
3887         * configure.ac:
3888         * gst/gstconfig.h.in:
3889         * gst/gstregistry.h:
3890           Fix broken use of config.h-defined preprocessor directive in a public
3891           header file. Add a corresponding define to gstconfig.h, since we can't
3892           really remove those function declarations from the header file now
3893           (or can we? and why are they there in the first place?).
3894
3895 2008-03-03  Andy Wingo  <wingo@pobox.com>
3896
3897         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
3898         the new warning.
3899
3900         * gst/gststructure.c (gst_structure_from_string): Warn if
3901         structure_from_string didn't consume the whole string, but the
3902         caller did not provide an end pointer.
3903
3904 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
3905
3906         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
3907
3908         * gst/gstregistryxml.c: (read_string), (load_feature):
3909           Strings allocated by libxml2 should be freed with xmlFree(), not
3910           with g_free(). Fixes issues on windows in certain contexts (#519698).
3911
3912 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
3913
3914         * gst/gstinterface.c: (gst_element_implements_interface):
3915           Don't crash if the element supports the interface queried, but does
3916           not implement GstImplementsInterface. Fixes #519584.
3917
3918         * tests/check/Makefile.am:
3919         * tests/check/gst/.cvsignore:
3920         * tests/check/gst/gstinterface.c:
3921           Add unit test for the above.
3922
3923 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3924
3925         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3926         Small doc update.
3927
3928 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3929
3930         * gst/gstsegment.c: (gst_segment_set_seek),
3931         (gst_segment_to_stream_time):
3932         Improve some comment.
3933         Update variables where it makes more sense.
3934
3935 2008-02-29  Rene Stadler  <mail@renestadler.de>
3936
3937         * gst/gsturi.c: (gst_uri_handler_get_protocols):
3938         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
3939         URIHandlers implemented using language bindings.
3940
3941 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
3942
3943         * gst/gstelementfactory.h:
3944         * tests/check/elements/fakesink.c:
3945         * tests/check/elements/fakesrc.c: (setup_fakesrc):
3946         * tests/check/elements/fdsrc.c: (setup_fdsrc):
3947         * tests/check/elements/filesink.c: (setup_filesink):
3948         * tests/check/elements/filesrc.c: (setup_filesrc):
3949         * tests/check/elements/identity.c: (setup_identity):
3950         * tests/check/elements/tee.c:
3951         * tests/check/generic/sinks.c:
3952         * tests/check/generic/states.c: (setup), (teardown):
3953         * tests/check/gst/gst.c:
3954         * tests/check/gst/gstabi.c:
3955         * tests/check/gst/gstbin.c:
3956         * tests/check/gst/gstbus.c: (pull_messages):
3957         * tests/check/gst/gstcaps.c:
3958         * tests/check/gst/gstelement.c:
3959         * tests/check/gst/gstevent.c:
3960         * tests/check/gst/gstghostpad.c:
3961         * tests/check/gst/gstiterator.c:
3962         * tests/check/gst/gstmessage.c:
3963         * tests/check/gst/gstminiobject.c: (my_foo_init):
3964         * tests/check/gst/gstobject.c: (thread_name_object),
3965         (gst_object_suite):
3966         * tests/check/gst/gstpad.c:
3967         * tests/check/gst/gstplugin.c:
3968         * tests/check/gst/gstpoll.c:
3969         * tests/check/gst/gstquery.c:
3970         * tests/check/gst/gstsegment.c:
3971         * tests/check/gst/gststructure.c:
3972         * tests/check/gst/gstsystemclock.c:
3973         * tests/check/gst/gsttask.c:
3974         * tests/check/gst/gstutils.c:
3975         * tests/check/gst/gstvalue.c:
3976         * tests/check/gst/struct_hppa.h:
3977         * tests/check/gst/struct_i386.h:
3978         * tests/check/gst/struct_ppc32.h:
3979         * tests/check/gst/struct_ppc64.h:
3980         * tests/check/gst/struct_x86_64.h:
3981         * tests/check/libs/adapter.c: (create_and_fill_adapter):
3982         * tests/check/libs/basesrc.c:
3983         * tests/check/libs/controller.c: (GST_START_TEST):
3984         * tests/check/libs/gdp.c:
3985         * tests/check/libs/gstnetclientclock.c:
3986         * tests/check/libs/gstnettimeprovider.c:
3987         * tests/check/libs/libsabi.c:
3988         * tests/check/libs/struct_hppa.h:
3989         * tests/check/libs/struct_i386.h:
3990         * tests/check/libs/struct_ppc32.h:
3991         * tests/check/libs/struct_ppc64.h:
3992         * tests/check/libs/struct_x86_64.h:
3993         * tests/check/pipelines/cleanup.c:
3994         * tests/check/pipelines/simple-launch-lines.c:
3995         * tests/check/pipelines/stress.c:
3996         And correct even more valid sparse warnings.
3997
3998         * win32/common/libgstreamer.def:
3999         Add gst_poll_fd_init to the list of symbols.
4000
4001 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4002
4003         * gst/gstconfig.h.in:
4004         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
4005         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
4006         (gst_check_log_critical_func), (gst_check_drop_buffers),
4007         (gst_check_element_push_buffer_list):
4008         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
4009         (gst_controller_get_type):
4010         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
4011         (gst_object_get_controller), (gst_object_get_control_source):
4012         * libs/gst/controller/gstinterpolationcontrolsource.c:
4013         (gst_interpolation_control_source_new):
4014         * libs/gst/controller/gstlfocontrolsource.c:
4015         (gst_lfo_control_source_new):
4016         * libs/gst/dataprotocol/dataprotocol.c:
4017         (gst_dp_event_from_packet_0_2):
4018         * plugins/elements/gstfdsrc.c:
4019         * plugins/elements/gstmultiqueue.c:
4020         * plugins/elements/gsttee.c:
4021         * plugins/elements/gsttypefindelement.c:
4022         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
4023         (gst_file_index_add_association):
4024         * plugins/indexers/gstmemindex.c:
4025         * tests/benchmarks/gstpollstress.c: (mess_some_more):
4026         * tests/check/elements/queue.c: (setup_queue):
4027         * tests/check/gst/gstpipeline.c:
4028         * tests/check/libs/collectpads.c: (setup), (teardown),
4029         (gst_collect_pads_suite):
4030         * tests/examples/adapter/adapter_test.c:
4031         * tests/examples/metadata/read-metadata.c: (make_pipeline):
4032         * tests/examples/xml/createxml.c:
4033         * tests/examples/xml/runxml.c:
4034         * tools/gst-inspect.c:
4035         * tools/gst-run.c:
4036         Correct all relevant warnings found by the sparse semantic code
4037         analyzer. This include marking several symbols static, using
4038         NULL instead of 0 for pointers, not using variable sized arrays
4039         on the stack, moving variable declarations to the beginning of
4040         a block and using "foo (void)" instead of "foo ()" for declarations.
4041
4042 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4043
4044         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4045         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4046         Don't reset GstPollFDs, this is not necessary at all.
4047
4048         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4049         (delayed_restart), (delayed_control):
4050         Use GST_POLL_FD_INIT.
4051
4052 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4053
4054         * gst/gstpoll.c: (gst_poll_fd_init):
4055         * gst/gstpoll.h:
4056         Added Since tags.
4057
4058         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4059         Use some more init macros.
4060
4061 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4062
4063         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4064         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4065         Use init macros and functions.
4066
4067 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4068
4069         * docs/gst/gstreamer-sections.txt:
4070         * gst/gstpoll.c: (gst_poll_fd_init):
4071         * gst/gstpoll.h:
4072         Add INIT macro and _init method for initializing the GstPollFD.
4073
4074 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
4075
4076         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
4077         (gst_fd_sink_update_fd):
4078         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4079         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4080         (delayed_restart), (delayed_control):
4081         Initialize some uninitialized variables as spotted by valgrind.
4082
4083 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4084
4085         * tests/benchmarks/Makefile.am:
4086         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
4087         (main):
4088         Add poll stress test.
4089
4090 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4091
4092         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4093
4094         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4095         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
4096         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
4097         * plugins/elements/gstfdsink.h:
4098         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4099         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
4100         (gst_fd_src_unlock_stop), (gst_fd_src_create),
4101         (gst_fd_src_uri_set_uri):
4102         * plugins/elements/gstfdsrc.h:
4103         Port to GstPoll. See #505417.
4104
4105 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
4106
4107         * win32/common/libgstreamer.def:
4108         Add new gst_poll_ symbols to win32 defs.
4109
4110 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4111
4112         * docs/libs/gstreamer-libs-sections.txt:
4113         * libs/gst/net/gstnetclientclock.c:
4114         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
4115         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4116         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4117         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4118         * libs/gst/net/gstnetclientclock.h:
4119         * libs/gst/net/gstnettimeprovider.c:
4120         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
4121         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4122         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4123         (gst_net_time_provider_new):
4124         * libs/gst/net/gstnettimeprovider.h:
4125         Use a private stuct to not break ABI.
4126
4127 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4128
4129         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4130
4131         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
4132         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4133         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4134         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4135         * libs/gst/net/gstnetclientclock.h:
4136         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
4137         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4138         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4139         (gst_net_time_provider_new):
4140         * libs/gst/net/gstnettimeprovider.h:
4141         Massive code removal and cleanups because of GstPoll.
4142         Fixes #505417.
4143
4144 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4145
4146         * configure.ac:
4147         Add checks for poll, ppoll and pselect.
4148
4149         * docs/gst/gstreamer-docs.sgml:
4150         * docs/gst/gstreamer-sections.txt:
4151         Add docs for GstPoll.
4152
4153         * gst/Makefile.am:
4154         * gst/gst.h:
4155         * gst/gstpoll.c: (find_index), (selectable_fds),
4156         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
4157         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
4158         (gst_poll_set_mode), (gst_poll_get_mode),
4159         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
4160         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4161         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
4162         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
4163         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
4164         (gst_poll_fd_can_write), (gst_poll_wait),
4165         (gst_poll_set_controllable), (gst_poll_restart),
4166         (gst_poll_set_flushing):
4167         * gst/gstpoll.h:
4168         Add generic poll abstraction. We ideally don't want to have this in core
4169         here but in glib intead...
4170         This code will be used in various network elements and ultimately for
4171         the nanosecond precision monotonic clock (that's why it's here in core).
4172         It'll allow us to implement cancelable socket operations for windows too.
4173
4174         * tests/check/Makefile.am:
4175         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4176         (delayed_stop), (delayed_restart), (delayed_flush),
4177         (delayed_control), (gst_poll_suite):
4178         Add GstPoll unit test.
4179
4180 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
4181
4182         * gst/gstfilter.c:
4183           Improve documentation of gst_filter_run(). Fixes #518627.
4184
4185 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4186
4187         * docs/README:
4188           Add a few lines about the new 'check-inspected-versions' target.
4189
4190 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4191
4192         * tests/check/gst/gstevent.c:
4193           Add qos to the event test. Rename tcase/tsuite; is not only about
4194           custom events.
4195
4196 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4197
4198         * plugins/elements/gstqueue.c:
4199           Ensure that buffer metadata is writeable, before modifying. Spotted by
4200           Mike.
4201
4202 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
4203
4204         * plugins/elements/gstqueue.c:
4205         * plugins/elements/gstqueue.h:
4206           When dropping buffers in leaky modes, mark next buffers we sent as
4207           DISCONT.
4208
4209 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4210
4211         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
4212           Also, if mmap() fails that would be a READ error, not OPEN_READ.
4213
4214 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4215
4216         * plugins/elements/Makefile.am:
4217         * plugins/elements/gstbufferstore.c:
4218         * plugins/elements/gstbufferstore.h:
4219         * plugins/elements/gsttypefindelement.h:
4220           Remove GstBufferStore, no idea why we were still building it.
4221           It's not used anywhere and superseded by GstAdapter.
4222
4223         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4224           (gst_file_src_create_mmap):
4225         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
4226           Printf format fixes for 64-bit integers.
4227
4228 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4229
4230         * configure.ac:
4231         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
4232         We're not in 0.8 times anymore.
4233
4234 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
4235
4236         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
4237         (gst_check_element_push_buffer_list):
4238         * libs/gst/check/gstcheck.h:
4239         Make the declaration in the header for
4240         gst_check_element_push_buffer_list match the implementation.
4241
4242         Fix up spelling, grammar and wording of the documentation in a few
4243         places, and add the Since keyword to new API functions.
4244         Use g_list_delete_link instead of g_list_remove in
4245         gst_check_drop_buffers, since it's immeasurably more efficient.
4246
4247         * tests/check/elements/fakesrc.c: (GST_START_TEST):
4248         Use new gst_check_drop_buffers function where appropriate.
4249
4250         * win32/common/libgstbase.def:
4251         * win32/common/libgstreamer.def:
4252         Add new symbols gst_collect_pads_take_buffer, 
4253         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
4254         exports
4255
4256         Changelog surgery to add API keyword to new gst_check API.
4257
4258 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4259
4260         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
4261         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
4262         Update pre-generated flex files with flex 2.3.34.
4263
4264 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4265
4266         * gst/gstminiobject.c:
4267           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
4268           friendly to subclasses and not require them to know all internals
4269           of their parent class.
4270
4271 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4272
4273         * docs/libs/gstreamer-libs-sections.txt:
4274         * libs/gst/base/gstcollectpads.c:
4275         * libs/gst/base/gstcollectpads.h:
4276           Add sub-buffer functions to collectpads. Fixes #516187.
4277           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
4278
4279 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4280
4281         * gst/gstbuffer.c:
4282           Copy selected buffer-flags when creating subbuffers.
4283           Fixes #516395.
4284
4285 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
4286
4287         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
4288         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
4289         * gst/gstmessage.c: (gst_message_class_init),
4290         (gst_message_finalize):
4291         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
4292         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
4293         (gst_mmap_buffer_finalize):
4294         Properly chain up finalize functions to the parent class.
4295
4296 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
4297
4298         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
4299
4300         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
4301         (gst_index_set_resolver_full):
4302         * gst/gstindex.h:
4303         Add new function with option to dispose of user_data in resolver.
4304         Actually call the dispose function when finalizing the object and not
4305         just when changing the resolver/filter.
4306         API: GstIndex::gst_index_set_resolver_full()
4307
4308         * docs/gst/gstreamer-sections.txt:
4309         Add new function to docs. Fixes #515469.
4310
4311 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
4312
4313         * gst/gstindex.c: (gst_index_finalize):
4314         Chain up finalize to the parent class. Fixes leaking the GstObject
4315         name and other things.
4316
4317 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
4318
4319         * configure.ac:
4320         Make DISABLE_DEPRECATED defined *only* during CVS, not during
4321         pre-releases or releases.
4322
4323         * docs/faq/gst-uninstalled:
4324         Add gst-plugins-gl
4325
4326         * docs/random/release:
4327         Change one of the steps - we only upload core & base to Gnome FTP
4328
4329 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
4330
4331         * gst/gstconfig.h.in:
4332           Add 'id' for example.
4333
4334         * gst/gstpad.c:
4335         * gst/gstutils.c:
4336         * plugins/elements/gstfdsink.c:
4337           Link to signals. Doc and comment fixes.
4338
4339 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
4340
4341         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
4342         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
4343           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
4344           unused and unimplemented; finally, it is plugin features, not
4345           plugins, that have ranks.
4346           
4347 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4348
4349         * gst/gstpluginfeature.h:
4350           Clarify GstRank range docs.
4351
4352 2008-02-05  David Schleef  <ds@schleef.org>
4353
4354         * gst/gst.c: Add a separate gst_deinitialized that prevents
4355           gst_init() from being called after gst_deinit().  Fixes #509559
4356
4357 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4358
4359         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4360         (gst_bin_class_init):
4361         * gst/gstelement.c: (gst_element_base_class_init),
4362         (gst_element_class_add_pad_template):
4363         * gst/gstpadtemplate.c: (gst_pad_template_init):
4364         * gst/gstpipeline.c: (gst_pipeline_get_type),
4365         (gst_pipeline_base_init), (gst_pipeline_class_init):
4366         * libs/gst/base/gstbasesink.c:
4367         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4368         (gst_base_src_base_init), (gst_base_src_class_init):
4369         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4370         (gst_capsfilter_class_init):
4371         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4372         (gst_fake_sink_class_init):
4373         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4374         (gst_fake_src_class_init):
4375         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4376         (gst_fd_sink_class_init):
4377         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4378         (gst_fd_src_class_init):
4379         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4380         (gst_file_sink_class_init):
4381         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4382         (gst_file_src_class_init):
4383         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4384         (gst_identity_class_init):
4385         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4386         (gst_multi_queue_class_init):
4387         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4388         (gst_queue_class_init):
4389         * plugins/elements/gsttee.c: (gst_tee_base_init),
4390         (gst_tee_class_init):
4391         * plugins/elements/gsttypefindelement.c:
4392         (gst_type_find_element_base_init),
4393         (gst_type_find_element_class_init):
4394         * tests/check/gst/gstelement.c: (gst_element_suite):
4395         Revert previous changes to the behaviour of GstPadTemplates, etc
4396         and the possiblity to call them in class_init as it breaks too
4397         many elements. Reopens bug #491501.
4398
4399         Should be applied again for 0.11, thus added a few FIXME 0.11 at
4400         several places.
4401
4402 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4403
4404         * tools/gst-launch.c:
4405         Dump one graph per pipeline state-change and state change name
4406         (if GST_DEBUG_DUMP_DOT_DIR is set).
4407
4408 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
4409
4410         * gst/gstpad.c:
4411         * tests/check/gst/gstpad.c:
4412         Be sure that we have a new copy of the caps and not
4413         reffed caps from a template
4414
4415 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4416
4417         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4418         * gst/gstpipeline.c: (gst_pipeline_get_type),
4419         (gst_pipeline_class_init):
4420         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
4421         (gst_base_sink_class_init):
4422         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4423         (gst_base_src_class_init):
4424         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4425         (gst_base_transform_class_init):
4426         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4427         (gst_collect_pads_class_init):
4428         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
4429         * libs/gst/net/gstnettimeprovider.c:
4430         (gst_net_time_provider_base_init),
4431         (gst_net_time_provider_class_init):
4432         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4433         (gst_capsfilter_class_init):
4434         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4435         (gst_fake_sink_class_init):
4436         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4437         (gst_fake_src_class_init):
4438         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4439         (gst_fd_sink_class_init):
4440         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4441         (gst_fd_src_class_init):
4442         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4443         (gst_file_sink_class_init):
4444         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4445         (gst_file_src_class_init):
4446         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4447         (gst_identity_class_init):
4448         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4449         (gst_multi_queue_class_init):
4450         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4451         (gst_queue_class_init):
4452         * plugins/elements/gsttee.c: (gst_tee_base_init),
4453         (gst_tee_class_init):
4454         * plugins/elements/gsttypefindelement.c:
4455         (gst_type_find_element_base_init),
4456         (gst_type_find_element_class_init):
4457         Don't use base_init where not absolutely necessary. For example it's
4458         not necessary anymore for adding pad templates or setting element
4459         details.
4460
4461         Leave empty base_init functions in several places as GST_BOILERPLATE
4462         still defines and uses them.
4463
4464 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4465
4466         * gst/gstelement.c: (gst_element_base_class_init),
4467         (gst_element_class_add_pad_template):
4468         * gst/gstpadtemplate.c:
4469         Make it possible (and recommended) to set element details and add
4470         pad templates in the class_init functions by copying the details/pad
4471         templates in GstElement's base_init.
4472
4473         Also make it possible to replace existing pad templates by adding
4474         a new one with the same name. This was done in a hackish fashion
4475         in same elements before already.
4476
4477         Don't reference pad templates that are added a second time. A
4478         new pad template has a refcount of one and is not floating anymore
4479         and to be owned by the element's class. Make this more explicit by
4480         mentioning it in the docs of gst_element_class_add_pad_template().
4481
4482         These changes are backwards compatible. Fixes bug #491501.
4483
4484         * tests/check/gst/gstelement.c:
4485         Add unit test for setting element details, adding pad templates and
4486         replacing them in a subclass.
4487
4488 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
4489
4490         * tools/gst-inspect.c: (print_interfaces),
4491         (print_element_properties_info), (print_pad_info),
4492         (print_signal_info), (print_element_info):
4493         Fix a few memory leaks.
4494
4495 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4496
4497         * docs/libs/gstreamer-libs-sections.txt:
4498         * libs/gst/check/gstcheck.c:
4499         * libs/gst/check/gstcheck.h:
4500         Add more functions for unit testing: gst_check_drop_buffers,
4501         gst_check_caps_equal, gst_check_element_push_buffer_list,
4502         gst_check_element_push_buffer
4503         API: gst_check_drop_buffers
4504         API: gst_check_caps_equal
4505         API: gst_check_element_push_buffer_list
4506         API: gst_check_element_push_buffer
4507
4508 2008-02-01  Julien Moutte  <julien@fluendo.com>
4509
4510         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
4511         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
4512         (gst_index_finalize), (gst_index_entry_free),
4513         (gst_index_add_association): Fix memory leaks.
4514         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
4515         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
4516         (gst_mem_index_free_format), (gst_mem_index_free_id),
4517         (gst_mem_index_finalize): Fix memory leaks.
4518         * win32/common/config.h: Updated to CVS HEAD.
4519
4520 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4521
4522         * docs/README:
4523           Some more details about how the plugin docs works.
4524
4525         * docs/plugins/gstreamer-plugins-sections.txt:
4526           Whitespace cleanup.
4527
4528 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4529
4530         * gst/parse/grammar.tab.pre.c:
4531         * gst/parse/grammar.tab.pre.h:
4532         * gst/parse/grammar.y:
4533         * gst/parse/lex._gst_parse_yy.pre.c:
4534           Add delayed set-property. This allows to set properties on dynamicaly
4535           created objects (pads in videomxer). Fixes #509391.
4536
4537 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4538
4539         * gst/gstutils.c:
4540         Check if caps are not NULL (fix bug #510194)
4541
4542 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4543
4544         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
4545         (gst_base_sink_get_position_paused):
4546         Add fixme regarding EOS in pull mode.
4547         Fix position reporting in PAUSED for negative rates.
4548
4549 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4550
4551         * gst/gstminiobject.c: (gst_mini_object_replace):
4552         When replacing a miniobject, do a quick equality check first so that we
4553         can avoid a ref/unref pair.
4554
4555 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4556
4557         * docs/design/part-synchronisation.txt:
4558         Update some docs.
4559
4560         * docs/plugins/Makefile.am:
4561         * docs/plugins/gstreamer-plugins-docs.sgml:
4562         * docs/plugins/gstreamer-plugins-sections.txt:
4563         * plugins/elements/gstmultiqueue.c:
4564         Add multiqueue to the docs.
4565
4566 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4567
4568         * configure.ac:
4569           Back to CVS
4570
4571 === release 0.10.17 ===
4572
4573 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
4574
4575         * configure.ac:
4576           releasing 0.10.17, "Due Negligence"
4577
4578 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4579
4580         * gst/gstutils.c:
4581         Revert caps != NULL check temporarily for 0.10.17 release.
4582
4583 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
4584
4585         * gst/gstutils.c:
4586         Check if caps are not NULL (fix bug #510194)
4587
4588 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4589
4590         * gst/gstutils.c:
4591         Fix compilation on systems that have posix timers but no
4592         monotonic clock.
4593         Fixes: #512715
4594         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
4595         dot net>
4596
4597 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4598
4599         * tools/gst-inspect.c:
4600         Revert previous commit in preparation for an impromptu 0.10.17 release
4601
4602 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
4603
4604         * tools/gst-inspect.c: (print_interfaces),
4605         (print_element_properties_info), (print_pad_info),
4606         (print_signal_info), (print_element_info):
4607         Fix a few memory leaks.
4608
4609 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
4610
4611         * configure.ac:
4612         Back to CVS
4613
4614 === release 0.10.16 ===
4615
4616 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
4617
4618         * configure.ac:
4619           releasing 0.10.16, "Special Dispensation"
4620
4621 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
4622
4623         * configure.ac:
4624           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
4625           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
4626           not fail when trying to crosscompile on OpenEmbedded (#511750).
4627
4628 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
4629
4630         * docs/manuals.mak:
4631         Use $(MAKE) instead of make to fix the build if GNU make is
4632         called different. Fixes bug #510747.
4633
4634 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
4635
4636         * gst/gstplugin.c: (_gst_plugin_initialize):
4637           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
4638           again, which I broke two commits ago when changing the API
4639           of gst_plugin_register_static(): the g_list_foreach() in
4640           _gst_plugin_register_static still assumed the old function
4641           signature and would therefore fail (re-fixes #510187).
4642
4643         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
4644           (_gst_plugin_register_static), (gst_plugin_register_static):
4645           Revert the (technically correct) change to call g_thread_init() from
4646           the pre-main() constructor. This will break programs which call
4647           g_thread_init() without an if (!g_thread_supported()) guard in their
4648           main function. We could just blame it on GLib or the application, but
4649           it's probably best to just avoid this altogether and simply not use
4650           any GLib functions here and use plain old malloc() with a simple
4651           array to store the plugins to register later when gst_init() is
4652           finally called (re-fixes #510187).
4653
4654         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
4655           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
4656           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
4657           (GST_START_TEST), (gst_plugin_suite):
4658           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
4659           works.
4660
4661 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
4662
4663         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
4664           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
4665           This makes gtk-doc complain, but results in slightly better
4666           compiler errors. The old _gst_plugin_register_static() is
4667           still guarded, so there'll be a compiler warning about that
4668           instead. Fixes #510187 too.
4669
4670 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
4671
4672         * gst/gst.c: (init_post):
4673         * gst/gstplugin.c: (_gst_plugin_register_static),
4674           (gst_plugin_register_static), (_gst_plugin_initialize):
4675         * gst/gstplugin.h: (GstPluginFilter):
4676           Change API of gst_plugin_register_static() to not take
4677           a GstPluginDesc, but rather just take all the arguments
4678           in a GstPluginDesc directly. This is more intuitive and
4679           avoids certain mistakes when porting code from
4680           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
4681           Fixes #510187.
4682
4683         * tests/check/gst/gstplugin.c:
4684           Fix up for changed API.
4685
4686 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4687
4688         * docs/faq/legal.xml:
4689           Update FAQ, Totem actually has an exception these days.
4690
4691 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
4692
4693         * win32/common/libgstreamer.def:
4694         Add new API declarations
4695
4696 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
4697
4698         * gst/gstminiobject.c:
4699           Spelling fixes for the API docs.
4700
4701 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
4702
4703         * libs/gst/base/gstbasetransform.c:
4704           Fix long property description for QoS.
4705
4706 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
4707
4708         * gst/gst.c:
4709         _gst_trace_on is already provided by gsttrace.h, no need to declare
4710         it ourselves.
4711
4712         * docs/libs/gstreamer-libs-sections.txt:
4713         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
4714         and remove strange tcase_add_test which is outputting a warning.
4715
4716         * libs/gst/check/gstcheck.c:
4717         * libs/gst/check/gstcheck.h:
4718         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
4719         and define them in gstcheck.c instead of having every .c file whcih
4720         includes gstcheck.h be defining its own copy and relying on symbol
4721         interposing to marry them all, which doesn't work on Solaris.
4722
4723         * tests/check/elements/identity.c: (GST_START_TEST):
4724         Don't define 'buffers' locally, it comes from libgstcheck.
4725
4726         * tests/check/generic/sinks.c: (send_buffer):
4727         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
4728
4729         * tests/check/gst/gststructure.c: (GST_START_TEST):
4730         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
4731         * tests/check/gst/gstutils.c: (GST_START_TEST):
4732         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4733         Add a bunch of casts to make various constants fit the types
4734         they're being assigned to.
4735
4736 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
4737
4738         * gst/gstchildproxy.c:
4739           Improve docs and add some ideas for making this more general-purpose.
4740
4741 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
4742
4743         * gst/gst_private.h: (GST_CAT_TYPES):
4744           Add GST_CAT_TYPES, for consistency, and so that the other
4745           debug categories don't make fun of it. Spotted by Saur on IRC.
4746
4747 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
4748
4749         * gst/parse/Makefile.am:
4750           Move types.h from EXTRA_DIST to noinst_HEADERS.
4751
4752 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
4753
4754         * autogen.sh:
4755           Add -Wno-portability to the automake parameters to stop warnings
4756           about GNU make extensions being used. We require GNU make in almost
4757           every Makefile anyway.
4758
4759         * configure.ac:
4760           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
4761           at the same time is required for per target flags.
4762
4763 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4764
4765         * gst/gstmacros.h:
4766           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
4767           __GNUC__ is defined before using it.
4768
4769 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4770
4771         * docs/gst/gstreamer-sections.txt:
4772         * gst/gst.c: (init_post):
4773         * gst/gstplugin.c: (_gst_plugin_register_static),
4774           (gst_plugin_register_static), (_gst_plugin_initialize),
4775           (gst_plugin_register_func):
4776         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
4777           API: add gst_plugin_register_static() and deprecate
4778           GST_PLUGIN_DEFINE_STATIC, since it's not portable
4779           (#498924).
4780           Also, in _gst_plugin_register_static(), make sure to call
4781           g_thread_init() before calling GLib functions such as
4782           g_list_append() if we're not initialised yet, since that
4783           may lead to random crashes with older GSlice/GLib versions.
4784
4785         * tests/check/gst/gstplugin.c:
4786           Adapt unit test to above changes.
4787
4788 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4789
4790         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
4791         * gst/gstcaps.c: (gst_caps_to_string):
4792         * gst/gststructure.c: (GST_ASCII_IS_STRING),
4793           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
4794           Yet another gratuitous GString micro-optimisation: add a (private)
4795           function that serialises a structure appending to an existing
4796           GString, so that when we serialise caps we don't need to alloc+free
4797           a throwaway GString for each structure (each of which also entailing
4798           multiple reallocs on the way); also use g_string_sized_new() in
4799           various places with an approximate string length to avoid reallocs
4800           within GString. See #500143.
4801
4802 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4803
4804         * gst/gststructure.c: (gst_structure_id_set_value):
4805           Always check UTF-8 conformance of structure strings and not only
4806           if the debugging system is enabled; reasoning: the behaviour of
4807           the actual code shouldn't really change depending on whether the
4808           debugging system is enabled or not (#508291).
4809
4810 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
4811
4812         * Makefile.am:
4813           Remove old coverage target in favour of "make lcov".
4814
4815 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
4816
4817         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
4818         (gst_base_src_loop):
4819         The start segment for reverse playback goes from start to last_stop.
4820
4821 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
4822
4823         Patch by: Peter Kjellerstedt <pkj axis com>
4824
4825         * gst/gstclock.h:
4826         Cast the results from the timeval/spec_to_time macros to what the
4827         docs say it casts to, a GstClockTime. fixes #508175.
4828
4829 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
4830
4831         * gst/gstbuffer.c:
4832         Update some comments.
4833
4834         * tools/gst-inspect.c: (print_element_properties_info):
4835         Improve printing of flags.
4836
4837 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
4838
4839         * libs/gst/base/gstbasetransform.c:
4840           (gst_base_transform_transform_size):
4841           Print element name with g_warning() if there's a problem
4842           with the unit size.
4843
4844 2008-01-07  David Schleef  <ds@schleef.org>
4845
4846         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
4847
4848         * libs/gst/controller/gstcontroller.h:
4849         * libs/gst/controller/gstcontrolsource.h:
4850         * libs/gst/controller/gstinterpolationcontrolsource.h:
4851         * libs/gst/controller/gstlfocontrolsource.h:
4852         * libs/gst/dataprotocol/dataprotocol.h:
4853           Fix empty prototypes.  Fixes bug #507957.
4854
4855 2008-01-07  David Schleef  <ds@schleef.org>
4856
4857         * docs/faq/dependencies.xml: Fix typo.
4858
4859 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
4860
4861         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
4862         (gst_base_src_loop):
4863         Don't update the last_stop position in do_seek, that's the position we
4864         did a seek to.
4865         Read backwards when we have a negative rate.
4866
4867         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
4868         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
4869         (filesrc_suite):
4870         Add check for reverse reading.
4871
4872 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
4873
4874         Patch by: Alexis Ballier <aballier at gentoo org>
4875
4876         * tests/check/gst/gstabi.c:
4877         * tests/check/gst/struct_ppc64.h:
4878         * tests/check/libs/libsabi.c:
4879         * tests/check/libs/struct_ppc64.h:
4880           Decide which header to include based on the userland ABI target
4881           and not the kernel/cpu. Fix up structure sizes of ppc64 header
4882           for 64-bit userland (#503590).  Might need something similar for
4883           x86 too.
4884
4885 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
4886
4887         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
4888           Log the reason why fopen fails in addition to the fact that it failed.
4889           
4890 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
4891
4892         * gst/parse/parse.l:
4893         Use "%option never-interactive" to prevent useless calls to isatty()
4894         on every input when parsing. Also use "%option noinput" to not define
4895         the static input/yyinput functions which we don't use anyway. This
4896         removes a compiler warning with gcc 4.3 and saves some bytes in the
4897         library.
4898         
4899         * gst/parse/lex._gst_parse_yy.pre.c:
4900         Regenerated for the above change.
4901
4902 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
4903
4904         * gst/gstpad.c: (fixate_value):
4905         Don't crash when trying to fixate and empty list.
4906         Fixes #506643.
4907
4908 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
4909
4910         * docs/faq/gst-uninstalled:
4911         Clarify the comments to make the usage of this script and what it
4912         does easier to understand.
4913
4914 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4915
4916         * tools/gst-plot-timeline.py:
4917         Add more options to gst-plot-timeline
4918
4919 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
4920
4921         * docs/design/part-synchronisation.txt:
4922         Some more info on how the stream_time in GstBaseSink is done.
4923
4924 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
4925
4926         * tests/check/generic/sinks.c: (gst_sinks_suite):
4927           Put back the tcase_set_timeout(), apparently it's needed after
4928           all; fix it up in a way that makes things work with valgrind too.
4929
4930 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
4931
4932         * gst/gstdebugutils.c:
4933           Add warning when failed to open file for writing.
4934
4935 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
4936
4937         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
4938
4939         * gst/gstvalue.c: (gst_value_is_fixed):
4940           Optimisation: bail out of the loop as early as possible (#500143).
4941
4942 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
4943
4944         * gst/gstcaps.c: (gst_caps_to_string):
4945         * gst/gstinfo.c: (gst_debug_construct_term_color):
4946         * gst/gstparse.c: (gst_parse_launchv):
4947         * gst/gstutils.c: (gst_util_dump_mem):
4948         * gst/gstvalue.c: (gst_value_serialize_any_list),
4949           (gst_value_transform_any_list_string):
4950           Bunch of gratuitous nano-optimisations.
4951
4952 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
4953
4954         * tests/check/generic/sinks.c: (async_done_func),
4955           (async_done_eos_func):
4956           Fix leak in unit test (bus sync handler must unref the message
4957           if it returns GST_BUS_DROP). Don't fiddle with the default test
4958           timeout, this is smaller than the current preconfigured value
4959           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
4960           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
4961
4962 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4963
4964         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
4965
4966         * configure.ac:
4967         Check for stdio_ext.h for the filesink changes.
4968
4969         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
4970         (gst_file_sink_class_init), (gst_file_sink_init),
4971         (gst_file_sink_dispose), (gst_file_sink_set_property),
4972         (gst_file_sink_get_property), (gst_file_sink_open_file),
4973         (gst_file_sink_close_file):
4974         * plugins/elements/gstfilesink.h:
4975         Add two properties to control the buffering mode and size.
4976         API: GstFileSink::buffer-mode
4977         API: GstFileSink::buffer-size
4978         Fixes #500150.
4979
4980 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4981
4982         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
4983         Add some more docs to explain why a FIXME was wrongly added. 
4984
4985 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
4986
4987         * gst/gstobject.c:
4988           Fix typo in the gst_object_{ref,unref} documentation.
4989
4990 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
4991
4992         * tests/check/libs/controller.c:
4993         * tests/check/libs/typefindhelper.c:
4994         * tests/check/pipelines/parse-launch.c:
4995           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
4996           going to be deprecated (see #498924).
4997
4998 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
4999
5000         * gst/gsttypefind.c: (gst_type_find_register):
5001           Make gst_type_find_register work for static typefind functions,
5002           ie. allow passing plugin == NULL (prerequisite for #498924).
5003
5004         * gst/gstelementfactory.c: (gst_element_register):
5005           Small docs addition.
5006
5007 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
5008
5009         * gst/gstpad.c: (gst_pad_dispose):
5010         Really unlink the peer pad instead of setting the peer pointer to NULL
5011         when we dispose the pad.
5012         This correctly calls the unlink functions and makes sure that the peer
5013         does not have a handle to invalid memory. See #504671.
5014
5015         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5016         Add testsuite for above case.
5017
5018 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
5019
5020         Patch by: Peter Kjellerstedt <pkj axis com>
5021
5022         * libs/gst/check/gstcheck.h:
5023           Fix detection of the check version we're compiling against (would
5024           otherwise break if check goes v0.10.0); correctly report the
5025           name of the failed test again in case of failure, instead of
5026           just 'tf' (fixes #504499).
5027
5028 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5029
5030         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
5031         (gst_base_src_get_range), (gst_base_src_pad_get_range),
5032         (gst_base_src_loop), (gst_base_src_set_flushing),
5033         (gst_base_src_change_state):
5034         Allow sending EOS to the source to make it send out an EOS event from
5035         the streaming thread.
5036         Update docs and deprecate the old NULL/READY shutdown method.
5037
5038         * tests/check/libs/basesrc.c: (GST_START_TEST),
5039         (gst_basesrc_suite):
5040         Add unit test for controlled shutdown.
5041
5042 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5043
5044         * docs/design/part-synchronisation.txt:
5045         Small updates.
5046
5047         * gst/gstsegment.c: (gst_segment_set_seek),
5048         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5049         (gst_segment_to_running_time):
5050         The seek format can be different from the segment format when the start
5051         and stop values are not to be updated, when we only do a rate change for
5052         example.
5053
5054         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5055         (gst_segment_suite):
5056         Add a testcase for the rate-only seeks, checking that the format is
5057         correctly ignored when start and stop are not updated.
5058
5059 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
5060
5061         Patch by: Matthias Bolte <photon at mail dot upb dot de>
5062
5063         * win32/vs8/grammar.vcproj:
5064         * win32/vs8/libgstcontroller.vcproj:
5065         * win32/vs8/libgstreamer.vcproj:
5066         Fix compilation with VS8 and include some missing files.
5067
5068 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
5069
5070         * gst/gsttaglist.c:
5071           Small docs addition: mention that the strings returned by
5072           gst_tag_list_get_string*() are in UTF-8 encoding.
5073
5074 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
5075
5076         * Makefile.am:
5077           The check-exports stuff moved to common/win32.mak, so include that.
5078
5079 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
5080
5081         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5082         (gst_base_src_perform_seek), (gst_base_src_get_range),
5083         (gst_base_src_set_playing), (gst_base_src_change_state):
5084         Make _wait_playing() not check any variables so that we can call this
5085         function from subclasses. Move the checks elsewhere similar to
5086         _wait_preroll() in basesink.
5087         Add some debugging.
5088         Only signal the LIVE cond when we are going back to PLAYING.
5089
5090 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5091
5092         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
5093           Use g_remove() and g_rename(). Check result of g_rename(), and
5094           don't leak the open file descriptor if we error out when writing.
5095
5096         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
5097           Must check the return value of close() after writing out the new
5098           registry file.  Sometimes write problems such as out-of-diskspace
5099           are only reported when the file is closed and not already during
5100           the write.  This may have caused partial/broken registry files in
5101           some rare circumstances. Should fix #503675.
5102
5103 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
5104
5105         * docs/gst/.cvsignore:
5106         * docs/libs/.cvsignore:
5107         * docs/plugins/.cvsignore:
5108         Ignore files generated by new common/* modifications
5109
5110 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5111
5112         * win32/common/libgstbase.def:
5113           Yes, you can also have a <TAB> if you want.
5114
5115 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5116
5117         * win32/common/libgstbase.def:
5118           Add new basetransform API to win export file.
5119
5120 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5121
5122         * tests/check/gst/gstbin.c:
5123           Adjust the test to the refcount change two days ago.
5124
5125 2007-12-14  David Schleef  <ds@schleef.org>
5126
5127         * docs/faq/getting.xml: Fix typo.
5128
5129 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
5130
5131         * docs/libs/gstreamer-libs-sections.txt:
5132         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5133           (gst_base_transform_prepare_output_buffer),
5134           (gst_base_transform_set_gap_aware):
5135         * libs/gst/base/gstbasetransform.h:
5136           API: Add gst_base_transform_set_gap_aware() to control whether
5137           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
5138           get buffers with this flag at all. Fixes #503231.
5139
5140 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
5141
5142         * libs/gst/base/gstbasesink.c:
5143         * libs/gst/base/gstbasesrc.c:
5144         * libs/gst/base/gstbasetransform.c:
5145           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
5146           thread. Correct log message in gstbasesrc.c.
5147
5148 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5149
5150         * gst/gstutils.c: (element_find_unconnected_pad):
5151           Fix possible compiler warning (#503417).
5152
5153 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5154
5155         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
5156           Don't use GST_CAT_EVENT here for logging, it makes no sense.
5157
5158 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
5159
5160         * tools/gst-inspect.c: (print_element_properties_info):
5161           Add support for GstFraction properties.
5162
5163 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5164
5165         * Makefile.am:
5166           Add check-exports target and run it as part of 'make check'
5167           (see #499140 and #493983).
5168
5169         * gst/gst_private.h:
5170         * gst/gstelementfactory.h:
5171         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
5172         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
5173           (_priv_gst_in_valgrind):
5174         * gst/gstinfo.h: (GstLogFunction):
5175         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
5176           (gst_type_find_register):
5177         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
5178           (gst_type_find_factory_get_type):
5179         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
5180           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
5181           (gst_controller_new_valist), (gst_controller_new_list),
5182           (_gst_controller_dispose), (_gst_controller_class_init):
5183         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
5184         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
5185           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
5186           (gst_object_get_controller), (gst_object_set_controller),
5187           (gst_object_suggest_next_sync), (gst_object_sync_values),
5188           (gst_object_set_control_source), (gst_object_get_control_source),
5189           (gst_object_get_value_arrays), (gst_object_get_value_array),
5190           (gst_object_get_control_rate), (gst_object_set_control_rate):
5191         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
5192         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
5193           Make some functions that should be static static; rename some
5194           private symbols so that they don't get exported; add some FIXME
5195           comments so we can move accidentally exported functions into
5196           our private section in 0.11.
5197
5198         * win32/common/libgstreamer.def:
5199           Add gst_utils_get_timestamp().
5200
5201 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5202
5203         * gst/gstvalue.c:
5204         * gst/gstvalue.h:
5205           Add more missing "Since:" tags to docs.
5206
5207 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5208
5209         * gst/gstutils.c:
5210           Add mising "Since:" to docs.
5211
5212 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5213
5214         * gst/gstplugin.c:
5215           Include "glib-compat-private.h" to fix the build on system with
5216           glib < 2.10. Fixes #503131.
5217
5218 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5219
5220         * gst/gstutils.c:
5221         * gst/gstutils.h:
5222           Actually its not PURE as it gets the time from elsewhere.
5223
5224 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5225
5226         * docs/gst/gstreamer-sections.txt:
5227         * gst/gstclock.h:
5228         * gst/gstdebugutils.c:
5229         * gst/gstinfo.c:
5230         * gst/gstutils.c:
5231         * gst/gstutils.h:
5232         * libs/gst/base/gstbasesink.c:
5233         * tools/gst-launch.c:
5234           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
5235           uses as we don't have HAVE_POSIX_TIMERS in public headers.
5236           Thanks Tim for spotting.
5237           API: gst_util_get_timestamp
5238
5239 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
5240
5241         * configure.ac:
5242           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
5243
5244 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
5245
5246         * gst/gststructure.c: (gst_structure_validate_name),
5247           (gst_structure_new_valist), (gst_structure_parse_value),
5248           (gst_structure_from_string):
5249           Don't crash in _from_string() if the structure name is not valid
5250           (fixes #501560).  Allow structure names to start with a number
5251           again (this apparently broke the ubuntu codec installer).
5252
5253         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
5254           (GST_START_TEST):
5255           Add unit test for the crash; update unit tests for new behaviour.
5256
5257 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
5258
5259         * gst/gstutils.c:
5260         Clarify gst_element_get_compatible_pad() documentation.
5261         Fixes #500919.
5262
5263 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
5264
5265         * tests/check/Makefile.am:
5266           Don't forget to dist {gst,libs}/struct_hppa.h.
5267
5268 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5269
5270         * libs/gst/base/gstbasesink.c:
5271           Use new API to get elapsed time.
5272
5273 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5274
5275         * gst/gstdebugutils.c:
5276         * gst/gstinfo.c:
5277           Fix wrong order of args in GST_CLOCK_DIFF() usage.
5278
5279         * tools/gst-launch.c:
5280           Use new API to get elapsed time.
5281
5282 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5283
5284         * docs/gst/gstreamer-sections.txt:
5285         * gst/gstclock.h:
5286         * gst/gstdebugutils.c:
5287         * gst/gstinfo.c:
5288           Rename new API + ChangeLog surgery to remove old name from last entry..
5289
5290 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5291
5292         * docs/gst/gstreamer-sections.txt:
5293         * gst/gstclock.h:
5294         * gst/gstdebugutils.c:
5295         * gst/gstinfo.c:
5296           Now hide the different clock stuff behind a macro.
5297
5298 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5299
5300         * configure.ac:
5301         * gst/gstdebugutils.c:
5302         * gst/gstinfo.c:
5303           Apply the posix-timer check from #361155. Conditionally use the posix
5304           timer for logging. This gives better timestamp precission, less
5305           overhead and no ntp jitter.
5306
5307 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
5308
5309         * gst/gstminiobject.c: (gst_mini_object_get_type),
5310         (gst_mini_object_class_init), (gst_mini_object_copy_default),
5311         (gst_mini_object_finalize), (gst_mini_object_copy),
5312         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
5313         (gst_mini_object_replace), (param_mini_object_validate),
5314         (gst_param_spec_mini_object_get_type):
5315         Some cleanup and checking against invalid function parameters.
5316
5317 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
5318
5319         * docs/gst/gstreamer-sections.txt:
5320         * gst/gstclock.h:
5321         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5322         (gst_systemclock_suite):
5323         Start merging in the easy bits of #361155, the monotonic clock patch.
5324         This one adds a few handy macros with docs and a testsuite.
5325
5326 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
5327
5328         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
5329         Be a bit smarter when seeking, like, don't try to do a seek when it's
5330         not needed. This avoids errors when the file is not seekable.
5331         Fixes #499771.
5332
5333 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
5334
5335         * docs/gst/gstreamer-docs.sgml:
5336         * docs/gst/gstreamer-sections.txt:
5337         * docs/gst/gstreamer.types.in:
5338         * gst/Makefile.am:
5339         * gst/gst.h:
5340         * gst/gstpreset.c:
5341         * gst/gstpreset.h:
5342         * plugins/elements/gstqueue.c:
5343           Due to popular request remove preset interface again. :-(.
5344
5345 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5346
5347         * tools/gst-inspect.c:
5348           Print 'default value' for enums and flags too.
5349
5350 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5351
5352         * docs/random/ensonic/profiling.txt:
5353           More ideas.
5354
5355         * gst/gstbin.c:
5356           Fix typo and give better log output.
5357
5358         * gst/gstdebugutils.c:
5359         * gst/gstdebugutils.h:
5360           More ideas, make graphs a bit smaller and fix param name in macro.
5361
5362 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5363
5364         * gst/gstpreset.c:
5365           Try harder to use the return value from fgets().
5366
5367 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
5368
5369         * gst/gstpreset.c:
5370           For theses two fgets we handle the error below.
5371
5372 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5373
5374         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
5375         Only send upstream events upstream. Fixes #498746.
5376
5377 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5378
5379         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5380
5381         * plugins/elements/gstidentity.c: (gst_identity_class_init),
5382         (gst_identity_init), (gst_identity_transform_ip),
5383         (gst_identity_set_property), (gst_identity_get_property):
5384         * plugins/elements/gstidentity.h:
5385         Add property to disable handoff signal emission. Fixes #498694.
5386         API: GstIdentity::signal-handoffs
5387
5388 2007-11-21  Julien Moutte  <julien@fluendo.com>
5389
5390         * docs/faq/gst-uninstalled: Yet another missing library for the
5391         uninstalled script (fft)
5392
5393 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
5394
5395         * docs/faq/developing.xml:
5396         Add a question about how to submit new translations.
5397
5398         * docs/random/release:
5399         Update the contact email address for the Translation Project
5400
5401         * plugins/elements/gstfdsrc.c:
5402         The parent_class for fdsrc is pushsrc, not GstElement.
5403
5404 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5405
5406         * gst/gstpreset.c:
5407           Plug a leak and fix saving.
5408
5409 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
5410
5411         * docs/gst/gstreamer-sections.txt:
5412         Add new gst_preset__get_property_names() function to the docs
5413         to fix the build.
5414
5415 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5416
5417         * gst/gstpreset.c:
5418         * gst/gstpreset.h:
5419           Change _get_preset_names API to return a strv with copies. Add
5420           _get_property_names to allow implementations to filter and provide
5421           good default implementation.
5422
5423 2007-11-20  Julien MOUTTE  <julien@moutte.net>
5424
5425         * docs/faq/gst-uninstalled: Add another library to the uninstalled
5426         script (sdp).
5427
5428 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5429
5430         * gst/gstpreset.c:
5431           More cleanups, docs, and TODOs from comments that now slowly come in.
5432
5433 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5434
5435         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
5436         search path.
5437
5438 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5439
5440         * gst/gstpreset.c:
5441           Fix bogus warning and make the property type specific code more
5442           similar.
5443
5444 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5445
5446         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
5447         it build on OS X.
5448
5449 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
5450
5451         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5452         (gst_bin_add_func), (gst_bin_remove_func),
5453         (gst_bin_change_state_func), (gst_bin_continue_func):
5454         Change email, cleanups add some more debug and comments.
5455         Also set bus and clock on new elements when the pipeline was in error.
5456
5457 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
5458
5459         * gst/gstbin.c:
5460         * gst/gstdebugutils.c:
5461           Fix build with --disable-gst-debug. Fixes #497859.
5462           Spotted by Sameer Naik.
5463
5464 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5465
5466         * gst/gstevent.c:
5467           Little documentation improvment.
5468
5469         * gst/gstpreset.c:
5470           More TODO cleanups. Remove c++ comments.
5471
5472         * libs/gst/controller/gstcontroller.c:
5473           Add TODO and use quark from static string.
5474
5475         * tests/check/gst/gstmessage.c:
5476         * tests/check/gst/gststructure.c:
5477           Use quark from static string.
5478
5479 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5480
5481         * gst/gstpreset.c:
5482           Add some comments and TODOs.
5483
5484         * gst/gstpreset.h:
5485           Add padding for future changes.
5486
5487         * plugins/elements/gstqueue.c:
5488           Implement the iface.    
5489
5490 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5491
5492         * docs/gst/gstreamer-docs.sgml:
5493         * docs/gst/gstreamer-sections.txt:
5494         * docs/gst/gstreamer.types.in:
5495         * gst/Makefile.am:
5496         * gst/gst.h:
5497         * gst/gstpreset.c:
5498         * gst/gstpreset.h:
5499           Add the preset interface (Fixes #396779). Do some doc cleanups along.
5500
5501 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
5502
5503         * configure.ac:
5504
5505         Back to CVS
5506
5507 === release 0.10.15 ===
5508
5509 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
5510
5511         * configure.ac:
5512           releasing 0.10.15, "October"
5513
5514 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
5515
5516         * win32/vs6/libgstreamer.dsp:
5517         Convert line endings back to DOS.
5518
5519 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
5520
5521         * docs/design/draft-tagreading.txt:
5522         * docs/random/ensonic/profiling.txt:
5523         Update fast tagreading draft and performance profiling ideas.
5524
5525 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5526
5527         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
5528         Don't hold the object lock when unreffing a buffer because it could
5529         cause a deadlock when the finalize function wants to grab the object
5530         lock too. Fixes #495133.
5531
5532 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5533
5534         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
5535         (gst_segment_to_stream_time), (gst_segment_to_running_time):
5536         Also accumulate time correctly when doing reverse playback. Fixes
5537         #488201,
5538         When converting to running and stream time, use default values for
5539         start/stop/time/accum when comparing different formats. Fixes #494245.
5540
5541         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5542         Do running/stream time in TIME format.
5543
5544         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5545         (gst_segment_suite):
5546         2 new unit tests for segment accumulation.
5547
5548 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5549
5550         * gst/gst.c: (init_pre):
5551         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
5552           (_gst_debug_bin_to_dot_file):
5553           Move getenv() back into gst_init, so everyone can live happily
5554           ever after. Make sure the symbol isn't exported though.
5555
5556 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5557
5558         Patch by: Sebastien Moutte  <sebastien moutte net>
5559
5560         * win32/common/gstenumtypes.c:
5561         * win32/common/gstenumtypes.h:
5562           Update enum types.
5563
5564         * win32/vs6/libgstreamer.dsp:
5565           Update vs6 project files (#494343).
5566
5567 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5568
5569         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
5570         (gst_base_src_perform_seek), (gst_base_src_default_event),
5571         (gst_base_src_set_flushing), (gst_base_src_activate_push),
5572         (gst_base_src_activate_pull):
5573         Unify flushing code, remove some old unlock code that is no longer used.
5574         Take the streaming lock when seeking to avoid races. Fixes #492729.
5575         Added some more comments.
5576
5577 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5578
5579         * gst/gst.c: (_gst_disable_segtrap):
5580           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
5581           we can use gst_segtrap_is_enabled() there now that we have that API.
5582           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
5583           to do the getenv here (and export the variable).
5584
5585         * gst/gstdebugutils.c: (debug_dump_element),
5586           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
5587           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
5588
5589         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
5590           (gst_debug_log_default):
5591           Rename _gst_info_start_time to priv_gst_info_start_time so it
5592           doesn't get exported (was never in any header).
5593
5594         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
5595           (gst_plugin_loading_mutex):
5596           Make static mutex gst_plugin_loading_mutex really static (was never
5597           in any header), and use gst_segtrap_is_enabled() instead of
5598           _gst_disable_segtrap.
5599
5600         * gst/gsttrace.c: (_gst_trace_default):
5601           Make local _gst_trace_default static (was never in any header).
5602
5603 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5604
5605         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
5606
5607         * win32/common/libgstbase.def:
5608         * win32/common/libgstcontroller.def:
5609         * win32/common/libgstdataprotocol.def:
5610         * win32/common/libgstnet.def:
5611         * win32/common/libgstreamer.def:
5612           Add more missing symbols, remove some duplicates, and sort
5613           as the 'sort' command sorts it (partially fixes #493983).
5614
5615 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5616
5617         * gst/gstelement.c: (gst_element_set_state_func):
5618         Only change the state cookie if a different state was set on the
5619         element. See #492729.
5620
5621 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5622
5623         * gst/gstvalue.c:
5624           Remove unused and uninitialised type variables that were still
5625           exported for some reason (they were never in any header files
5626           though).
5627
5628 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5629
5630         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
5631         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
5632         (gst_base_sink_event), (gst_base_sink_get_position_last),
5633         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
5634         (gst_base_sink_change_state):
5635         Don't try to report a 0 position when we don't know, return -1 and FALSE
5636         instead. This mostly happens when we are prerolling.
5637         Make sure we can report the right position before we post the ASYNC_DONE
5638         message so that a message handler can query position without races.
5639
5640         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
5641         (async_done_handoff), (async_done_func), (send_buffer),
5642         (async_done_eos_func), (gst_sinks_suite):
5643         Add two tests for the above.
5644
5645 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5646
5647         * MAINTAINERS:
5648         Update with new email address.
5649
5650         * docs/design/part-TODO.txt:
5651         Add some more info about future pad-block and negotiation changes.
5652
5653         * docs/design/part-buffering.txt:
5654         Add some ideas about buffering reporting.
5655
5656 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
5657
5658         * tests/check/gst/gstobject.c:
5659         Disable silly racy test that always fails on this combination of CPU
5660         and kernel.
5661
5662 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
5663
5664         Patch by: Murray Cumming  <murrayc@murrayc.com>
5665
5666         * gst/gstobject.c:
5667           Corrected the registration of the parent-set and parent-unset
5668           signals: The parameter is a GstObject, not a GObject (#493134).
5669
5670 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5671
5672         * gst/gst_private.h:
5673         * gst/gstbuffer.h:
5674         * gst/gstevent.h:
5675         * gst/gstformat.h:
5676         * gst/gstmessage.h:
5677         * gst/gstplugin.h:
5678         * gst/gstquery.h:
5679         * gst/gsttaglist.h:
5680         * gst/gstvalue.h:
5681           Move declaration of private _gst_foo_initialize() functions into
5682           our private header file where they should have been all along.
5683
5684 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5685
5686         * docs/plugins/gstreamer-plugins-sections.txt:
5687         * gst/gstdebugutils.h:
5688         * gst/gstxml.h:
5689         * plugins/elements/gstqueue.c:
5690           gtk-doc fixes; trailing-comma-in-enum fix.
5691
5692 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5693
5694         * gst/gst.c: (gst_deinit):
5695           Clean up on deinit (not the external ones though, doesn't seem to be
5696           needed for some reason).
5697
5698 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5699
5700         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
5701           Remove __declspec(dllimport) for MSVC that was copied over into core
5702           from a plugin, obviously without ever having been tested (note the
5703           single underscore in _declspec in the initial commit), and that doesn't
5704           really make sense.  See #492077.
5705
5706 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5707
5708         * gst/gst.c: (init_post):
5709         * gst/gstevent.c: (_gst_event_initialize):
5710         * gst/gstquery.c: (_gst_query_initialize):
5711         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
5712           g_type_class_ref() other types as well, see #349410 and #64764.
5713
5714         * gst/gstbuffer.c: (_gst_buffer_initialize):
5715         * gst/gstmessage.c: (_gst_message_initialize):
5716           Simplify existing g_type_class_ref().
5717
5718 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5719
5720         * gst/gstformat.c: (_gst_format_initialize):
5721           g_type_class_ref() our GstFormat type to make sure we avoid the
5722           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
5723           bug #64764. Should fix intermittent tee unit test failures (#474823).
5724
5725 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5726
5727         * tests/check/elements/tee.c: (test_num_buffers):
5728           Simplify, simplify, simplify - or not.  Rewrite unit test
5729           not to use gst_parse_launch(); allow N sub-streams. Increasing
5730           the number of sub-streams seems to reproduce #474823 more easily.
5731
5732 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
5733
5734         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
5735
5736         * gst/gsttrace.c:
5737         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
5738         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
5739         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
5740           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
5741           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
5742           so use _pipe() directly (#492077).
5743
5744         * win32/common/dirent.c: (_treaddir):
5745           Add a couple of casts to make it build without warnings with MSVC.
5746
5747         * win32/common/libgstreamer.def:
5748           Add some more symbols that need to be exported.
5749
5750 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
5751
5752         * tests/examples/metadata/read-metadata.c: (message_loop):
5753           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
5754           arriving in a second or third tag message are added to
5755           the tag list as well.
5756
5757 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
5758
5759         * libs/gst/base/gstbasesrc.c:
5760           Its "Since:" and not "@Since:". And remove an superflous cast.
5761
5762 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
5763
5764         * docs/libs/gstreamer-libs-sections.txt:
5765         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5766         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
5767         (gst_base_sink_get_property), (gst_base_sink_render_object),
5768         (gst_base_sink_preroll_object),
5769         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
5770         (gst_base_sink_change_state):
5771         * libs/gst/base/gstbasesink.h:
5772         Add a new last-buffer property that contains the last buffer used in
5773         basesink for preroll or rendering. useful for making snapshots.
5774         API: gst_base_sink_get_last_buffer()
5775         API: GstBaseSink::last-buffer
5776
5777 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
5778
5779         * docs/gst/running.xml:
5780         * gst/gst.c:
5781         * gst/gstdebugutils.c:
5782         * gst/gstdebugutils.h:
5783         * tools/gst-launch.c:
5784           Improve bin graph dumping, by using the envvar to specify a path.
5785           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
5786
5787 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
5788
5789         * plugins/elements/gsttypefindelement.c:
5790           (gst_type_find_element_handle_event),
5791           (gst_type_find_element_activate):
5792           Post special error message if we can't determine the type of a stream
5793           because it's empty.
5794
5795 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
5796
5797         * docs/gst/running.xml:
5798         * gst/gstdebugutils.c:
5799           Document new env-var. Add one log-line after dumpng a graph.
5800
5801 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
5802
5803         * configure.ac:
5804           Ugly hack to put the (recently removed and non-portable, apparently)
5805           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
5806           GNU ld, because without that 'make check' fails miserably on my debian
5807           stable box.  Someone with more knowledge of linker intricacies and
5808           portability issues than me fix this properly please.
5809
5810 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
5811
5812         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
5813         Reset last seen position after flushing so that we don't report the old
5814         position anymore.
5815
5816 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
5817
5818         * gst/gstelementfactory.c: (gst_element_register):
5819         * gst/gsturi.h:
5820         Patch from Alessandro Decina adding get_type_full and
5821         get_protocols_full private vfuncs to the URIHandler interface
5822         to allow bindings to support creating URI handlers. 
5823         Partially fixes: #339279
5824         API: GstURIHandlerInterface::get_type_full
5825         API: GstURIHandlerInterface::get_protocols_full
5826
5827 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
5828
5829         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
5830         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
5831         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
5832         Make it so that pads are considered linked until a buffer is pushed
5833         and discovered otherwise. This avoids problems with decodebin2 hanging
5834         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
5835         case.
5836
5837         Make sure we lock the multiqueue when updating the max-size properties.
5838         
5839         Fix a crash on Solaris in a debug statement in get_request_pad that
5840         passes a NULL string to GST_DEBUG. 
5841
5842         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
5843         (run_output_order_test):
5844         Fix the test to allow the first buffer on not-linked pads to come out
5845         of sequence while multiqueue discovers that they are not-linked.
5846
5847 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
5848
5849         * configure.ac:
5850         * libs/gst/check/Makefile.am:
5851         Use a custom export symbol regex for libgstcheck, as it needs
5852         to export symbols that don't match the standard GStreamer gst_*
5853         pattern, and  --export-dynamic is not portable (only works on 
5854         GNU ld)
5855
5856         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
5857         (gst_check_setup_sink_pad):
5858         Make sure to pass a message parameter to the fail_* macros.
5859
5860         * tests/check/gst/gstinfo.c: (GST_START_TEST):
5861         Fix some compiler warnings.
5862
5863 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
5864
5865         * tests/check/gst/gststructure.c: (test_to_string):
5866           Disable test that checks that white spaces are not allowed
5867           in structure names or field names, since we need to
5868           support that for now for backwards compatibility reasons.
5869
5870 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
5871
5872         * docs/gst/gstreamer-sections.txt:
5873         * gst/gsttaglist.c:
5874         * gst/gsttaglist.h:
5875           API: add GST_TAG_ARTIST_SORTNAME
5876           API: add GST_TAG_ALBUM_SORTNAME
5877           API: add GST_TAG_TITLE_SORTNAME
5878           Add tag variants for sorting (#414539).
5879
5880 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
5881
5882         * gst/gststructure.c:
5883           Also allow white space for names so we don't break
5884           backwards compatibility.
5885
5886 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
5887
5888         * docs/design/part-TODO.txt:
5889         * docs/design/part-segments.txt:
5890         * docs/design/part-streams.txt:
5891         Small updates.
5892
5893 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
5894
5895         * docs/gst/gstreamer-sections.txt:
5896          Fixed documentation from my previous commit (added new API add
5897          gst_value_set_structure(), add gst_value_get_structure() and
5898          GST_VALUE_HOLDS_STRUCTURE).
5899
5900 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
5901
5902         * gst/gstdebugutils.c:
5903           Reflow code to fix uninitialized variable warning.
5904
5905 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
5906
5907         * gst/gstcaps.c: (gst_caps_to_string),
5908         (gst_caps_from_string_inplace):
5909         * gst/gststructure.c: (gst_structure_get_abbrs),
5910         (gst_structure_to_string), (gst_structure_from_string):
5911         * gst/gstvalue.c: (gst_value_set_structure),
5912         (gst_value_get_structure), (gst_value_serialize_structure),
5913         (gst_value_deserialize_structure), (_gst_value_initialize):
5914         * gst/gstvalue.h:
5915         * tests/check/gst/gststructure.c: (GST_START_TEST),
5916         (gst_structure_suite):
5917         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5918          Added GstStructure to gst_value_table and its related functions.
5919          Changed gst_structure_to_string to print ';' in the end.
5920          Changed gst_caps_to_string to not print ';' beteween its
5921          fields (structures) anymore and remove the lastes ';' from latest
5922          structure. Now it is possible to have nested structures.
5923          In addition, backward compatibilty is assured by accepting '\0' as
5924          end delimiter. Fixes: #487969.
5925          API: add gst_value_set_structure()
5926          API: add gst_value_get_structure()
5927          API: add GST_VALUE_HOLDS_STRUCTURE
5928
5929 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
5930
5931         * gst/gstbus.c:
5932           When no GSource callback has been set up, tell developer
5933           to use a function that actually exists.
5934
5935 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
5936
5937         * docs/gst/gstreamer-sections.txt:
5938         * gst/Makefile.am:
5939         * gst/gst.c:
5940         * gst/gst.h:
5941         * gst/gstdebugutils.c:
5942         * gst/gstdebugutils.h:
5943         * gst/gstinfo.c:
5944         * gst/gstinfo.h:
5945         * tools/gst-launch.c:
5946           Allow dumping pipelines as dot graphs. Fixes #456573.
5947
5948 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
5949
5950         * gst/gststructure.c:
5951           Allow '+' as well, it can be part of media or mime types
5952           such as image/svg+xml.
5953
5954 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
5955
5956         * docs/gst/gstreamer-sections.txt:
5957         * gst/gstbus.c:
5958         * gst/gstbus.h:
5959           API: add gst_bus_pop_filtered
5960           API: add gst_bus_timed_pop_filtered
5961           Two new functions for waiting for specific message types on the
5962           bus for a specified amount of time without iterating any main
5963           loops or main contexts.
5964
5965         * tests/check/gst/gstbus.c:
5966           Some tests for the new functions.
5967
5968 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
5969
5970         * docs/libs/gstreamer-libs-sections.txt:
5971           Make gtk-doc ignore stuff it should ignore.
5972
5973 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
5974
5975         * libs/gst/check/gstcheck.c:
5976         * libs/gst/check/gstcheck.h:
5977           Allow runtime selection of unit tests to run via the GST_CHECKS
5978           environment variable (test case function names, comma-separated).
5979
5980 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
5981
5982         * gst/gststructure.c:
5983         * tests/check/gst/gststructure.c:
5984           Revert serialisation change and constrain structure-names after
5985           consensus on irc. Update api documentation to reflect the change.
5986
5987 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
5988
5989         * gst/gststructure.c:
5990           Improve serialization and fix tests.
5991
5992         * tests/check/gst/gststructure.c:
5993           Add another test that covers why I actually did the previous structure
5994           change.
5995
5996 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
5997
5998         * tools/gst-inspect.c: (print_element_info):
5999         Don't crash when inspecting an element.
6000
6001 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6002
6003         * tests/check/gst/gststructure.c:
6004           Add unit test for escaping of structure name when serialising
6005           and deserialising to/from strings.
6006
6007 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6008
6009         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6010         (gst_single_queue_new):
6011         * plugins/elements/gstqueue.c: (gst_queue_init),
6012         (gst_queue_push_one):
6013         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
6014         upstream is tricked into thinking it can suggest a format downstream
6015         while downstream does not support that format. The real problem is that
6016         core calls acceptcaps when pushing a buffer with new caps, for which we
6017         do a little workaround by setting the caps on the srcpad ourselves
6018         before pushing the buffer (until this is figured out). Fixes #486758.
6019
6020 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6021
6022         * gst/gststructure.c:
6023         * gst/gstvalue.c:
6024           Add some more comments and debug output. Quote structure name to fix
6025           deserialisation of some strings.
6026
6027 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6028
6029         * gst/gstbuffer.h:
6030           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
6031           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
6032
6033 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6034
6035         * tools/gst-inspect.c:
6036           Save approx. 400 1 byte allocs when printing. Use API to acces element
6037           details.
6038
6039         * tools/gst-run.c:
6040           Avoid a strdup.
6041
6042         * tools/gst-xmlinspect.c:
6043           Use API to acces element details.
6044
6045 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6046
6047         * gst/gstinfo.c:
6048           Fix some spelling errors.
6049
6050 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
6051
6052         * gst/gstbin.c: (bin_handle_async_done):
6053         Correctly set the next state if all of our async children commited their
6054         state. This makes sure we can actually cancel the state change in
6055         progress. Fixes a regression in Rhythmbox when seeking.
6056
6057 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6058
6059         * gst/gstbin.c:
6060           Don't shadow local variable.
6061
6062         * gst/gstinfo.c:
6063           Don't shadow global function name.
6064
6065 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6066
6067         * gst/gstelementfactory.c:
6068         * gst/gstpluginfeature.c:
6069         * gst/gstpluginfeature.h:
6070         * gst/gstregistrybinary.c:
6071         * gst/gstregistryxml.c:
6072         * gst/gsttypefind.c:
6073           Use already-interned string for the private GstPluginFeature
6074           plugin_name field.
6075
6076 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6077
6078         * docs/libs/gstreamer-libs-sections.txt:
6079           Add new API to docs; fixes the build.
6080
6081 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
6082         
6083         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
6084
6085         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
6086         (gst_base_sink_event):
6087         * libs/gst/base/gstbasesink.h:
6088         Add function to wait for EOS, subclasses can use this to correctly wait
6089         for devices to drain before performing the EOS logic. Fixes #485343.
6090         API: gst_base_sink_wait_eos()
6091
6092 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6093
6094         * gst/gstplugin.h:
6095           Cast description string constants in GST_PLUGIN_DEFINE macros
6096           to a (gchar*) to make C++ code using these macros compile
6097           without warning with g++-4.2 (see #462737).  Even if slightly
6098           ugly, this seems preferable to putting the description strings
6099           into the GLib quark table or making the structure member a
6100           const gchar * and doing casts in core code that allocs and
6101           frees these strings, or requiring a cast in the C++ code.
6102
6103 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6104
6105         * gst/gstinfo.h:
6106           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
6107           to print the entire class/function signature into the log
6108           file for C++ code.  This only affects C++ code, for C code
6109           everything remains the same.
6110
6111 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
6112
6113         * gst/gstbin.c: (remove_from_queue):
6114         Work around a problem with pipelines containing (semi)loops until a
6115         proper, more complicated solution is ready. See #475455.
6116
6117 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6118
6119         * gst/gstplugin.c:
6120         * gst/gstplugin.h:
6121         * gst/gstregistrybinary.c:
6122         * gst/gstregistryxml.c:
6123           Put more strings into the GLib quark table. No need to keep
6124           a hundred-something copies of identical version strings,
6125           license strings, package name strings and package origin
6126           strings around. 
6127
6128 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6129
6130         * docs/manual/advanced-dataaccess.xml:
6131           Don't imply that it's okay to unconditionally change
6132           buffer data or buffer metadata in a pad probe callback,
6133           and a bunch of other comments. Fixes #430031.
6134
6135 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6136
6137         * win32/common/gstenumtypes.c:
6138         * win32/common/gstenumtypes.h:
6139         * win32/common/gstversion.h:
6140           Update generated files.
6141
6142 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6143
6144         * docs/manual/advanced-autoplugging.xml:
6145           Prefix section with broken code with a warning (see #342432).
6146
6147 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6148
6149         * docs/manual/appendix-integration.xml:
6150         * docs/manual/basics-init.xml:
6151           Call g_thread_init() before g_option_context_new() to
6152           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
6153
6154 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6155
6156         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6157         (gst_base_sink_queue_object_unlocked),
6158         (gst_base_sink_queue_object), (gst_base_sink_event),
6159         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
6160         When we received EOS and are waiting for when to post the EOS message,
6161         our state is prerolled and we should not return ASYNC.
6162         Reorganize some code paths to implement this behavior.
6163
6164         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6165         (gst_sinks_suite):
6166         Add unit test to verify above EOS fix.
6167
6168 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6169
6170         * plugins/elements/gsttypefindelement.c:
6171         (gst_type_find_element_have_type), (gst_type_find_element_init),
6172         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
6173         Move detecting the input caps of the sinkpad to the setcaps function.
6174         This allows us to update the output caps when we receive new input caps
6175         instead of always using the first detected caps.
6176
6177 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6178
6179         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6180         (gst_base_sink_get_position):
6181         Don't try to preroll non-async elements after a flush.
6182         Subtract latency form clock times when reporting position.
6183
6184 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6185
6186         * gst/gstpad.c: (gst_pad_pause_task):
6187         * gst/gstutils.c:
6188         Small comment and documentation update.
6189
6190 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6191
6192         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6193         (gst_base_src_set_live), (gst_base_src_is_live),
6194         (gst_base_src_query_latency), (gst_base_src_perform_seek),
6195         (gst_base_src_default_event), (gst_base_src_wait),
6196         (gst_base_src_do_sync), (gst_base_src_get_range),
6197         (gst_base_src_pad_get_range), (gst_base_src_loop),
6198         (gst_base_src_unlock), (gst_base_src_unlock_stop),
6199         (gst_base_src_set_flushing), (gst_base_src_set_playing),
6200         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6201         (gst_base_src_change_state):
6202         Rework the locking of basesrc in a similar fashion to basesink. We
6203         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
6204         us to handle live sources and semi live ones much better.
6205         Simplify flushing.
6206         Fix unlocking when seeking, shutting down and pausing in live sources.
6207
6208 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6209
6210         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
6211         Fix compilation again.
6212
6213 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6214
6215         * gst/gstelement.c:
6216           Use meaningful categories for the logs to clean the default one.
6217
6218 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6219
6220         * tests/check/pipelines/cleanup.c:
6221           Print message name and not just number.
6222
6223 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6224
6225         * docs/design/draft-tagreading.txt:
6226           Add some more thoughts.
6227
6228 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6229
6230         * tests/check/pipelines/simple-launch-lines.c:
6231           Print message name and not just number.
6232
6233 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6234
6235         * libs/gst/base/gsttypefindhelper.c:
6236           Speedup typefinding. This is work in progress (see #459862).
6237
6238 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6239
6240         * gst/gstplugin.c:
6241           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
6242           Spotted by Josep Torra Valles <josep@fluendo.com>.
6243
6244 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
6245
6246         * gst/gstclock.h:
6247           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
6248           field has moved to GstObject.
6249
6250 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
6251
6252         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
6253         (gst_base_src_get_range), (gst_base_src_change_state):
6254         Call unlock for live sources so that they can't get stuck in _create and
6255         produce a buffer before they are set back to PLAYING.
6256
6257 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
6258
6259         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6260         (gst_queue_locked_dequeue):
6261         Comment the segment-related code... in the PROPER function.
6262         See #482147 and my commit from yesterday.
6263
6264 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
6265
6266         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6267         Also initialize the counter that calculates the first timestamp on a
6268         buffer correctly for non-live sources.
6269
6270 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
6271
6272         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
6273         Disable code that's breaking the current-time-level reporting.
6274         See #482147
6275
6276 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
6277
6278         * docs/gst/gstreamer-sections.txt:
6279         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
6280         as they shouldn't show up. Fixes the docs build.
6281
6282 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
6283         
6284         * gst/gstinfo.h:
6285         Add an explicit variable importation needed on VS6 (only for MSC_VER)
6286         Define M_PI which is used in files which are including gstinfo.h. 
6287         VS6 includes doesn't define it.
6288         * win32/common/libgstbase.def:
6289         * win32/common/libgstcontroller.def:
6290         * win32/common/libgstreamer.def:
6291         Add new exported functions and variables.
6292         * win32/vs6/libgstcontroller.dsp:
6293         * win32/vs6/libgstreamer.dsp:
6294         Update the list of files to build.
6295         
6296 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6297
6298         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6299
6300         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
6301         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
6302         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
6303         Improve debugging. Fixes #480858.
6304
6305 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6306
6307         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6308
6309         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6310         First patch of code cleanups, use the macros and right arguments in the
6311         macros to signal and lock the queue. See #480858.
6312
6313 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
6314
6315         * gst/gstbus.c: (poll_func):
6316         Improve debugging when dealing with _poll().
6317
6318 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6319
6320         * gst/gstregistryxml.c:
6321           Fix memory leak I introduced a few days ago.
6322
6323 2007-09-26  Michael Smith <msmith@fluendo.com>
6324
6325         * gst/gstbuffer.c: (gst_buffer_finalize):
6326           Make it once again possible to free GstBuffers in the default
6327           build.
6328           The poisoning scribbles on parts of the miniobject we need in
6329           order to free it.
6330           Fixes #480341
6331
6332 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6333
6334         * docs/gst/gstreamer-sections.txt:
6335         * gst/gsttaglist.c:
6336         * gst/gsttaglist.h:
6337         API: add GST_TAG_COMPOSER, fixes #459809.
6338
6339 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
6340
6341         * gst/gstplugin.c:
6342         * gst/gstplugin.h:
6343         Add the 3-clause BSD license and the MIT/X11 license to the license
6344         list. Fixes #479784.
6345
6346 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6347
6348         * docs/faq/getting.xml:
6349           Add Q+A about different GStreamer versions (#364056).
6350
6351 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6352
6353         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6354         (gst_base_sink_event), (gst_base_sink_change_state):
6355         Return correct gboolean from query function.
6356
6357 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6358
6359         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6360         (gst_base_sink_event), (gst_base_sink_query),
6361         (gst_base_sink_change_state):
6362         Simplify latency query.
6363         When not synchronizing, we can report latency without querying the peer
6364         element.
6365
6366 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6367
6368         * gst/gstobject.h:
6369         * gst/gstvalue.c:
6370         Fix small typos in the docs.
6371
6372 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6373
6374         * docs/design/draft-latency.txt:
6375         * docs/design/draft-push-pull.txt:
6376         * docs/design/draft-tagreading.txt:
6377         * docs/design/part-MT-refcounting.txt:
6378         * docs/design/part-activation.txt:
6379         * docs/design/part-block.txt:
6380         * docs/design/part-element-source.txt:
6381         * docs/design/part-events.txt:
6382         * docs/design/part-gstbin.txt:
6383         * docs/design/part-gstelement.txt:
6384         * docs/design/part-gstobject.txt:
6385         * docs/design/part-gstpipeline.txt:
6386         * docs/design/part-messages.txt:
6387         * docs/design/part-preroll.txt:
6388         * docs/design/part-push-pull.txt:
6389         * docs/design/part-qos.txt:
6390         * docs/design/part-query.txt:
6391         * docs/design/part-scheduling.txt:
6392         * docs/design/part-seeking.txt:
6393         * docs/design/part-segments.txt:
6394         * docs/design/part-states.txt:
6395         Documentation updates and typo fixes.
6396
6397 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6398
6399         * plugins/elements/gstfakesink.c:
6400           Add some debug text to error message to indicate that
6401           we errored out on request.
6402
6403         * tools/gst-launch.c:
6404           When the state change to PLAYING fails, check for an
6405           error message on the bus and print it.
6406
6407 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6408
6409         translated by: Jorge González González <aloriel@gmail.com>
6410
6411         * po/LINGUAS:
6412         * po/es.po:
6413           Added Spanish translation.
6414
6415 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
6416
6417         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6418         Fix printf arguments.
6419
6420 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6421
6422         * tests/check/generic/states.c:
6423           Improved state change unit test.
6424
6425 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6426
6427         * gst/gstbin.h:
6428           Move priv to the right place.
6429
6430         * gst/gstsystemclock.c:
6431           Add FIXME: and improve log.
6432
6433         * tests/check/Makefile.am:
6434         * tests/examples/manual/Makefile.am:
6435           Work with all types of registries.
6436
6437 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
6438
6439         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6440         Don't unref the event after pushing it. Fixes #478401.
6441
6442 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6443
6444         * .cvsignore:
6445         * tests/examples/manual/.cvsignore:
6446           Ignore registries in any format.
6447
6448 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6449
6450         * gst/glib-compat-private.h:
6451           Add compatibility macro for g_intern_string() for
6452           GLib-2.8 (any reason we can't just bump the
6453           requirement to at least 2.10?)
6454
6455         * gst/gstpadtemplate.h:
6456         * gst/gstelementfactory.c:
6457         * gst/gstregistryxml.c:
6458         * gst/gstregistrybinary.c:
6459           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
6460           up the internal code accordingly.  This shouldn't be a problem, since
6461           there is no reason external code could ever assume the string in such
6462           a structure is dynamically allocated unless it did that itself;  the
6463           use of g_strdup() is private to element factories.  The new code also
6464           saves some memory by putting pad template name strings into the GLib
6465           quark table instead of allocating them dynamically.
6466           Declaring this field constant fixes warnings with g++-4.2 when using
6467           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
6468
6469 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6470
6471         * gst/gstelementfactory.c:
6472           Release static caps. Fixes #475723.
6473
6474 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
6475
6476         * gst/gstinfo.c:
6477         * gst/gstinfo.h:
6478           Make some internal API take const gchar * instead of just
6479           gchar * to avoid compiler warnings with g++-4.2.2 when
6480           passing string constants (partially fixes #478092).
6481
6482 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6483
6484         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
6485         A latency query fails when one of the sinks fail.
6486
6487         * gst/gstelement.c: (gst_element_set_base_time):
6488         Improve debugging.
6489
6490 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
6491
6492         * gst/gstbin.c: (gst_bin_continue_func):
6493         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6494         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
6495         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
6496
6497         Fix minor compilation warnings shown with Forte.
6498
6499 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6500
6501         * plugins/elements/gstqueue.c: (apply_buffer),
6502         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
6503         Measure queue level based on the diff between head and tail timestamps
6504         even when pushing the first buffer.
6505
6506 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6507
6508         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6509         (gst_base_sink_event), (gst_base_sink_change_state):
6510         Sinks that don't preroll can always be queried for the latency.
6511         Don't post ASYNC start when we are not async.
6512
6513 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6514
6515         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6516         (gst_queue_handle_sink_event), (gst_queue_chain),
6517         (gst_queue_push_one), (gst_queue_handle_src_query),
6518         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
6519         * plugins/elements/gstqueue.h:
6520         When downstream returns UNEXPECTED from pushing a buffer, don't try to
6521         push more buffers but allow pushing of EOS and NEWSEGMENT.
6522         Add some more debug info here and there. Fixes #476514.
6523
6524 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6525
6526         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6527         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
6528         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6529         (gst_base_sink_set_flushing), (gst_base_sink_query),
6530         (gst_base_sink_change_state):
6531         Latency query is allowed after we are prerolled. Introduce a new flag
6532         for this and stop abusing other variables.
6533
6534 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6535
6536         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6537         Push OOB events downstream when we get them in send_event. This allows
6538         the application to insert events in the pipeline.
6539         Add some more comments.
6540
6541 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6542
6543         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
6544         (do_bin_latency), (gst_bin_change_state_func):
6545         * gst/gstpipeline.c: (gst_pipeline_change_state):
6546         Move latency query from GstPipeline to GstBin so that we can also
6547         use it when async-handling is enabled on bins.
6548
6549 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6550
6551         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6552         (gst_base_src_do_sync), (gst_base_src_change_state):
6553         Update docs.
6554         Clean up the timestamping and syncing code for pseudo live sources.
6555
6556 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
6557
6558         Patch by: Steve Fink  <sphink gmail com>
6559
6560         * docs/manual/appendix-checklist.xml:
6561           Mention less -R switch in the section about debug output (#474055).
6562
6563 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6564
6565         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6566         Queue can latency to the pipeline up to the configured max size in time.
6567         Report this fact in the latency query.
6568
6569 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6570
6571         Patch by: Sebastien Moutte <sebastien at moutte dot net>
6572
6573         * libs/gst/controller/gstinterpolation.c:
6574         * libs/gst/controller/gstlfocontrolsource.c:
6575         Use gst_guint64_to_gdouble() when converting from a uint64 or
6576         GstClockTime to double to fix the build on win32. Fixes #474371.
6577
6578 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6579
6580         * gst/gstbuffer.c: (gst_buffer_finalize):
6581         Implement poisoning for GstBuffer if --enable-poisoning is specified.
6582         When finalizing a buffer the complete struct is filled with 0xff,
6583         thus making a use of the buffer after the final unref impossible.
6584
6585 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6586
6587         * tests/check/libs/controller.c: (GST_START_TEST):
6588         Use fail_unless_equals_int(a, b) instead of
6589         fail_unless_equals (a == b) to get better output on failures.
6590
6591 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
6592
6593         * tests/check/gst/gsturi.c:
6594           Also check for the other file URI variant on win32.
6595
6596 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
6597
6598         * gst/gsturi.c: (gst_uri_get_location):
6599           If there's no hostname, we want to return 'c:/foo/bar.txt'
6600           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
6601
6602         * tests/check/gst/gsturi.c:
6603           Unit test for the above and a few more things.
6604
6605 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
6606
6607         * docs/design/part-live-source.txt:
6608         Add docs on how live sources should timestamp.
6609
6610         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6611         Add some more debug info.
6612         For subclasses that are live and like to sync, add aditional startup
6613         latency to sync time and timestamps so that we timstamp according to the
6614         design doc.
6615
6616 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
6617
6618         * gst/gstbuffer.c:
6619           Also do a g_type_class_ref() for the subbuffer type in
6620           the init function.
6621
6622 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
6623
6624         * docs/gst/gstreamer-sections.txt:
6625         * gst/gstpad.c: (gst_pad_peer_query):
6626         * gst/gstpad.h:
6627         Add function to perform a query on the peer of a pad.
6628         API: gst_pad_peer_query()
6629
6630 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
6631
6632         * tests/check/gst/gstsystemclock.c:
6633           Cleanup the test a little (use gst-logging and not g_message). Improve
6634           test to check if a wait reached the target.
6635
6636 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
6637
6638         * docs/libs/gstreamer-libs-sections.txt:
6639           Add new API to docs and fix the build.
6640
6641 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
6642
6643         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6644         (gst_base_src_init), (gst_base_src_set_do_timestamp),
6645         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
6646         (gst_base_src_get_property), (gst_base_src_do_sync):
6647         * libs/gst/base/gstbasesrc.h:
6648         Add property to make the basesrc timestamp buffers based on the current
6649         running time.
6650         API: GstBaseSrc::do-timestamp
6651         API: gst_base_src_set_do_timestamp()
6652         API: gst_base_src_get_do_timestamp()
6653
6654 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
6655
6656         * docs/random/release:
6657           Really make sure translations are up-to-date before
6658           a release (#465010).
6659
6660 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
6661
6662         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6663         Always destroy the timer, also in error cases.
6664
6665 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
6666
6667         * docs/manual/highlevel-xml.xml:
6668         Fix XML example code. Fixes #472714.
6669
6670 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
6671
6672         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6673         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6674         (gst_base_sink_query):
6675         Protect eos and have_preroll with the OBJECT lock so we don't need to
6676         take the PREROLL lock when querying the latency. Fixes #473846.
6677
6678 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
6679
6680         * gst/gstelement.c:
6681           Give some log-messages a category.
6682
6683 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
6684
6685         * gst/gststructure.c:
6686         (gst_structure_fixate_field_nearest_fraction):
6687         Fix fraction list fixation code. Take the fraction with the smallest
6688         difference with the target instead of the first one in the list.
6689
6690         * tests/check/gst/gststructure.c: (GST_START_TEST),
6691         (gst_structure_suite):
6692         Added test to verify correct fraction list fixation behaviour.
6693
6694 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
6695
6696         * win32/common/libgstreamer.def:
6697           Export gst_bus_add_signal_watch too.
6698
6699 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
6700
6701         * docs/libs/gstreamer-libs-sections.txt:
6702         Add new methods to docs.
6703
6704         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6705         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
6706         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
6707         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
6708         * libs/gst/base/gstbasesink.h:
6709         Add ts-offset property to fine-tune the synchronisation.
6710         API: GstBaseSink::ts-offset property
6711         API: gst_base_sink_set_ts_offset()
6712         API: gst_base_sink_get_ts_offset()
6713
6714 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
6715
6716         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6717         (gst_base_sink_init), (gst_base_sink_set_sync),
6718         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
6719         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
6720         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
6721         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
6722         (gst_base_sink_get_property), (gst_base_sink_change_state):
6723         * libs/gst/base/gstbasesink.h:
6724         Add async property to instruct the sink never to inform the parent about
6725         ASYNC state changes, update docs.
6726         Check argument with g_return_* for the public functions.
6727         API: GstBaseSink::async property
6728         API: gst_base_sink_set_async_enabled()
6729         API: gst_base_sink_is_async_enabled()
6730
6731 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
6732
6733         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
6734         Improve debugging.
6735
6736         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6737         (gst_base_src_default_query), (gst_base_src_wait),
6738         (gst_base_src_do_sync), (gst_base_src_change_state):
6739         Rearrange some code so that we can add support for measuring the 
6740         startup latency.
6741
6742 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
6743
6744         * docs/random/ensonic/dynlink.txt:
6745           More thoughs on this.
6746
6747         * plugins/elements/gstcapsfilter.c:
6748           Add bugzilla ticket number to FIXME comment.
6749
6750 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
6751
6752         * docs/design/part-TODO.txt:
6753         * docs/design/part-block.txt:
6754         Update some docs.
6755
6756 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6757
6758         * gst/Makefile.am:
6759           Revert patch which uses $(gst_headers) instead of $^ because it
6760           breaks make dist.
6761
6762 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6763
6764         * tests/check/gst/gstbin.c: (GST_START_TEST):
6765           Fix leaks in the new unit test.
6766
6767 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
6768
6769         * gst/gst.c:
6770           Don't use GST_INFO before the debug system is actually initialised
6771           (shouldn't do any harm, but won't print anything either, so we can
6772           just as well remove it).
6773
6774         * gst/gstinfo.h:
6775           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
6776           compilers that don't support variadic macros (such as MSVC), should
6777           check for debug_level <= __gst_debug_min as well, since that's the
6778           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
6779           inline helper functions. Should improve performance a bit, but also
6780           makes sure uses of GST_INFO et.al are ignored if the debugging
6781           system isn't initialised yet (instead of printing an assertion
6782           failure).
6783
6784 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
6785
6786         patch by: David Nečas <yeti@physics.muni.cz>
6787
6788         * gst/Makefile.am:
6789           Replace some non portable makefile constructs.
6790
6791 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
6792
6793         * common/gtk-doc-plugins.mak:
6794           Grrrrr. Don't remove the types file on make clean.
6795
6796 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
6797
6798         * tools/gst-launch.1.in:
6799         Add colorspace to example pipeline. Fixes #458274.
6800
6801 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
6802
6803         * docs/random/release:
6804           The release manager should run 'make download-po' before making a
6805           release to make sure translations are up-to-date.
6806
6807         * po/LINGUAS:
6808         * po/be.po:
6809         * po/pl.po:
6810         * po/rw.po:
6811           Add some new translations.
6812
6813 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
6814
6815         * tools/gst-launch.c: (event_loop), (main):
6816         Don´t try to do any state management when a live pipeline posts
6817         buffering messages.
6818         Also make the buffering string translatable.
6819
6820 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
6821
6822         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
6823         (bin_handle_async_start), (gst_bin_handle_message_func):
6824         Improve debugging.
6825         When adding elements, insert messages into the bus of the newly added
6826         element and make sure the element is the source of the message. This
6827         allows the parent bin to intercept the message and do the
6828         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
6829         messages to the app (which is not allowed).
6830         Update some docs.
6831
6832         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6833         Fix testsuite so that is does not work around messages that should not
6834         have been posted in the first place.
6835
6836 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
6837
6838         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
6839         (update_degree), (gst_bin_sort_iterator_next):
6840         Fix annoying bug in the sorted iterator where a sink that is not really
6841         a sink (when it has downstream links) screwed up the iterator.
6842
6843         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6844         Unit test to verify the fix.
6845
6846 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
6847
6848         * gst/gstmessage.h:
6849         Add some more docs for the messages.
6850
6851         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6852         (gst_base_sink_query):
6853         Add some more debugging.
6854
6855         * tools/gst-launch.c: (event_loop):
6856         When interrupting, don't try to set pipeline to PAUSED twice.
6857
6858 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
6859
6860         
6861         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
6862         (bin_handle_async_start), (gst_bin_handle_message_func):
6863         Move ASYNC_START message posting to where it belongs, similar to
6864         async_done. 
6865         Don't post ASYNC_START when we are in error. 
6866         Post ASYNC_START when we added an async element to a bin.
6867
6868 2007-08-14  Julien MOUTTE  <julien@moutte.net>
6869
6870         * gst/gstindex.c: (gst_index_add_association): Fix index entry
6871         generation from vargs. Fixes #466595.
6872
6873 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
6874
6875         * gst/gstbin.c: (gst_bin_element_set_state):
6876         Always change the state of a NO_PREROLL element even if it has ASYNC
6877         elements inside (in case of a bin).
6878
6879         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
6880         Unit test for this case.
6881
6882 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
6883
6884         * libs/gst/check/gstbufferstraw.c:
6885         * libs/gst/check/gstcheck.h:
6886         * libs/gst/controller/gstcontroller.c:
6887         * libs/gst/controller/gstcontrolsource.h:
6888         * libs/gst/controller/gstlfocontrolsource.h:
6889         * plugins/elements/gstcapsfilter.h:
6890         * plugins/elements/gstfdsink.h:
6891         * plugins/elements/gstfdsrc.h:
6892           Add more missing docs.
6893
6894 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
6895
6896         * gst/gststructure.c:
6897         Add Since tag to docs.
6898
6899 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
6900
6901         * docs/gst/gstreamer-sections.txt:
6902         * gst/gststructure.c: (gst_structure_get_uint):
6903         * gst/gststructure.h:
6904         Add function to get uint from a structure.
6905         API: gst_structure_get_uint()
6906
6907 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
6908
6909         * gst/gstcaps.c: (gst_caps_set_simple_valist),
6910         (gst_caps_intersect):
6911         Fix proper check for simple caps.
6912
6913 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
6914
6915         * docs/gst/Makefile.am:
6916         * docs/libs/Makefile.am:
6917           Remove cruft and do some cleanups.
6918
6919         * docs/gst/gstreamer-docs.sgml:
6920         * docs/libs/gstreamer-libs-docs.sgml:
6921           Prepare for comming gtkdoc features (rebase against online docs).
6922
6923 2007-08-10  Michael Smith <msmith@fluendo.com>
6924
6925         * docs/gst/gstreamer-sections.txt:
6926           Add gst_registry_add_path to docs.
6927
6928 2007-08-10  Michael Smith <msmith@fluendo.com>
6929
6930         * gst/gstregistry.h:
6931           Add gst_registry_add_path, which was missing from this header.
6932
6933 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
6934
6935         * libs/gst/controller/gstlfocontrolsource.c:
6936           Printf format fix.
6937
6938 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
6939
6940         * libs/gst/base/gstbasesink.c:
6941           Don't send an async_start message during downwards state change if 
6942           target state is less than READY
6943
6944 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6945
6946         translated by: Gabor Kelemen <kelemeng@gnome.hu>
6947
6948         * po/LINGUAS:
6949         * po/hu.po:
6950           Added Hungarian translation.
6951
6952 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6953
6954         * po/fi.po:
6955         * po/it.po:
6956         * po/nl.po:
6957         * po/sv.po:
6958         * po/uk.po:
6959           Updated translations.
6960
6961 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
6962
6963         * libs/gst/controller/Makefile.am:
6964         Dist gstlfocontrolsourceprivate.h
6965
6966 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
6967
6968         * docs/libs/gstreamer-libs.types:
6969         Don't register the enum type gst_lfo_waveform_get_type() in the
6970         .types file - only GObject derived types belong.
6971
6972 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
6973
6974         Patch by: <arenevier at fdn dot fr>
6975
6976         * gst/gstbuffer.h:
6977         Remove comma from last element in enum to avoid compile errors when
6978         using -pendantic. Fixes #464366.
6979
6980 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
6981
6982         * docs/design/part-TODO.txt:
6983         Add some more TODO items
6984
6985         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
6986         Improve debugging.
6987
6988         * gst/gstcaps.c: (gst_caps_intersect):
6989         Optimize trivial intersection case between identical caps pointers.
6990
6991         * gst/gstelement.c: (gst_element_continue_state),
6992         (gst_element_set_state_func):
6993         * gst/gstpad.c:
6994         Fix spelling and grammar mistakes.
6995
6996 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
6997
6998         * po/POTFILES.in:
6999         * po/POTFILES.skip:
7000           Update POTFILES. Fixes #461599.
7001
7002 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7003
7004         * gst/gst.c:
7005         Fix confusing typo in debug output.
7006
7007 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7008
7009         reviewed by: Stefan Kost <ensonic@users.sf.net>
7010
7011         * libs/gst/controller/Makefile.am:
7012         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
7013         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
7014         (gst_lfo_control_source_new),
7015         (gst_lfo_control_source_set_waveform),
7016         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
7017         (gst_lfo_control_source_finalize),
7018         (gst_lfo_control_source_dispose),
7019         (gst_lfo_control_source_set_property),
7020         (gst_lfo_control_source_get_property),
7021         (gst_lfo_control_source_class_init):
7022         * libs/gst/controller/gstlfocontrolsource.h:
7023         * libs/gst/controller/gstlfocontrolsourceprivate.h:
7024         API: Add GstLFOControlSource, a control source that gives values
7025         for specific timestamps based on several periodic waveforms.
7026         Fixes #459717.
7027
7028         * tests/check/libs/controller.c: (GST_START_TEST),
7029         (gst_controller_suite):
7030         * docs/libs/gstreamer-libs-docs.sgml:
7031         * docs/libs/gstreamer-libs-sections.txt:
7032         * docs/libs/gstreamer-libs.types:
7033         Add documentation and unit tests for GstLFOControlSource.
7034
7035 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
7036
7037         * configure.ac:
7038         Back to CVS
7039
7040 === release 0.10.14 ===
7041
7042 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
7043
7044         * configure.ac:
7045           releasing 0.10.14, "Breathing Vacuum"
7046
7047 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
7048
7049         * gst/gstelement.c: (gst_element_class_set_details_simple):
7050         * gst/gstelement.h:
7051           Make strings passed to gst_element_class_set_details_simple()
7052           constant, as they should be (#462752).
7053
7054 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
7055
7056         * gst/gstbin.c: (gst_bin_change_state_func),
7057         (bin_handle_async_done), (gst_bin_handle_message_func):
7058         Don't forget about the fact that some element went ASYNC even after a
7059         resync. This makes us post the ASYNC_DONE message correctly.
7060         Fixes #462558.
7061
7062 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7063
7064         * gst/gstregistry.c: (gst_registry_add_feature):
7065         When replacing an existing feature in the registry, make sure to
7066         continue holding a reference until we've replaced the name string
7067         within our feature hash table. Make sure to use g_hash_table_replace
7068         instead of g_hash_table_insert to ensure the new name string is used
7069         as a key instead of the old one that we're about to free.
7070         Fixes: #462085
7071
7072 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7073
7074         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7075         (gst_plugin_feature_set_name):
7076         Revert patch from #459466 until after the release and we can work
7077         out exactly what the problem is (if any).
7078
7079 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7080
7081         * docs/gst/gstreamer-sections.txt:
7082         * gst/gsttaglist.c:
7083         * gst/gsttaglist.h:
7084           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
7085
7086 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7087
7088         * docs/libs/Makefile.am:
7089         Include our build-prefix libs and includes before the generic ones to
7090         avoid linking against the installed libs when we want the build-tree
7091         ones.
7092
7093 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7094
7095         Patch by: Steve Fink  <sphink gmail com>
7096
7097         * docs/pwg/building-testapp.xml:
7098           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
7099           if people try to build or install the example from the plugin
7100           template against a GStreamer from package using the configure
7101           defaults.
7102
7103 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
7104
7105         Patch by: Steve Fink  <sphink gmail com>
7106
7107         * tools/gst-inspect.1.in:
7108           Document --print-all and --print-plugin-auto-install-info command
7109           line options in man page.
7110
7111 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7112
7113         * docs/gst/gstreamer-sections.txt:
7114         Add docs for new api function.
7115
7116 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7117
7118         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
7119         * gst/gstelementfactory.h:
7120         API: gst_element_factory_has_interface()
7121         Added method to check if an element factory implements a named
7122         interface.
7123
7124 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
7125
7126         * configure.ac:
7127         * docs/gst/gstreamer.types.in:
7128           Another conditional doc check.
7129
7130         * gst/gstmessage.c:
7131         * gst/gstparamspecs.h:
7132         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7133         * gst/gstvalue.c:
7134         * gst/gstxml.h:
7135           API-doc fixes.
7136
7137 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7138
7139         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
7140         (gst_registry_binary_load_feature),
7141         (gst_registry_binary_load_plugin),
7142         (gst_registry_binary_read_cache):
7143           Print error just once and with additional info.
7144
7145 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7146
7147         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7148         (helper_find_suggest), (helper_find_get_length),
7149         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
7150         (gst_type_find_helper_for_buffer):
7151           Cleanup the typefindhelper code and add private doc comments.
7152
7153 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
7154
7155         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7156         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
7157         Fix capsfilter for cases where the caps set on capsfilter will provide
7158         additional information.
7159         Fixes #449197
7160
7161 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7162
7163         * gst/gsttypefindfactory.c:
7164           Fix docs that recommened wrong function to use.
7165
7166 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7167
7168         * tools/gst-inspect.c: (print_plugin_features):
7169           Also give media-type for typefinders in element output.
7170
7171 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7172
7173         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
7174         (gst_registry_remove_features_for_plugin_unlocked),
7175         (gst_registry_add_feature), (gst_registry_remove_feature),
7176         (gst_registry_lookup_feature_locked):
7177         * gst/gstregistry.h:
7178           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
7179           Fixes #459501.
7180
7181 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7182
7183         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7184         (gst_plugin_feature_set_name):
7185           Avoid double memory usage for pluginfeature names. Fixes #459466.
7186
7187 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7188
7189         * gst/gstpad.h:
7190           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
7191           driving the pipeline may need to explicitly check for NOT_LINKED as
7192           well, since IS_FATAL doesn't cover that.
7193
7194 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7195
7196         * docs/pwg/advanced-types.xml:
7197           Fix typo and duplicate entry in video formats list.
7198
7199 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
7200
7201         * libs/gst/controller/gstinterpolation.c:
7202         Also round to the nearest int when using cubic interpolation.
7203
7204 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
7205
7206         * libs/gst/controller/gstinterpolation.c:
7207         When linearly interpolating integer types, round to the nearest int
7208         by adding 0.5. Don't do it for float/double types.
7209         Fixes the failing controller test on my machine, which is somehow
7210         rounding differently than on the buildbots.
7211
7212 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7213
7214         * tools/gst-plot-timeline.py:
7215           Better log parsing (categories can have -). Adjust text vs. lines, so
7216           that they span the same y-range.        
7217
7218 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7219
7220         * docs/random/ensonic/audiobaseclasses.txt:
7221         * docs/random/ensonic/dynlink.txt:
7222         * docs/random/ensonic/profiling.txt:
7223           Save my thoughts.
7224
7225         * docs/random/moving-plugins:
7226           Add note to use g_assert type macros.
7227
7228 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7229
7230         * configure.ac:
7231         * libs/gst/check/Makefile.am:
7232           Add libm check as we use in for plugins.
7233
7234 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
7235
7236         * gst/gstbin.c: (gst_bin_continue_func):
7237         Check that the state_cookie hasn't changed since the continue_func
7238         was scheduled. Avoids problems where the state changes back to
7239         something it shouldn't be because it was changed in the meantime.
7240
7241 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
7242
7243         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
7244         (gst_registry_binary_save_string),
7245         (gst_registry_binary_save_pad_template),
7246         (gst_registry_binary_save_feature),
7247         (gst_registry_binary_save_plugin),
7248         (gst_registry_binary_load_feature),
7249         (gst_registry_binary_load_plugin),
7250         (gst_registry_binary_read_cache):
7251           Fix memory leak. Be less verbose in the log.
7252
7253 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7254
7255         * tests/check/elements/.cvsignore:
7256         Add file to cvsignore as commanded.
7257
7258 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7259
7260         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
7261         (mq_dummypad_event), (run_output_order_test):
7262         Use a GStaticMutex to protect all cases where libcheck
7263         fail_if/fail_unless macros might be called from multiple threads
7264         simultaneously to avoid errors like:
7265           "check_pack.c:107: :-1081725400:Bad message type arg"
7266
7267 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7268
7269         * tests/check/pipelines/stress.c: (GST_START_TEST):
7270         Make sure we set the pipeline back to the NULL state before
7271         dropping our final reference.
7272
7273 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7274
7275         * tests/check/elements/tee.c: (GST_START_TEST):
7276         Make the tee stress-test a little less stressful so it doesn't just
7277         time out on slow-machines, and remove a small race when it's starting 
7278         up by adding a get_state() call.
7279
7280 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
7281
7282         * gst/gst.c:
7283           Avoid reading registry twice on startup. Fixes #457322.
7284
7285 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7286
7287         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7288         * pkgconfig/gstreamer-check.pc.in:
7289         Substitute the CFLAGS for libcheck into our .pc file too so that
7290         dependent modules will pick it up properly if libcheck is installed
7291         into some other prefix.
7292
7293 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7294
7295         * configure.ac:
7296         Revert the pkg-config check for libcheck, since it pulls in the
7297         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
7298         a proper solution, either from the check project, or something else.
7299
7300 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
7301
7302         * configure.ac:
7303           Use pkg-config to locate check.
7304
7305 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
7306
7307         * gst/gsttaglist.c:
7308           Fix doc syntax.
7309
7310         * gst/gstutils.c:
7311         * gst/gstutils.h:
7312           Add deprecation guards.
7313
7314         * libs/gst/base/gstcollectpads.h:
7315           Don't document object (this is implicitly private).
7316
7317 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
7318
7319         * gst/gststructure.c: (gst_structure_parse_value):
7320           When deserialising foo=bar without a type cast, check if it's a
7321           boolean before falling back to a string type, otherwise things like
7322           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
7323           because the filtercaps end up having a signed=(string)true field,
7324           which causes problems later when intersection caps.
7325
7326         * tests/check/gst/gststructure.c: (GST_START_TEST):
7327           Add a unit test for this.
7328
7329 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
7330
7331         Reviewed by: Stefan Kost <ensonic@users.sf.net>
7332
7333         * libs/gst/controller/Makefile.am:
7334         * libs/gst/controller/gstcontroller.c:
7335         (gst_controlled_property_add_interpolation_control_source),
7336         (gst_controlled_property_new), (gst_controlled_property_free),
7337         (gst_controller_find_controlled_property),
7338         (gst_controller_new_valist), (gst_controller_new_list),
7339         (gst_controller_new), (gst_controller_remove_properties_valist),
7340         (gst_controller_remove_properties_list),
7341         (gst_controller_remove_properties),
7342         (gst_controller_set_property_disabled),
7343         (gst_controller_set_disabled), (gst_controller_set_control_source),
7344         (gst_controller_get_control_source), (gst_controller_get),
7345         (gst_controller_sync_values), (gst_controller_get_value_array),
7346         (_gst_controller_dispose), (gst_controller_get_type),
7347         (gst_controlled_property_set_interpolation_mode),
7348         (gst_controller_set), (gst_controller_set_from_list),
7349         (gst_controller_unset), (gst_controller_unset_all),
7350         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
7351         * libs/gst/controller/gstcontroller.h:
7352         * libs/gst/controller/gstcontrollerprivate.h:
7353         * libs/gst/controller/gstcontrolsource.c:
7354         (gst_control_source_class_init), (gst_control_source_init),
7355         (gst_control_source_get_value),
7356         (gst_control_source_get_value_array), (gst_control_source_bind):
7357         * libs/gst/controller/gstcontrolsource.h:
7358         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7359         (gst_object_get_control_source):
7360         * libs/gst/controller/gstinterpolation.c:
7361         (gst_interpolation_control_source_find_control_point_node),
7362         (gst_interpolation_control_source_get_first_value),
7363         (_interpolate_none_get), (interpolate_none_get),
7364         (interpolate_none_get_boolean_value_array),
7365         (interpolate_none_get_enum_value_array),
7366         (interpolate_none_get_string_value_array),
7367         (_interpolate_trigger_get), (interpolate_trigger_get),
7368         (interpolate_trigger_get_boolean_value_array),
7369         (interpolate_trigger_get_enum_value_array),
7370         (interpolate_trigger_get_string_value_array):
7371         * libs/gst/controller/gstinterpolationcontrolsource.c:
7372         (gst_control_point_free), (gst_interpolation_control_source_reset),
7373         (gst_interpolation_control_source_new),
7374         (gst_interpolation_control_source_set_interpolation_mode),
7375         (gst_interpolation_control_source_bind),
7376         (gst_control_point_compare), (gst_control_point_find),
7377         (gst_interpolation_control_source_set_internal),
7378         (gst_interpolation_control_source_set),
7379         (gst_interpolation_control_source_set_from_list),
7380         (gst_interpolation_control_source_unset),
7381         (gst_interpolation_control_source_unset_all),
7382         (gst_interpolation_control_source_get_all),
7383         (gst_interpolation_control_source_get_count),
7384         (gst_interpolation_control_source_init),
7385         (gst_interpolation_control_source_finalize),
7386         (gst_interpolation_control_source_dispose),
7387         (gst_interpolation_control_source_class_init):
7388         * libs/gst/controller/gstinterpolationcontrolsource.h:
7389         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
7390         API: Refactor GstController into the core controller which can take
7391         a GstControlSource for providing actual values for timestamps.
7392         Implement a interpolation control source and use this for backward
7393         compatibility, deprecate a bunch of functions that are now handled
7394         by GstControlSource or GstInterpolationControlSource.
7395         Make it possible to disable the controller completely or only for
7396         specific properties. Fixes #450711.
7397         * docs/libs/gstreamer-libs-docs.sgml:
7398         * docs/libs/gstreamer-libs-sections.txt:
7399         * docs/libs/gstreamer-libs.types:
7400         Add new functions and classes to the docs.
7401         * tests/check/libs/controller.c: (GST_START_TEST),
7402         (gst_controller_suite):
7403         * tests/examples/controller/audio-example.c: (main):
7404         Port unit test and example to the new API and add some new
7405         unit tests.
7406
7407 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
7408
7409         Patch by: Mark Nauwelaerts <manauw at skynet be>
7410
7411         * plugins/elements/gstmultiqueue.c:
7412         (gst_multi_queue_get_internal_links), (apply_buffer),
7413         (single_queue_overrun_cb), (gst_single_queue_new):
7414         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
7415         the pipeline layout can be tracked correctly. Fixes #453732.
7416
7417 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
7418
7419         * docs/gst/Makefile.am:
7420         * docs/libs/Makefile.am:
7421         * docs/plugins/Makefile.am:
7422           Simplify --extra-dir as gtkdoc scans recursively.
7423
7424 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7425
7426         * tools/gst-launch.c: (main):
7427         When we got an error, there is no point in waiting for preroll when
7428         shutting down.
7429
7430 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7431
7432         * plugins/elements/gsttee.c: (gst_tee_base_init),
7433         (gst_tee_request_new_pad), (gst_tee_release_pad),
7434         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
7435         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
7436         (gst_tee_chain):
7437         Be a lot smarter when deciding what srcpad to use for proxying
7438         the buffer_alloc. Also handle pad added/removed when doing so.
7439         Fixes #357959.
7440         Keep track of what pads we already pushed on in case we have pads
7441         added/removed while pushing. Fixes #374639 
7442
7443         * tests/check/Makefile.am:
7444         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
7445         (tee_suite):
7446         Added unit test for pad resync.
7447
7448 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7449
7450         * po/nl.po:
7451         * po/sv.po:
7452           Updated translations.
7453
7454 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7455
7456         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
7457
7458         * po/LINGUAS:
7459         * po/fi.po:
7460           Added new Finnish translation.
7461
7462 2007-06-28  Wim Taymans  <wim@fluendo.com>
7463
7464         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7465         (single_queue_overrun_cb):
7466         When figuring out when a queue is filled, use our internal time estimate
7467         based on segments, just like check_full does.
7468
7469 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7470
7471         * gst/gstminiobject.c: (gst_mini_object_get_type):
7472           Remove 3 do-nothing methods.
7473
7474 2007-06-27  Wim Taymans  <wim@fluendo.com>
7475
7476         Patch by: Tim Angus <tim at ngus dot net>
7477
7478         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7479         (gst_capsfilter_set_property):
7480         Take a reference instead of a copy when setting "caps".
7481         Fix documentation to clarify this behaviour. Fixes #449414.
7482
7483 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7484
7485         * gst/gstindexfactory.c: (gst_index_factory_get_type):
7486         * gst/gstplugin.c: (gst_plugin_init):
7487         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
7488         * gst/gstquery.c: (gst_query_get_type):
7489         * gst/gstregistry.c: (gst_registry_init):
7490         * gst/gsturi.c: (gst_uri_handler_base_init):
7491           Remove empty instance_init() functions to save relocs and lessen the
7492           noise. Remove some of the function prototypes that are doubled by
7493           G_DEFINE_TYPE.
7494           
7495 2007-06-27  Wim Taymans  <wim@fluendo.com>
7496
7497         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
7498
7499         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
7500         Add peer and direction in the XML serialisation of ghostpads.
7501         Fixes #449226.
7502
7503 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7504
7505         * configure.ac:
7506           Preserve useful information, thanks Tim.
7507
7508 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
7509
7510         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7511         (gst_single_queue_flush), (apply_segment), (apply_buffer),
7512         (gst_single_queue_push_one), (gst_multi_queue_loop),
7513         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7514         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
7515         (compute_high_id), (gst_single_queue_new):
7516         * plugins/elements/gstmultiqueue.h:
7517         Take the multiqueue lock when updating the fill level so we don't get
7518         confused. 
7519
7520         After applying a buffer or event on the src pad segment, make sure to
7521         call gst_data_queue_limits_changed() to get the data queue to unblock
7522         and check the filled state again.
7523         
7524         Rework the not-linked pad handling so the logic is that not-linked 
7525         pads can push as fast as they like, but only so they never get 
7526         ahead of any linked pads.
7527
7528         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
7529         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
7530         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
7531
7532         Add a test to check that not-linked pads always stay behind
7533         linked pads.
7534
7535         Fixes: #430682
7536
7537 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
7538
7539         * docs/random/release:
7540           Some updates to the release procedure.
7541
7542 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7543
7544         * gst/gstelementfactory.c: (__gst_element_details_clear):
7545           Microoptimization that saves stunning 80 bytes.
7546
7547 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
7548
7549         * docs/plugins/gstreamer-plugins.args:
7550         * docs/plugins/inspect/plugin-coreelements.xml:
7551         * docs/plugins/inspect/plugin-coreindexers.xml:
7552           Update docs with caps info.
7553
7554 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7555
7556         * po/it.po:
7557           Updated Italian translation.
7558
7559 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7560
7561         * ChangeLog:
7562         * po/vi.po:
7563           Update Vietnamese translations.
7564
7565 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7566
7567         * libs/gst/base/gstbasesink.c:
7568           Remove unused signal enum.
7569
7570 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
7571
7572         * docs/gst/gstreamer-sections.txt:
7573         * gst/gstelement.c:
7574         * gst/gstutils.c: (gst_type_register_static_full):
7575         Beef up and include the docs for gst_type_register_static_full and
7576         gst_element_class_set_details_simple and add the API keyword
7577         in the ChangeLog.
7578
7579 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
7580
7581         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
7582         (update_time_level), (gst_single_queue_push_one),
7583         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
7584         (single_queue_overrun_cb), (single_queue_underrun_cb),
7585         (single_queue_check_full):
7586         Fix setting max-* properties after adding queues.
7587         Use IS_FILLED for checking visible items.
7588         Signal overrun if multiple queues overrun.
7589         Add extra debug output.
7590         Patch by: Wim Taymans <wim@fluendo.com>
7591
7592 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
7593
7594         * gst/gstelement.c: (gst_element_class_set_details_simple):
7595         * gst/gstelement.h:
7596         * gst/gstutils.c: (gst_type_register_static_full):
7597         * gst/gstutils.h:
7598         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
7599         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
7600         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
7601         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
7602         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
7603         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
7604         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
7605         * plugins/elements/gstidentity.c: (gst_identity_base_init):
7606         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
7607         * plugins/elements/gstqueue.c: (gst_queue_base_init),
7608         (apply_buffer), (gst_queue_chain):
7609         * plugins/elements/gsttee.c: (gst_tee_base_init):
7610         * plugins/elements/gsttypefindelement.c:
7611         (gst_type_find_element_base_init),
7612         (gst_type_find_element_class_init):
7613           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
7614           API: add gst_type_register_static_full
7615           API: add gst_element_class_set_details_simple
7616
7617 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7618
7619         * docs/pwg/advanced-types.xml:
7620           Fix typo in iana.org URI.
7621
7622 2007-06-19  Andy Wingo  <wingo@pobox.com>
7623
7624         * tests/check/pipelines/simple-launch-lines.c
7625         (test_state_change_returns): Enable pull-mode tests now that
7626         basesink has been fixed.
7627
7628         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
7629         Changed from gst_base_sink_is_prerolled, reversing the sense of
7630         the return value. Returns FALSE also if the sink is in pull mode,
7631         in which case it needs no preroll.
7632         (gst_base_sink_query, gst_base_sink_change_state): Update for
7633         needs_preroll change.
7634         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
7635         chaining up, in which we return SUCCESS directly if we activated
7636         in pull mode instead of ASYNC. Involves countering an async_start
7637         message sent before chaining up; not sure if this is correct, in
7638         an ideal world we only send async-start when activating in push
7639         mode.
7640
7641         * tests/check/pipelines/simple-launch-lines.c
7642         (test_state_change_returns): New test, partially disabled until
7643         basesink is fixed.
7644
7645 2007-06-19  Wim Taymans  <wim@fluendo.com>
7646
7647         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7648         (gst_multi_queue_sink_event):
7649         Fix event leak.
7650
7651 2007-06-19  Wim Taymans  <wim@fluendo.com>
7652
7653         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7654         (gst_bin_change_state_func), (bin_push_state_continue),
7655         (bin_handle_async_start), (bin_handle_async_done),
7656         (gst_bin_handle_message_func):
7657         Move the common code for posting state-change messages into
7658         one function.
7659         Broadcast the state signal after we posted the messages.
7660         Mark the bin as busy when it's doing a state-change.
7661         Make sure async-start/done messages don't interfere with the bin's
7662         state when it's busy.
7663         After the state change, let the bin check which elements completed the
7664         state change while it was busy so that it can update its state.
7665
7666 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
7667
7668         * docs/random/release:
7669         Add a note about updating the doap file to the release checklist
7670
7671 2007-06-18  Wim Taymans  <wim@fluendo.com>
7672
7673         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7674         (gst_single_queue_push_one), (gst_multi_queue_chain),
7675         (gst_multi_queue_sink_event):
7676         Make sure we don't reference the buffer/event after we have given away
7677         ownership in the queue.
7678
7679 2007-06-18  Wim Taymans  <wim@fluendo.com>
7680
7681         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7682         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
7683         Update queue state _after_ adding the item in the queue because else we
7684         could end up being full without the element added yet.
7685
7686 2007-06-18  Wim Taymans  <wim@fluendo.com>
7687
7688         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
7689         (gst_bin_remove_func), (gst_bin_get_state_func),
7690         (gst_bin_element_set_state), (gst_bin_continue_func),
7691         (bin_push_state_continue), (bin_handle_async_start),
7692         (bin_handle_async_done), (gst_bin_handle_message_func):
7693         * gst/gstbin.h:
7694         Immediatly commit the toplevel bin state when receiving an async-done
7695         message. This enables us to avoid spawning a thread to commit the state
7696         in some common cases and it also avoids some races.
7697         Avoid spawning a state thread when adding/removing async elements to a
7698         toplevel bin. Instead we immediatly update the bin state.
7699         Get rid of iterating all the children when getting the state in the bin
7700         because it is now always up-to-date.
7701         Fix bug where locked elements would always return _SUCCESS even it they
7702         returned NO_PREROLL before being locked.
7703         Fix the order of the state_change, async-start/done messages that was
7704         sometimes incorrect.
7705         Mark the state_dirty field as deprecated, we don't need it anymore as we
7706         are always up-to-date.
7707
7708         * gst/gstelement.c: (gst_element_get_state_func),
7709         (gst_element_continue_state):
7710         Small debug inprovements.
7711         Return the previous element state return when nothing is pending instead
7712         of blindly returning SUCCESS.
7713
7714         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
7715         (gst_sinks_suite):
7716         Add a whole bunch of new testcases.
7717
7718 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7719
7720         * po/uk.po:
7721         * po/vi.po:
7722           Update translations.
7723
7724 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
7725
7726         * gst/gstpad.c:
7727         Fix typo in the docs.
7728
7729 2007-06-15  Wim Taymans  <wim@fluendo.com>
7730
7731         * docs/libs/gstreamer-libs-sections.txt:
7732         Add docs for new methods.
7733
7734 2007-06-15  Wim Taymans  <wim@fluendo.com>
7735
7736         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
7737         (gst_multi_queue_item_new):
7738         Don't use GSlice because we don't depend on >= 2.10 yet.
7739
7740 2007-06-15  Wim Taymans  <wim@fluendo.com>
7741
7742         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7743         (update_time_level), (apply_segment), (apply_buffer),
7744         (gst_single_queue_push_one), (gst_multi_queue_item_new),
7745         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
7746         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
7747         (single_queue_underrun_cb), (single_queue_check_full):
7748         Remove debug printf.
7749
7750 2007-06-15  Wim Taymans  <wim@fluendo.com>
7751
7752         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
7753         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
7754         (gst_data_queue_set_flushing), (gst_data_queue_push),
7755         (gst_data_queue_pop), (gst_data_queue_drop_head),
7756         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
7757         * libs/gst/base/gstdataqueue.h:
7758         Various cleanups.
7759         Added methods to get the current levels and to inform the queue that the
7760         'full' limits changed.
7761
7762         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7763         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
7764         (gst_single_queue_flush), (update_time_level), (apply_segment),
7765         (apply_buffer), (gst_single_queue_push_one),
7766         (gst_multi_queue_item_steal_object),
7767         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
7768         (gst_multi_queue_loop), (gst_multi_queue_chain),
7769         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7770         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
7771         (gst_multi_queue_src_query), (single_queue_overrun_cb),
7772         (single_queue_underrun_cb), (single_queue_check_full),
7773         (gst_single_queue_new):
7774         Keep track of time in the queue by measuring the difference between
7775         running_time on input and output. This gives more accurate results and
7776         can compensate for segments correctly.
7777         Make a queue by default only 5 buffers deep. We will now increase the
7778         buffer size depending on the filledness of the other queues.
7779         Factor out commong flush code.
7780         Make sure we don't add additional refcounts to buffers when we can avoid
7781         it.
7782         Propagate GstFlowReturn differently.
7783         Use GSlice for intermediate GstMultiQueueItems.
7784         Keep track of EOS.
7785         Resize queues on over and underruns based on filled level of other
7786         queues.
7787         When checking if the queue is filled, prefer to measure in time if we
7788         can and fall back to bytes when no time is known.
7789
7790         * plugins/elements/gstqueue.c:
7791         Fix return value.
7792
7793 2007-06-15  Wim Taymans  <wim@fluendo.com>
7794
7795         * libs/gst/base/gstbasetransform.c:
7796         (gst_base_transform_sink_event):
7797         Work around the brokenness of the event vmethod in basetransform. Prefer
7798         to return TRUE when the subclass returned FALSE (meaning don't forward
7799         the event). 
7800
7801         * libs/gst/base/gstbasetransform.h:
7802         Clarify the docs.
7803
7804 2007-06-15  Wim Taymans  <wim@fluendo.com>
7805
7806         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
7807         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7808         (gst_base_src_default_query), (gst_base_src_get_range),
7809         (gst_base_src_start):
7810         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
7811         Improve debugging.
7812
7813 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
7814
7815         * docs/pwg/advanced-types.xml:
7816           Added more formats to caps table.
7817
7818 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
7819
7820         * tools/gst-launch.c: (main):
7821           Remove crufy code. GOption does not need this workaround.
7822
7823 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
7824
7825         * libs/gst/controller/gstcontroller.c:
7826         (gst_controlled_property_set_interpolation_mode):
7827           Fix wrong getter for enums in controller.
7828
7829 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
7830
7831         * libs/gst/check/gstcheck.c: (gst_check_init):
7832           Intercept criticals and warnings in the Gst-Phonon log domain, so
7833           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
7834           well.
7835         
7836 2007-06-14  Edward Hervey  <edward@fluendo.com>
7837
7838         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
7839         Since this file doesn't include "gst.h" it will not go through the
7840         macros that disable GST_LOG if debugging was disabled.
7841
7842 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
7843
7844         * libs/gst/check/Makefile.am:
7845         * libs/gst/check/gstcheck.h:
7846         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7847         * pkgconfig/gstreamer-check.pc.in:
7848           Ugly 'fix' for the controller unit test on the p5 bot: in
7849           fail_unless_equals_float() check whether the values are 'almost
7850           equal' by allowing a small absolute error, which should be good
7851           enough for our use cases (normal numbers and values close to 0).
7852           Proper fixage left to floating point arithmetic aficionados.
7853
7854 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
7855
7856         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
7857         (gst_base_sink_render_object), (gst_base_sink_get_position):
7858           Add two breaks thats where missing.
7859
7860 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
7861
7862         * docs/libs/gstreamer-libs-sections.txt:
7863         * libs/gst/check/gstcheck.h:
7864           API: add fail_unless_equals_float() and assert_equals_float().
7865           Add documentation for some of the macros.
7866
7867         * tests/check/libs/controller.c: (GST_START_TEST):
7868           Use newly-added asserts.
7869
7870 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
7871
7872         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
7873           Show the caps change in the log to help spotting the case of not
7874           exactly matching caps.
7875
7876 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
7877
7878         * docs/pwg/building-boiler.xml:
7879           Fix typos, spotted by Thijs Vermeir (#447190).
7880
7881 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
7882
7883         * docs/plugins/tmpl/.cvsignore:
7884         Ignore file to keep the buildbots happy
7885
7886 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
7887
7888         * docs/plugins/Makefile.am:
7889         * docs/plugins/gstreamer-plugins-docs.sgml:
7890         * docs/plugins/gstreamer-plugins-sections.txt:
7891         Pull fdsink into the docs too.
7892
7893 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
7894
7895         * libs/gst/controller/gstinterpolation.c:
7896         Actually use the new functions with min/max checks for the trigger and
7897         none interpolation modes for get() and get_value_array() instead of
7898         just the latter.
7899
7900 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
7901
7902         * libs/gst/controller/gstcontroller.c:
7903         (gst_controlled_property_free):
7904         Unset the minimum and maximum GValues when freeing the corresponding
7905         GstControllerProperty struct.
7906
7907 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
7908
7909         * libs/gst/controller/gstcontroller.c:
7910         (gst_controlled_property_new):
7911         * libs/gst/controller/gstcontrollerprivate.h:
7912         * libs/gst/controller/gstinterpolation.c:
7913         (gst_controlled_property_find_control_point_node),
7914         (interpolate_none_get), (interpolate_none_get_enum_value_array),
7915         (interpolate_none_get_string_value_array),
7916         (interpolate_trigger_get),
7917         (interpolate_trigger_get_enum_value_array),
7918         (interpolate_trigger_get_string_value_array):
7919         Protect against values larger or smaller than the minimum or maximum
7920         allowed value for the property when using values that can be compared.
7921
7922         Optimize trigger interpolator a bit by taking the last requested value
7923         into account instead of always looping through the complete list.
7924
7925         Fix coding style a bit, everywhere else we use "return foo" instead
7926         of "return (foo)".
7927         
7928         * tests/check/libs/controller.c: (GST_START_TEST),
7929         (gst_controller_suite):
7930         Add unit test for the protection against too large or too small
7931         values.
7932
7933 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
7934
7935         * docs/random/slomo/controller.txt:
7936         Add some thoughts about the future of the controller.
7937
7938 2007-06-08  Wim Taymans  <wim@fluendo.com>
7939
7940         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7941         Don't overflow in retimestamping code.
7942
7943 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
7944
7945         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
7946         Use gst_util_guint64_to_gdouble for conversions.
7947         * win32/common/libgstreamer.def:
7948         Add new exported functions.
7949
7950 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
7951
7952         * gst/gstutils.c:
7953           Small docs addition.
7954
7955 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
7956
7957         * README:
7958           Remove that test line again.
7959
7960 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
7961
7962         * README:
7963           Test commit mail sending.
7964
7965 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
7966
7967         * configure.ac:
7968           Fix typo and test commit mail sending.
7969
7970 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
7971
7972         * tests/examples/controller/audio-example.c:
7973           Improve comment and test commit mail sending.
7974
7975 2007-06-07  Wim Taymans  <wim@fluendo.com>
7976
7977         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
7978         (gst_bin_remove_func), (gst_bin_element_set_state),
7979         (bin_handle_async_start), (bin_handle_async_done),
7980         (gst_bin_handle_message_func):
7981         Add helper function to find messages.
7982         Generate the async-done messages together with the state change
7983         messages.
7984         Small cleanups in handling toplevel bins.
7985
7986 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
7987
7988         * libs/gst/base/gstdataqueue.c:
7989         * libs/gst/base/gstdataqueue.h:
7990         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
7991         (gst_multi_queue_item_new), (gst_multi_queue_chain),
7992         (gst_multi_queue_sink_event):
7993         * tests/check/elements/multiqueue.c: (multiqueue_suite):
7994           Fix multiqueue leaking buffers and events when downstream or the
7995           queue are flushing. Make refcounting assumptions explicit and
7996           document them (shouldn't break existing code that uses it other than
7997           maybe leak miniobjects, but that already happens anyway). Add unit
7998           test for the most common flushing case. Fixes #423700.
7999           
8000 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8001
8002         * libs/gst/controller/gstcontroller.c:
8003         Clarify docs: The get_all, get_value_array(s) functions
8004         don't modify the GObject properties.
8005
8006 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8007
8008         * libs/gst/controller/gstcontroller.c:
8009         (gst_controlled_property_set_interpolation_mode),
8010         (gst_controlled_property_prepend_default),
8011         (gst_controlled_property_new), (gst_controller_set_unlocked),
8012         (gst_controller_set), (gst_controller_set_from_list),
8013         (gst_controller_unset), (gst_controller_unset_all):
8014         * libs/gst/controller/gstcontrollerprivate.h:
8015         * libs/gst/controller/gstinterpolation.c:
8016         Factor out the 'set' logic into gst_controller_set_unlocked for the
8017         gst_controller_set and gst_controller_set_from_list functions.
8018
8019         To make life of the interpolators easier always add a control point
8020         at timestamp zero with the default value.
8021
8022         In the linear interpolator make things more obvious by better variable
8023         naming (slope).
8024
8025         Implement cubic interpolation mode (by using a natural cubic spline)
8026         and map the quadratic interpolation mode to this too (as quadratic
8027         doesn't make much sense, see discussion on the list).
8028
8029         * tests/check/libs/controller.c: (GST_START_TEST),
8030         (gst_controller_suite):
8031         Add unit test for the cubic interpolation mode and check everywhere
8032         if the interpolation mode could be set as expected.
8033
8034 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8035
8036         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
8037           Don't use GLib-2.10 functions, we still depend on
8038           GLib-how-old-is-it-again-2.8.
8039
8040 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8041
8042         * docs/gst/gstreamer-sections.txt:
8043         * gst/Makefile.am:
8044         * gst/gst.c:
8045         * gst/gst.h:
8046         * gst/gstparamspecs.c: (_gst_param_fraction_init),
8047         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
8048         (_gst_param_fraction_values_cmp),
8049         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
8050         * gst/gstparamspecs.h:
8051         * gst/gstvalue.c:
8052         * tests/check/Makefile.am:
8053         * tests/check/gst/.cvsignore:
8054         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
8055         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
8056         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
8057         (GST_START_TEST), (gst_param_spec_suite):
8058           API: add GstParamSpecFraction, so elements can have fraction
8059           properties without lots of painful string parsing (#444648).
8060
8061 2007-06-05  Wim Taymans  <wim@fluendo.com>
8062
8063         * gst/gstobject.c: (gst_object_class_init):
8064         Fix signal signature.
8065
8066         * gst/gstsegment.c:
8067         Add small clarification in the api docs.
8068
8069         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
8070         States are protected with object lock.
8071
8072 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8073
8074         * AUTHORS:
8075         I should probably be listed as an author by now.
8076
8077         * docs/random/release:
8078         Update the release doc
8079
8080 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
8081
8082         * gst/gstvalue.c:
8083           Make docs for gst_value_compare() mention return enums that
8084           actually exist.
8085
8086 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8087
8088         * configure.ac:
8089           Back to CVS
8090
8091 === release 0.10.13 ===
8092
8093 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
8094
8095         * configure.ac:
8096           releasing 0.10.13, "With or without you"
8097
8098 2007-05-25  Wim Taymans  <wim@fluendo.com>
8099
8100         * gst/gstbin.c: (bin_handle_async_done):
8101         Make sure that the child bin stops after completing the async state
8102         change so that the parent can continue the state change to PLAYING.
8103         Fixes #441159.
8104
8105 2007-05-25  Wim Taymans  <wim@fluendo.com>
8106
8107         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8108         (unref_data), (gst_collect_pads_remove_pad),
8109         (gst_collect_pads_check_pads):
8110         Use additional refcounting to avoid crashes when dynamically adding and
8111         removing pads. Fixes #420206.
8112
8113 2007-05-24  Wim Taymans  <wim@fluendo.com>
8114
8115         * tools/gst-launch.c: (event_loop):
8116         When buffering goes from a two digit to a single digit number, make sure
8117         to remove the old second digit by writing a blank over it.
8118
8119 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8120
8121         * libs/gst/base/gstdataqueue.c:
8122           Eliminate tabs and trailing comma in enum list; fix some typos.
8123
8124 2007-05-24  Wim Taymans  <wim@fluendo.com>
8125
8126         * tests/check/gst/gstbin.c: (GST_START_TEST):
8127         Allow refcount of 3 and 4 because some state thread might still be busy
8128         with it.
8129
8130 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8131
8132         * plugins/elements/Makefile.am:
8133         * plugins/elements/gstmultiqueue.h:
8134         * plugins/elements/gstqueue.h:
8135           These are not installed headers, no need for padding.
8136
8137 2007-05-24  Wim Taymans  <wim@fluendo.com>
8138
8139         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8140         (gst_bin_continue_func):
8141         Enable latency for next release.
8142         Restore STATE_LOCK around recalc_state that was left out during the
8143         rewrite and could result in racy behaviour when _get_state and
8144         recalc_state are run concurrently. See #440463.
8145
8146 2007-05-23  Wim Taymans  <wim@fluendo.com>
8147
8148         * tests/check/gst/gstsystemclock.c: (store_callback),
8149         (GST_START_TEST):
8150         Improve test_async_order to also work when both timers are already
8151         expired when we get scheduled to check it.
8152
8153 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8154
8155         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
8156         (gst_bin_set_property), (gst_bin_get_property),
8157         (gst_bin_remove_func), (gst_bin_handle_message_func):
8158         * gst/gstbin.h:
8159           'private' is a c++ keyword, let's not use that in header files,
8160           otherwise c++ compilers will throw a tantrum.
8161
8162 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8163
8164         * plugins/elements/gstelements.c:
8165         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
8166         (gst_file_sink_get_current_offset):
8167         * plugins/indexers/gstindexers.c: (plugin_init):
8168           Use #ifdef for HAVE_XYZ for consistency.
8169
8170         * tests/check/Makefile.am:
8171         * tests/check/elements/.cvsignore:
8172         * tests/check/elements/filesink.c: (setup_filesink),
8173         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
8174           Add some unit tests for filesink.
8175
8176 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8177
8178         Patch by: Mark Nauwelaerts <manauw at skynet be>
8179
8180         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8181         (gst_file_sink_query), (gst_file_sink_do_seek),
8182         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8183         * plugins/elements/gstfilesink.h:
8184           Fix position reporting; rename data_written member to current_pos to
8185           reflect its real meaning (fixes #412648).
8186
8187 2007-05-22  Edward Hervey  <edward@fluendo.com>
8188
8189         * docs/gst/gstreamer-sections.txt:
8190         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8191         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
8192         (gst_bin_remove_func), (gst_bin_handle_message_func):
8193         * gst/gstbin.h:
8194         Add a property for bins that handle the state change of their childs.
8195         Fixes #435880
8196
8197 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
8198
8199         * libs/gst/controller/gstinterpolation.c:
8200         Use an array of the correct type when using _get_value_array with
8201         linear interpolation.
8202
8203 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
8204
8205         * gst/gstelement.c (gst_element_requires_clock,
8206           gst_element_provides_clock, gst_element_request_pad,
8207           gst_element_class_set_details, gst_element_class_set_details_simple,
8208           gst_element_default_send_event, gst_element_abort_state,
8209           gst_element_continue_state, gst_element_set_state,
8210           gst_element_set_state_func, iterator_activate_fold_with_resync):
8211         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
8212           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
8213           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
8214           gst_pad_get_range, gst_pad_pull_range):
8215         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
8216           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
8217           GstPadActivateModeFunction, GstPadChainFunction,
8218           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
8219           GstPadFixateCapsFunction, GstPadTemplate):
8220         * gst/gstpipeline.c (gst_pipeline_change_state,
8221           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
8222           gst_pipeline_set_clock, gst_pipeline_auto_clock,
8223           gst_pipeline_get_delay):
8224           Whitespace and docs fixes.
8225
8226 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8227
8228         * libs/gst/controller/gstinterpolation.c:
8229         (interpolate_trigger_get_enum_value_array),
8230         (interpolate_trigger_get_string_value_array):
8231         Add support for retrieving value arrays when using the trigger
8232         interpolation mode. 
8233
8234 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8235
8236         * libs/gst/controller/gstcontroller.c:
8237         (gst_controller_get_value_array):
8238         * libs/gst/controller/gstcontroller.h:
8239         Clarify the docs of gst_controller_get_value_array(): The array where
8240         the values should be written to must be allocated as there seems to be
8241         no way to get the size of a random GType. This doesn't change any
8242         behaviour. Also fix some typos all over the place and remove an unused,
8243         commented function that is not necessary as g_object_set() could be
8244         used instead.
8245         * tests/check/libs/controller.c: (GST_START_TEST),
8246         (gst_controller_suite):
8247         Add unit test for gst_controller_get_value_array().
8248
8249 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
8250
8251         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8252
8253         Disable part of the gst_buffer_try_new_and_alloc test, because
8254         it can happily succeed on 64-bit systems where there's more address
8255         space available.
8256
8257 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8258
8259         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8260         Add unit test for the improved caps checking from bug #421543.
8261
8262 2007-05-21  Wim Taymans  <wim@fluendo.com>
8263
8264         * docs/design/part-synchronisation.txt:
8265         Small addition.
8266
8267         * gst/gstbin.c: (gst_bin_query):
8268         * plugins/elements/gstqueue.c: (apply_segment):
8269         Improve debugging.
8270
8271         * gst/gstmessage.h:
8272         Improve docs.
8273
8274 2007-05-21  Wim Taymans  <wim@fluendo.com>
8275
8276         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8277         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
8278         (gst_pad_configure_src):
8279         Added simple version of improved caps checking. It was previously
8280         assumed that a setcaps function would check the validity of the caps but
8281         people prefer us to check caps against the template automatically. 
8282         Fixes #421543.
8283
8284 2007-05-21  Wim Taymans  <wim@fluendo.com>
8285
8286         * libs/gst/base/gstbasetransform.h:
8287         Fix macro for locking/unlocking the transform lock.
8288
8289 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
8290
8291         * docs/plugins/tmpl/.cvsignore:
8292           Ignore more.
8293
8294 2007-05-18  Edward Hervey  <edward@fluendo.com>
8295
8296         * plugins/elements/gstqueue.c: (gst_queue_loop):
8297         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
8298         for the subtle art of warning a potentially blocking thread that it
8299         should check the source pad return value, and relay the information
8300         upstream.
8301
8302 2007-05-18  Edward Hervey  <edward@fluendo.com>
8303
8304         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8305         Release the queue lock !
8306
8307 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8308
8309         * docs/libs/gstreamer-libs-sections.txt:
8310         Add the two new controller functions to the appropiate places.
8311
8312 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8313
8314         reviewed by: Stefan Kost <ensonic@users.sf.net>
8315
8316         * libs/gst/controller/gstcontroller.c:
8317         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
8318         (_gst_controller_get_property), (_gst_controller_set_property),
8319         (_gst_controller_init), (_gst_controller_class_init):
8320         * libs/gst/controller/gstcontroller.h:
8321         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
8322         (gst_object_get_control_rate), (gst_object_set_control_rate):
8323         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
8324         Add API that provides sync suggestion timestamps for elements that
8325         call gst_object_sync_values() from which those elements can subdivide
8326         their processing loop to get the best results for the controlled
8327         properties. For now it just suggests last_sync + control_rate as
8328         new timestamp but this will be improved in the future.
8329
8330         While doing that change the control-rate property to a GstClockTime
8331         from guint and change it's meaning from samples to nanoseconds as
8332         the GstController doesn't know anything about sampling rate. Strictly
8333         speaking this breaks ABI but as the control-rate property didn't do
8334         anything in the past and as such couldn't be used this should be no
8335         problem.        
8336
8337 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8338
8339         reviewed by: Stefan Kost <ensonic@users.sf.net>
8340
8341         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8342         (gst_controller_unset_all):
8343         * libs/gst/controller/gstcontrollerprivate.h:
8344         * libs/gst/controller/gstinterpolation.c:
8345         (gst_controlled_property_find_control_point_node):
8346         Save last synced value from the list to continue searching from there
8347         in future syncs. This speeds everything up a bit.
8348         
8349 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8350
8351         reviewed by: Stefan Kost <ensonic@users.sf.net>
8352
8353         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
8354         (gst_control_point_find), (gst_controlled_property_new),
8355         (gst_control_point_free), (gst_controlled_property_free),
8356         (gst_controller_set), (gst_controller_set_from_list),
8357         (gst_controller_unset), (gst_controller_unset_all),
8358         (gst_controller_sync_values):
8359         * libs/gst/controller/gstcontroller.h:
8360         * libs/gst/controller/gstcontrollerprivate.h:
8361         * libs/gst/controller/gstinterpolation.c:
8362         (gst_controlled_property_find_control_point_node),
8363         (interpolate_none_get), (interpolate_trigger_get):
8364         Add a new private GstControlPoint struct which "inherits" from
8365         GstTimedValue to allow different interpolators to store internal
8366         values next to each control point. From the outside everything is
8367         still a GstControlPoint so we don't loose binary compatibility.
8368         Also fixup all the GValue handling to not leak GValues or list nodes.
8369         * tests/check/libs/controller.c: (GST_START_TEST):
8370         Free the list nodes and GValues in the controller_misc test.
8371
8372 2007-05-17  Edward Hervey  <edward@fluendo.com>
8373
8374         * gst/gstsegment.c:
8375         Small doc fix.
8376
8377 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
8378
8379         * gst/gstplugin.c: (gst_plugin_load_file):
8380           If we fail to load a plugin because of unresolved symbols or missing
8381           libraries and spew a warning to stderr, we may just as well mention
8382           which plugin it was that failed to load.
8383
8384 2007-05-13  David Schleef  <ds@schleef.org>
8385
8386         * docs/Makefile.am: the gtk-doc makefile snippet correctly
8387           handles the case when ENABLE_GTK_DOC is false, and installs
8388           the prebuilt documentation.  So gtk-doc subdirs are 
8389           unconditionally enabled.  Fixes: #349099.
8390
8391 2007-05-13  David Schleef  <ds@schleef.org>
8392
8393         * gst/gstutils.h: Reword some documentation.
8394
8395 2007-05-12  David Schleef  <ds@schleef.org>
8396
8397         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
8398           do anything with the passed "module" parameter, so remove it.
8399           Allows removal of additional vestigal code.
8400
8401 2007-05-12  David Schleef  <ds@schleef.org>
8402
8403         * gst/gstplugin.c:
8404           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
8405           Switch to using g_stat() because it's more portable.
8406
8407 2007-05-12  David Schleef  <ds@schleef.org>
8408
8409         * gst/gst.c:
8410           Add GST_DISABLE_OPTION_PARSING, in order to disable option
8411           parsing for embedded systems.
8412         * gst/gstelementfactory.c:
8413           Allow gst_element_register() to be called with plugin==NULL.
8414           Did nobody notice that static elements were broken?
8415
8416 2007-05-12  Wim Taymans  <wim@fluendo.com>
8417
8418         * tools/gst-launch.c: (event_loop):
8419         Give more interesting info when buffering starts and stops.
8420         Fix case where buffering starts but we fail to update the buffering flag
8421         because the target state is not PLAYING.
8422
8423 2007-05-12  Wim Taymans  <wim@fluendo.com>
8424
8425         * plugins/elements/gstqueue.c: (gst_queue_init),
8426         (gst_queue_finalize), (update_time_level), (apply_segment),
8427         (apply_buffer), (gst_queue_locked_flush),
8428         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
8429         (gst_queue_handle_sink_event), (gst_queue_chain),
8430         (gst_queue_push_one), (gst_queue_loop):
8431         * plugins/elements/gstqueue.h:
8432         Refactor an cleanup queue a bit.
8433         Do better time level calculations that also work when the srcpad is not
8434         yet running.
8435         Remove some unneeded debug lines.
8436
8437         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
8438         Added testcase for time level measurement.
8439         Try to make some stuff more racefree.
8440
8441 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8442
8443         * gst/gsturi.c: (gst_element_make_from_uri):
8444           Don't leak plugin feature.
8445
8446         * tests/check/Makefile.am:
8447         * tests/check/gst/.cvsignore:
8448         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
8449           Add brain-dead unit test.
8450
8451 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8452
8453         Patch by: Jeroen Wouters <woutersj at gmail com>
8454
8455         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
8456           Treat protocol strings in a case-insensitive way (#437563).
8457
8458 2007-05-11  Michael Smith <msmith@fluendo.com>
8459
8460         * gst/gstplugin.c: (gst_plugin_load_file):
8461         * gst/gstregistry.c: (gst_registry_scan_path_level):
8462           Don't print a g_warning for any failure to load a shared object.
8463           Instead, push this down into gstplugin.c, and warn _only_ if we
8464           failed to open the module (i.e. failure to link).
8465           Avoids warnings on normal, working, non-plugin .so files.
8466
8467 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
8468
8469         * gst/gstplugin.c (gst_plugin_load_file):
8470         * gst/gstregistry.c (GST_CAT_DEFAULT,
8471           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
8472           Print a g_warning if there was an error when loading a plugins during
8473           registry scan. The shuld help beginners starting with gst-plugin
8474           template.
8475
8476 2007-05-10  Wim Taymans  <wim@fluendo.com>
8477
8478         * plugins/elements/gstqueue.c: (gst_queue_class_init),
8479         (update_time_level), (gst_queue_locked_flush),
8480         (gst_queue_handle_sink_event), (gst_queue_chain),
8481         (gst_queue_push_one), (gst_queue_loop):
8482         * plugins/elements/gstqueue.h:
8483         Be smarter when calculating the current amount of data in the queue by
8484         measuring the difference between start and end timestamps (in running
8485         time) inside the queue. Fixes #432876.
8486         API: GstQueue::pushing to notify elements that we are pushing data again
8487         since the running signal is rather broken for this purpose.
8488
8489 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
8490
8491         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
8492           gst_queue_base_init, gst_queue_init):
8493           use GST_BOILERPLATE
8494
8495 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
8496
8497         * win32/common/libgstreamer.def:
8498         Add new exported functions.
8499         * win32/vs6/grammar.dsp:
8500         Use grammar pre-generated files.
8501
8502 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8503
8504         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
8505
8506         * gst/Makefile.am:
8507         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
8508         * gst/gstparse.h:
8509         * gst/gstutils.c: (gst_parse_bin_from_description):
8510         * gst/gstutils.h:
8511           Maintain API and ABI when --disable-parse is used. Now that
8512           we have an appropriate error code, we can just return NULL and the
8513           appropriate error when gst_parse_launch() is used despite it having
8514           been disabled (#342564).
8515
8516         * tests/check/Makefile.am:
8517         * tests/check/pipelines/.cvsignore:
8518         * tests/check/pipelines/parse-disabled.c:
8519           Make sure these functions exist and return NULL plus a GError when
8520           --disable-parse is used.
8521
8522 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8523
8524         * tests/benchmarks/complexity.c: (main):
8525         * tests/benchmarks/mass-elements.c: (main):
8526           Set a good example and don't leak messages.
8527
8528 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
8529
8530         * docs/gst/Makefile.am:
8531         * docs/libs/Makefile.am:
8532           Correct fixxrefs options.
8533
8534         * docs/plugins/Makefile.am:
8535         * docs/plugins/gstreamer-plugins-docs.sgml:
8536         * docs/plugins/gstreamer-plugins-sections.txt:
8537         * plugins/elements/Makefile.am:
8538         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
8539         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
8540           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
8541           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
8542           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
8543           _GstCapsFilterClass, trans_class):
8544         * plugins/elements/gstelements.c (name, rank, type, _elements):
8545         * plugins/elements/gstidentity.c
8546           (gst_identity_check_imperfect_timestamp,
8547           gst_identity_check_imperfect_offset):
8548           Document capsfilter and add doc-blurb to identity.
8549
8550 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
8551
8552         * libs/gst/controller/gstcontroller.c:
8553         (gst_controlled_property_set_interpolation_mode):
8554         * libs/gst/controller/gstinterpolation.c:
8555           Don't crash if someone tries to set an interpolation mode that
8556           is invalid or that isn't supported yet. Fixes #422295.
8557
8558         * tests/check/libs/controller.c: (GST_START_TEST),
8559         (gst_controller_suite):
8560           Add a test case for the above.
8561
8562 2007-05-03  Edward Hervey  <edward@fluendo.com>
8563
8564         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8565         Properly set the last_stop position on GstSegment. This will only happen
8566         if there is a buffer to push out.
8567
8568 2007-05-03  Wim Taymans  <wim@fluendo.com>
8569
8570         * libs/gst/base/gstbasetransform.c:
8571         (gst_base_transform_buffer_alloc):
8572         always_in_place does not mean that the sink and source caps are the
8573         same! Make sure we don't blindly proxy the buffer_alloc in this case.
8574
8575 2007-05-03  Wim Taymans  <wim@fluendo.com>
8576
8577         * docs/libs/gstreamer-libs-sections.txt:
8578         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8579         (gst_base_src_default_query), (gst_base_src_get_range):
8580         * libs/gst/base/gstbasesrc.h:
8581         API: gst_base_src_query_latency(). Added method so that subclasses can
8582         easily get the latency values of the base source class.
8583
8584 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
8585
8586         * tools/gst-inspect.c (print_implementation_info):
8587         Remove 0.8 cruft.
8588
8589 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
8590
8591         * tools/Makefile.am:
8592         * tools/gst-launch.1.in:
8593           Don't create a customised man page based on the host architecture,
8594           describe the default registry path generically. That way the man
8595           page is the same for all architectures and packagers have one
8596           multilib issue less to deal with. Fixes #434926.
8597
8598 2007-05-02  Wim Taymans  <wim@fluendo.com>
8599
8600         * gst/gstpad.c:
8601         Fix documentation as spotted by rg on IRC. 
8602
8603 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
8604
8605         * gst/gstutils.c:
8606           Improve docs for gst_element_{link,unlink}.
8607
8608 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
8609
8610         * docs/design/part-events.txt:
8611         * docs/design/part-overview.txt:
8612         * gst/gstevent.c:
8613         * gst/gsturi.c:
8614         * gst/gsturi.h:
8615         * libs/gst/base/gstbasesink.c:
8616           Typo fixes; minor docs addition.
8617
8618 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8619
8620         * docs/gst/gstreamer-sections.txt:
8621         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
8622         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
8623         * gst/gsturi.h:
8624         API: Add gst_uri_protocol_is_supported(), which checks if a sink
8625         or src that supports a given URI protocol exists.
8626
8627 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8628
8629         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8630         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8631         Set the location to NULL if "file://" is set as URI. Otherwise
8632         some random previous URI would still be set if "file://" is
8633         set on an already used filesink/filesrc.
8634
8635 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8636
8637         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8638         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8639         Special case the "file://" URI as as this is used by some
8640         applications to test with gst_element_make_from_uri if there's
8641         an element that supports the URI protocol.
8642         Also move the g_path_is_absolute() check for the location part
8643         of the URI to also check this for "file://localhost/bla" URIs.
8644
8645 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
8646
8647         * docs/gst/gstreamer-sections.txt:
8648         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
8649         * gst/gstbuffer.h:
8650         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
8651         (gst_buffer_suite):
8652           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
8653
8654 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
8655
8656         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
8657         (gst_registry_binary_load_pad_template),
8658         (gst_registry_binary_load_plugin),
8659         (gst_registry_binary_read_cache):
8660         * gst/gstregistrybinary.h:
8661           Implement no-mmap alternative for registry reading. Do code cleanups.
8662           Add more comments about avoiding strdups for all text data. Comments
8663           welcome.
8664
8665 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
8666
8667         * gst/gstregistrybinary.h (GstBinaryPluginElement,
8668           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
8669           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
8670           Comment structs and reformat to fix the build (that stuff should go
8671           into a priv. header).
8672
8673 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
8674
8675         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
8676         (gst_registry_binary_load_feature):
8677         * gst/gstregistrybinary.h:
8678           Refactor so that we can implement multiple features. Add support for
8679           TypeFindFactory features.
8680
8681 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
8682
8683         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
8684
8685         * configure.ac:
8686           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
8687
8688 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
8689
8690         * gst/gstbin.c: (gst_bin_element_set_state),
8691         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
8692         (bin_handle_async_done), (gst_bin_handle_message_func):
8693           Fix build with --gst-disable-gst-debug
8694
8695 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
8696
8697         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
8698           Make sure streaming has finished before calling the ::stop() vfunc,
8699           since that vfunc might clear state which is being used in the
8700           streaming thread. This fixes a race that caused crashes in
8701           audioresample when shutting down a pipeline (#420106).
8702
8703 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
8704
8705         * docs/gst/gstreamer-sections.txt:
8706           That was one byte missing.
8707
8708 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
8709
8710         * configure.ac:
8711         * docs/gst/gstreamer-sections.txt:
8712         * gst/Makefile.am:
8713         * gst/gstconfig.h.in:
8714         * gst/gstobject.c: (gst_object_class_init),
8715         (gst_signal_object_class_init):
8716         * gst/gstobject.h:
8717           2nd attempt to have a xml-less build as a joined effort of #413123
8718           and #421480.
8719
8720 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
8721
8722         * docs/design/draft-tagreading.txt:
8723           Added open issues/thoughts to draft.
8724
8725 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
8726
8727         * gst/parse/grammar.tab.pre.c:
8728         * gst/parse/grammar.tab.pre.h:
8729         * gst/parse/lex._gst_parse_yy.pre.c:
8730         Update the prebuild parser sources.
8731
8732 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
8733
8734         * gst/parse/Makefile.am:
8735         And now fix the building of the flex sources. Now everything should
8736         work as expected.
8737
8738 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
8739
8740         * gst/parse/Makefile.am:
8741         Now hopefully fix the build failures by setting proper rule
8742         dependencies and moving instead of copying.
8743
8744 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
8745
8746         * tests/benchmarks/complexity.gnuplot:
8747         * tests/benchmarks/complexity.scm:
8748         * tests/benchmarks/mass-elements.gnuplot:
8749         * tests/benchmarks/mass-elements.scm:
8750           Total licensification.
8751
8752 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
8753
8754         * gst/parse/Makefile.am:
8755           Fix the build by correcting the rule that gave wrong files to flex.
8756
8757 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
8758
8759         * tests/benchmarks/complexity.c:
8760         * tests/benchmarks/mass-elements.c:
8761           Change licence to LGPL as granted by Benjamin and Andy.
8762
8763 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
8764
8765         * gst/parse/Makefile.am:
8766         Add correct grammar.tab.h dependency if compiling without new enough
8767         flex. Fixes #431150.
8768
8769 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
8770
8771         * gst/parse/Makefile.am:
8772         Fix typo and use outdated sources if the flex/bison sources are newer
8773         than the pregenerated ones but flex is too old. Print a warning in
8774         that case. This should fix the build on the build bot.
8775
8776 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
8777
8778         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
8779         * gst/parse/Makefile.am:
8780         * gst/parse/grammar.y:
8781         * gst/parse/parse.l:
8782         Make the parser reentrant and recursively callable. This requires flex
8783         >= 2.5.31, for older versions pregenerated sources are used as we
8784         can't bump the build dependency. Finally fixes #349180.
8785
8786         * gst/gstparse.c: (gst_parse_launch):
8787         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
8788         now anyway.
8789
8790         * docs/gst/Makefile.am:
8791         * docs/gst/Makefile.am:
8792         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
8793         (__gst_parse_strfree), (__gst_parse_link_new),
8794         (__gst_parse_link_free), (__gst_parse_chain_new),
8795         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
8796         (gst_parse_element_set), (gst_parse_free_link),
8797         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
8798         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
8799         (_gst_parse_launch):
8800         * gst/parse/grammar.tab.pre.h:
8801         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
8802         (yy_get_previous_state), (yy_try_NUL_trans), (input),
8803         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
8804         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
8805         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
8806         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
8807         (_gst_parse_yypop_buffer_state),
8808         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
8809         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
8810         (yy_fatal_error), (_gst_parse_yyget_extra),
8811         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
8812         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
8813         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
8814         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
8815         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
8816         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
8817         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
8818         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
8819         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
8820         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
8821         (_gst_parse_yyfree):
8822         If the installed flex version is too old use pre-generated parser
8823         sources. These pre-generated parser sources are always updated when
8824         the actual flex/bison sources change but require everybody who wants
8825         to change something in the parser to have flex >= 2.5.31 installed.
8826
8827 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
8828
8829         * common/m4/gst-gettext.m4:
8830         * gst/gst-i18n-lib.h:
8831           Make --disable-nls to work
8832
8833 2007-04-17  Wim Taymans  <wim@fluendo.com>
8834
8835         * gst/gstconfig.h.in:
8836         Revert previous change that broke the build.
8837
8838 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
8839
8840         * configure.ac:
8841         * gst/Makefile.am:
8842         * gst/gstconfig.h.in:
8843           Drop libxml2 dependency when building with 
8844           --enable-binary-registry --disable-loadsave
8845
8846 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
8847
8848         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
8849         (gst_registry_binary_read_cache):
8850         * gst/gstregistrybinary.h:
8851           Remove unnecessary <sys/mman.h> include which broke the win32 build
8852           with MingW; move includes from header file to .c file, even if the
8853           header file isn't installed; use g_strerror() where UTF-8 strings
8854           are expected, such as in GST_DEBUG messages.
8855
8856 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
8857
8858         * docs/libs/gstreamer-libs-sections.txt:
8859         Remove bogus addition for API I didn't end up keeping.
8860
8861         * libs/gst/base/gstbasesrc.h:
8862         Mention Since: 0.10.13 in the documentation.
8863
8864         Add the API keyword to the previous ChangeLog entry.
8865
8866 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
8867
8868         * docs/libs/gstreamer-libs-sections.txt:
8869         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8870         (gst_base_src_default_prepare_seek_segment),
8871         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
8872         * libs/gst/base/gstbasesrc.h:
8873         Allow basesrc derived classes to execute seeks in other formats
8874         by providing a prepare_seek_segment vmethod. Sub-classes can choose
8875         to prepare the GstSegment in any format that their perform_seek method
8876         will be able to understand. The default implementation provides the
8877         old behaviour of attempting to convert the seek offsets to the 
8878         configured native format.
8879
8880         API: basesrc::prepare_seek_segment vmethod.
8881
8882 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
8883
8884         * gst/gstelement.c: (gst_element_get_state_func):
8885         Don't output the same debug statement twice.
8886
8887         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
8888         (gst_adapter_peek), (gst_adapter_take_buffer):
8889         Optimise the case where we have buffers at the head of the queue that
8890         can be joined quickly (because they're contiguous sub-buffers) by
8891         merging them together rather than copying data out into new memory.
8892
8893         * gst/parse/grammar.y:
8894         * tests/check/pipelines/parse-launch.c:
8895         Fix a leak in an error path for parse_launch, and add a check 
8896         for it to the testsuite.
8897
8898 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
8899
8900         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
8901           Don't deadlock when releasing a pad - gst_pad_set_active may try
8902           and take the multiqueue lock too.
8903
8904 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
8905
8906         * gst/gsterror.c: (_gst_core_errors_init):
8907         * gst/gsterror.h:
8908           API: add GST_CORE_ERROR_DISABLED (#392804).
8909
8910 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8911
8912         * docs/faq/gst-uninstalled:
8913           don't get empty paths on the PATH variables
8914         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
8915           Don't format for the uncommon terminal width of 84 characters.
8916
8917 2007-04-06  Wim Taymans  <wim@fluendo.com>
8918
8919         * gst/gstpipeline.c: (reset_stream_time),
8920         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
8921         Only try to select a different pipeline clock when we went back to
8922         PAUSED and not when we merely got flushed.
8923
8924 2007-04-05  Michael Smith  <msmith@fluendo.com>
8925
8926         * tools/gst-launch.1.in:
8927           fractions are better supported in gstreamer than ractions, so
8928           suggest using those.
8929
8930 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8931
8932         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
8933
8934         * po/LINGUAS:
8935         * po/da.po:
8936           Added Danish translation.
8937
8938 2007-04-05  Wim Taymans  <wim@fluendo.com>
8939
8940         * libs/gst/base/gstbasesink.c:
8941         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
8942         Fix leak caused when refusing newsegment after EOS.
8943
8944         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
8945         (gst_fake_sink_init), (gst_fake_sink_set_property),
8946         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
8947         (gst_fake_sink_render), (gst_fake_sink_change_state):
8948         * plugins/elements/gstfakesink.h:
8949         Add num-buffers property to make the element generate EOS after a
8950         configurable amount of buffers.
8951         API: fakesink::num-buffers property.
8952
8953         * tests/check/elements/fakesink.c: (GST_START_TEST),
8954         (fakesink_suite):
8955         Fix GstBus leak in test.
8956         Test for fakesink num-buffers.
8957
8958 2007-04-05  Wim Taymans  <wim@fluendo.com>
8959
8960         * libs/gst/base/gstbasesink.c:
8961         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
8962         (gst_base_sink_change_state):
8963         Don't accept anything after an EOS, return UNEXPECTED instead.
8964
8965         * tests/check/elements/fakesink.c: (GST_START_TEST),
8966         (fakesink_suite):
8967         Unit test for new EOS behaviour.
8968
8969 2007-04-05  Wim Taymans  <wim@fluendo.com>
8970
8971         * gst/gstelement.c: (gst_element_get_request_pad):
8972         Make padtemplates also work when they don't contain %s or %d.
8973
8974 2007-04-05  Wim Taymans  <wim@fluendo.com>
8975
8976         * docs/gst/gstreamer-sections.txt:
8977         * gst/gstclock.c: (gst_clock_adjust_unlocked),
8978         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
8979         * gst/gstclock.h:
8980         Improve _adjust_unlocked() so that it overflows less.
8981         Add gst_clock_unadjust_unlocked to convert from external time to
8982         internal time based on calibration.
8983         Add some more debug.
8984         API: GstClock::gst_clock_unadjust_unlocked()
8985
8986 2007-04-03  Wim Taymans  <wim@fluendo.com>
8987
8988         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
8989
8990         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
8991         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
8992         when releasing sink pad. Fixes #425400.
8993
8994 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
8995
8996         * docs/random/ensonic/dynlink.txt:
8997           More work on proposal for new core api.
8998
8999         * docs/libs/gstreamer-libs-sections.txt:
9000         * libs/gst/base/gstbasetransform.h:
9001           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
9002           
9003         * libs/gst/controller/gstcontroller.c:
9004         (on_object_controlled_property_changed),
9005         (gst_controller_sync_values),
9006         (gst_controller_set_interpolation_mode):
9007         * libs/gst/controller/gstcontroller.h:
9008           Less verbose logging add docs for unimplemented parts and correctly
9009           return when using unavailable parts.
9010
9011 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9012
9013         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
9014         Move all the debug to the CLOCK category, and associate it with
9015         the clock object.
9016
9017 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9018
9019         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
9020         Make take_buffer a bit quicker by removing redundant checks
9021         caused by calling gst_adapter_take.
9022
9023 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9024
9025         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
9026           Don't leak GCond.
9027
9028         * tests/check/Makefile.am:
9029         * tests/check/elements/.cvsignore:
9030         * tests/check/elements/multiqueue.c: (setup_multiqueue),
9031         (GST_START_TEST), (multiqueue_suite):
9032           Add some dead simple unit tests for the 'multiqueue' element
9033           (some bits don't work yet and are disabled for now).
9034
9035 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9036
9037         * gst/gstelement.c: (gst_element_get_request_pad),
9038         (gst_element_class_get_request_pad_template):
9039           Make gst_element_get_request_pad() create request pads only for
9040           request pad templates and not for, say, sometimes pad templates.
9041
9042 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
9043
9044         * docs/design/draft-klass.txt:
9045           Add example that needs more thinking.
9046         
9047         * docs/design/draft-missing-plugins.txt:
9048           More thoughts about wrapper plugins.
9049         
9050         * docs/random/ensonic/embedded.txt:
9051         * docs/random/ensonic/profiling.txt:
9052           More design work.
9053
9054 2007-03-25  Wim Taymans  <wim@fluendo.com>
9055
9056         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
9057         (gst_base_src_loop):
9058         Only push the segment events in the PLAYING state for live sources.
9059
9060 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
9061
9062         * gst/gstpipeline.c: (gst_pipeline_change_state):
9063         Modify the clock distribution path in PAUSED->PLAYING so that we 
9064         never attempt to choose a new clock unless we're actually leaving
9065         the PAUSED state for the first time. This prevents choosing a
9066         different clock when the state_change gets called for a 2nd time due
9067         to some element doing an async state change.
9068
9069 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9070
9071         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
9072         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
9073         (gst_pad_chain_unchecked), (gst_pad_push):
9074         Revert last commit. This needs some more thoughts.
9075
9076 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9077
9078         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
9079         (gst_pad_chain_unchecked), (gst_pad_push):
9080         Check in set_caps if the caps are compatible with the pad and remove
9081         two functions that are redundant now. Fixes #421543.
9082
9083 2007-03-22  Wim Taymans  <wim@fluendo.com>
9084
9085         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9086         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
9087         Unref some more to make valgrind happy.
9088
9089 2007-03-22  Wim Taymans  <wim@fluendo.com>
9090
9091         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
9092         (gst_system_clock_id_wait_jitter),
9093         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9094         Fix anoying regression that survived a few releases. When adding an
9095         async entry while blocking on a sync entry, the sync entry will unblock
9096         but still be busy, so it should continue to wait instead of returning
9097         _BUSY to the app.
9098         Add some comments here and there.
9099
9100         * tests/check/gst/gstsystemclock.c: (mixed_thread),
9101         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
9102         Add testcase for this.
9103
9104 2007-03-22  Wim Taymans  <wim@fluendo.com>
9105
9106         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9107         Handle errors from the clock sync better, only UNSCHEDULED indicates a
9108         WRONG_STATE and can silently pause the task. All other cases should
9109         error out.
9110
9111 2007-03-22  Wim Taymans  <wim@fluendo.com>
9112
9113         Patch by: Ville Syrjala <syrjala at sci dot fi>
9114
9115         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
9116         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
9117         Improve debugging.
9118
9119 2007-03-21  Michael Smith  <msmith@fluendo.com>
9120
9121         * docs/pwg/advanced-types.xml:
9122           Fix some errors in the typefinding docs pointed out on irc.
9123
9124 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
9125
9126         * libs/gst/base/gstbasesrc.c:
9127         Clarify FIXME comment in the face of having added unlock_stop()
9128
9129 2007-03-21  Wim Taymans  <wim@fluendo.com>
9130
9131         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
9132         Prepare for release where we warn against possible app breakage in the
9133         case of live pipelines along with an env var to enable/disable live
9134         preroll mode (GST_COMPAT=[no-]live-preroll).
9135
9136 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9137
9138         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
9139         So we should use correct constants for checking for None offset.
9140
9141 2007-03-20  Wim Taymans  <wim@fluendo.com>
9142
9143         * docs/design/part-block.txt:
9144         Mention the fact that the newly switched element should be set to at
9145         least PAUSED.
9146
9147 2007-03-20  Wim Taymans  <wim@fluendo.com>
9148
9149         * gst/gst.c:
9150         Fix compilation with registry disabled as spotted by Saur.
9151
9152 2007-03-20  Wim Taymans  <wim@fluendo.com>
9153
9154         Patch by: Olivier Crete <tester at tester dot ca>
9155
9156         * gst/gstelement.c: (gst_element_sync_state_with_parent):
9157         Look at the pending state too when syncing the element state to the
9158         parent. Fixes #420133.
9159
9160 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
9161
9162         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9163         (gst_base_sink_change_state):
9164         * libs/gst/base/gstbasesink.h:
9165         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9166         (gst_base_src_default_event), (gst_base_src_unlock_stop),
9167         (gst_base_src_deactivate):
9168         * libs/gst/base/gstbasesrc.h:
9169         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
9170         for sub-classes to correctly clear any state they set trying to
9171         unlock, such as clearing out unlock commands from a command fd.
9172         API: basesrc::unlock_stop
9173         API: basesink::unlock_stop
9174
9175         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
9176         (gst_fd_sink_render), (gst_fd_sink_unlock),
9177         (gst_fd_sink_unlock_stop):
9178         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
9179         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
9180         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
9181
9182         Implement unlock_stop in fdsrc and fdsink.
9183         Implement seeking in fdsrc when a seekable fd is passed, as in
9184         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
9185
9186 2007-03-19  Wim Taymans  <wim@fluendo.com>
9187
9188         Patch by: Evan Nemerson <evan at coeus dash group dot com>
9189
9190         * gst/gstelement.c: (gst_element_class_init):
9191         Fix pad-added and pad-removed signal signatures so that the pad type is
9192         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
9193
9194 2007-03-19  Wim Taymans  <wim@fluendo.com>
9195
9196         * docs/gst/gstreamer-sections.txt:
9197         Add new element field and method.
9198
9199         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9200         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
9201         (gst_bin_recalc_state), (gst_bin_get_state_func),
9202         (gst_bin_element_set_state), (gst_bin_change_state_func),
9203         (gst_bin_continue_func), (bin_bus_handler),
9204         (bin_push_state_continue), (bin_handle_async_start),
9205         (bin_handle_async_done), (gst_bin_handle_message_func):
9206         Make async state changes a bit smarter by using new ASYNC_START and
9207         ASYNC_DONE messages. This reduces the number of times we run the state
9208         recalculation thread.
9209         Don't change state of element with a pending ASYNC_START message.
9210         Deprecate STATE_DIRTY messages.
9211         
9212         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
9213         (gst_element_get_state_func), (gst_element_continue_state),
9214         (gst_element_lost_state), (gst_element_set_state_func),
9215         (gst_element_change_state):
9216         * gst/gstelement.h:
9217         Keep the state that was last set by the app in a new element field.
9218         Don't allow state changes when handling an element event.
9219         Post ASYNC_START and ASYNC_DONE messages.
9220         Change lost_state so that we go to PAUSED and wait for the parent to set
9221         us to PLAYING again (so latency calculation can be performed)
9222         Export gst_element_change_state() method so that subclasses can use it.
9223         API: gst_element_change_state()
9224         API: GST_STATE_TARGET
9225
9226         * gst/gstpipeline.c: (gst_pipeline_class_init),
9227         (reset_stream_time), (gst_pipeline_change_state),
9228         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
9229         Using the new ASYNC_START message we can reset the base_time when
9230         needed. This can then be used to implement base_time redistribution in
9231         flushing seeks so that we can remove the explicit seek handling.
9232         Perform latency query and configuration when going to PLAYING.
9233
9234         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9235         (gst_base_sink_query), (gst_base_sink_change_state):
9236         Post new ASYNC_START/ASYNC_DONE messages.
9237
9238         * tests/check/generic/sinks.c: (GST_START_TEST):
9239         Fix test because the bin will not set the async element to PLAYING right
9240         away.
9241
9242         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
9243         Make the message check a little stronger.
9244         Handle ASYNC messages.
9245
9246         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
9247         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
9248         Expect ASYNC_DONE messages.
9249
9250 2007-03-19  Wim Taymans  <wim@fluendo.com>
9251
9252         * docs/gst/gstreamer-sections.txt:
9253         * gst/gstmessage.c: (gst_message_new_async_start),
9254         (gst_message_new_async_done), (gst_message_parse_info),
9255         (gst_message_parse_async_start):
9256         * gst/gstmessage.h:
9257         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
9258         support.
9259
9260 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
9261
9262         * tools/gst-inspect.c:
9263         (print_plugin_automatic_install_info_codecs):
9264           Now that we don't check for the 'Codec' keyword any longer in the
9265           klass, we shouldn't spew a warning if the klass isn't a decoder or
9266           encoder (since it might be a Source/Network, for example).
9267
9268 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
9269
9270         * tools/gst-inspect.c:
9271         (print_plugin_automatic_install_info_codecs):
9272           Don't require decoder/demuxer/depayloader elements or
9273           encoder/muxer/paylader elements to have 'Codec' as part of their
9274           factory class string when introspecting a plugin's capabilities.
9275           draft-klass.txt mentions that it might be removed in future, and
9276           flump3dec doesn't have it as part of its class string, so chances
9277           are others might also not have it.
9278
9279 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9280
9281         * po/af.po:
9282         * po/az.po:
9283         * po/bg.po:
9284         * po/ca.po:
9285         * po/cs.po:
9286         * po/de.po:
9287         * po/en_GB.po:
9288         * po/fr.po:
9289         * po/it.po:
9290         * po/nb.po:
9291         * po/nl.po:
9292         * po/ru.po:
9293         * po/sq.po:
9294         * po/sr.po:
9295         * po/sv.po:
9296         * po/tr.po:
9297         * po/uk.po:
9298         * po/vi.po:
9299         * po/zh_CN.po:
9300         * po/zh_TW.po:
9301           Update translations from translation project
9302
9303 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
9304
9305         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
9306         (gst_child_proxy_set_property):
9307           Invert precondition check to be alike the ones in the mimiced gobject
9308           api.
9309
9310 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
9311
9312         * docs/design/draft-tagreading.txt:
9313         * docs/random/ensonic/audiobaseclasses.txt:
9314           Do some Architect work.
9315
9316         * gst/gstobject.c: (gst_object_set_name):
9317           Add a WARNING.
9318
9319         * gst/gstpad.c:
9320           Add docs that point from gst_pad_get_range to gst_pad_pull_range
9321
9322 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
9323
9324         * gst/gstsystemclock.c: (gst_system_clock_init),
9325         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
9326         Defer starting the async system clock thread until the first async
9327         wait is scheduled. Fixes #414986.
9328
9329 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
9330
9331         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
9332         (gst_single_queue_free):
9333           Fix small leak (free GstSingleQueue structure too, not only contents).
9334
9335 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
9336
9337         * gst/gstbin.c:(gst_bin_add):
9338         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
9339         * win32/common/libgstbase.def:
9340         * win32/common/libgstreamer.def:
9341         Add new exported functions.
9342
9343 2007-03-09  Wim Taymans  <wim@fluendo.com>
9344
9345         * docs/plugins/gstreamer-plugins-sections.txt:
9346         Fix GstTee docs.
9347
9348 2007-03-09  Wim Taymans  <wim@fluendo.com>
9349
9350         * docs/gst/gstreamer-sections.txt:
9351         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
9352         * gst/gstbuffer.h:
9353         Add metadata copy functions. Fixes #393099.
9354         API: gst_buffer_copy_metadata()
9355
9356         * gst/gstutils.c: (gst_buffer_stamp):
9357         * libs/gst/base/gstbasetransform.c:
9358         (gst_base_transform_prepare_output_buffer):
9359         Use new metadata copy functions.
9360
9361 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9362
9363         * plugins/elements/gstidentity.c: (gst_identity_class_init),
9364         (gst_identity_init), (gst_identity_check_perfect),
9365         (gst_identity_check_imperfect_timestamp),
9366         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9367         (gst_identity_set_property), (gst_identity_get_property):
9368         * plugins/elements/gstidentity.h:
9369         Separate out check-imperfect-timestamp and check-imperfect-offset.
9370         Put back check-perfect as it was to keep compatibility.
9371
9372 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
9373
9374         * gst/gstelement.c: (gst_element_dispose):
9375         There's no need to warn if VOID_PENDING is not NONE here, as
9376         long as the state is NULL it's ok, and that's checked immediately
9377         above.
9378
9379 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9380
9381         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9382         Fix check for perfect stream to ignore buffers with -1 
9383         offsets/offset ends when checking data contiguity.
9384
9385 2007-03-08  Wim Taymans  <wim@fluendo.com>
9386
9387         * tools/gst-launch.c: (event_loop):
9388         Print INFO messages.
9389
9390 2007-03-08  Wim Taymans  <wim@fluendo.com>
9391
9392         * libs/gst/base/gstbasetransform.c:
9393         (gst_base_transform_sink_eventfunc),
9394         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9395         (gst_base_transform_activate):
9396         * libs/gst/base/gstbasetransform.h:
9397         Add support for dropping buffers with custom GstFlowReturn.
9398         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
9399         buffers or dropped buffers.
9400
9401         * docs/libs/gstreamer-libs-sections.txt:
9402         docs for new custom return code.
9403
9404         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9405         Use drop support in base class to implement drop-probability.
9406
9407 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
9408
9409         * gst/gst.c: (load_plugin_func):
9410         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
9411         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9412         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9413           Remove newlines at end of debug log strings.
9414
9415 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9416
9417         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9418         Only post bus message at max, once per buffer received.
9419
9420 2007-03-07  Wim Taymans  <wim@fluendo.com>
9421
9422         * docs/design/Makefile.am:
9423         * docs/design/part-synchronisation.txt:
9424         Add doc about synchronisation
9425
9426         * docs/design/draft-latency.txt:
9427         * docs/design/part-TODO.txt:
9428         * docs/design/part-clocks.txt:
9429         * docs/design/part-events.txt:
9430         * docs/design/part-gstbus.txt:
9431         * docs/design/part-gstpipeline.txt:
9432         * docs/design/part-live-source.txt:
9433         * docs/design/part-messages.txt:
9434         * docs/design/part-overview.txt:
9435         * docs/design/part-streams.txt:
9436         * docs/design/part-trickmodes.txt:
9437         Documentation updates.
9438
9439 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9440
9441         * gstreamer.doap:
9442         Update the doap file.
9443
9444 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9445
9446         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9447         Rename non-perfect to imperfect for Mike and for the sanctity of the
9448         language.
9449         Also make sure bus message gets emitted for data-incontiguities.
9450
9451 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9452
9453         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
9454         (gst_identity_start):
9455         * plugins/elements/gstidentity.h:
9456         Emit bus message if check-perfect is true and we encounter a
9457         non-perfect stream between 2 consecutive buffers.
9458         Fixes #415394.
9459
9460 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9461
9462         * configure.ac:
9463         Back to CVS
9464
9465 === release 0.10.12 ===
9466
9467 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
9468
9469         * configure.ac:
9470           releasing 0.10.12, "Inevitable Demise"
9471
9472 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
9473
9474         * configure.ac:
9475          Version 0.10.11.2 (0.10.12 pre-release)
9476          Bump libtool versioning.
9477
9478 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
9479
9480         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9481           Log flow-names and not numbers.
9482
9483 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9484
9485         * configure.ac:
9486           Convert to new AG_GST style.
9487
9488 2007-02-28  Wim Taymans  <wim@fluendo.com>
9489
9490         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
9491         Don't unref query twice.
9492
9493 2007-02-28  Wim Taymans  <wim@fluendo.com>
9494
9495         * gst/gstvalue.c: (gst_value_transform_object_string),
9496         (_gst_value_initialize):
9497         Implement GstObject -> string transform so we print object names
9498         when serializing GValues containing GstObjects.
9499
9500 2007-02-28  Wim Taymans  <wim@fluendo.com>
9501
9502         * docs/gst/gstreamer-sections.txt:
9503         Add new stuff to docs.
9504
9505 2007-02-28  Wim Taymans  <wim@fluendo.com>
9506
9507         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
9508         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
9509         (gst_base_sink_change_state):
9510         Improve latency query code.
9511         Don't leak latency events.
9512
9513         * tests/check/gst/gstbin.c: (GST_START_TEST):
9514         Improve debugging.
9515
9516 2007-02-28  Wim Taymans  <wim@fluendo.com>
9517
9518         * gst/gstelement.c: (gst_element_message_full),
9519         (gst_element_get_state_func):
9520         * gst/gstelement.h:
9521         Improve docs a little. Added Since: for new macro.
9522
9523         * gst/gstobject.c: (gst_object_sink):
9524         * gst/gstpipeline.c: (gst_pipeline_change_state),
9525         (gst_pipeline_set_new_stream_time):
9526         * gst/gstpipeline.h:
9527         Improve debugging and docs.
9528
9529         * gst/gstutils.c: (gst_element_state_change_return_get_name):
9530         Improve debugging.
9531
9532 2007-02-28  Wim Taymans  <wim@fluendo.com>
9533
9534         * gst/gstelement.c: (gst_element_message_full),
9535         (gst_element_set_locked_state), (gst_element_get_state_func),
9536         (gst_element_change_state):
9537         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
9538         Documentation updates.
9539         Small code cleanups.
9540
9541         * gst/gstmessage.c: (gst_message_new_info),
9542         (gst_message_parse_info):
9543         * gst/gstmessage.h:
9544         API: gst_message_new_info()
9545         API: gst_message_parse_info()
9546         Add INFO message create and parse code.
9547
9548 2007-02-28  Wim Taymans  <wim@fluendo.com>
9549
9550         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
9551         (bin_query_latency_done):
9552         Also report the live parameter of a latency query.
9553
9554 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9555
9556         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
9557           Copy the current generic/states example from -base and adapt so
9558           we can use the exact same code everywhere.
9559           Check a STATES_IGNORE_ELEMENTS env var which can be used
9560           to ignore certain element factories for this test, which is
9561           what is being done in -base
9562         * tests/check/Makefile.am:
9563           Mention this environment variable.
9564
9565 2007-02-27  Wim Taymans  <wim@fluendo.com>
9566
9567         * docs/gst/gstreamer-sections.txt:
9568         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9569         (gst_bus_timed_pop), (gst_bus_pop):
9570         * gst/gstbus.h:
9571         API: gst_bus_timed_pop()
9572         Implement gst_bus_timed_pop() to do a blocking timed wait for a
9573         message to arrive on the bus.
9574
9575         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
9576         (gst_bus_suite):
9577         Two unit tests for new _timed_pop() function.
9578
9579 2007-02-23  Wim Taymans  <wim@fluendo.com>
9580
9581         * gst/gstpipeline.c: (gst_pipeline_change_state),
9582         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
9583         Don't ref a NULL clock in _provide_clock_func().
9584         Don't allow an INVALID delay.
9585         Don't try to calculate base_time with an invalid start_time.
9586         Also distribute and notify a NULL clock when it was selected.
9587
9588         * tools/gst-launch.c: (event_loop):
9589         Don't crash when a NULL clock was selected in the pipeline.
9590
9591 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
9592
9593         * docs/design/Makefile.am:
9594         * docs/design/draft-missing-plugins.txt:
9595         * docs/random/draft-missing-plugins.txt:
9596           Some small updates: update plugin system identifier prefix
9597           ('gstreamer.net' to 'gstreamer'), mention our new install
9598           API in libgstbaseutils rather than libgimme-codec, add
9599           reference to the online docs.
9600
9601 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9602
9603         * win32/common/config.h:
9604           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
9605           use moap cl ci to only check in what is mentioned in the ChangeLog.
9606
9607 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9608
9609         * docs/gst/gstreamer-sections.txt:
9610         * gst/gstelement.h:
9611           Fix up documentation to link to the correct GstGError section.
9612           Add GST_ELEMENT_INFO macro since someone else added a Info message.
9613
9614 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9615
9616         * tools/gst-launch.c: (event_loop):
9617           Make sure that we actually show the important message part of a
9618           warning message.
9619           No need to check if the gerror is not NULL to free; first of all
9620           g_free accepts NULL; and second the default error handler would
9621           segfault if gerror was NULL.
9622
9623 2007-02-21  Wim Taymans  <wim@fluendo.com>
9624
9625         * docs/gst/gstreamer-sections.txt:
9626         Removed docs as well.
9627
9628 2007-02-21  Wim Taymans  <wim@fluendo.com>
9629
9630         * gst/gstmessage.c: (gst_message_parse_duration):
9631         * gst/gstmessage.h:
9632         Remove new messages for release.
9633
9634 2007-02-20  Wim Taymans  <wim@fluendo.com>
9635
9636         * docs/design/part-gstghostpad.txt:
9637         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
9638         (gst_ghost_pad_new_full):
9639         Make the ghostpad a parent of the internal pad again for better backward
9640         compatibility. Don't write code that relies on this however.
9641
9642         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
9643         (gst_pad_link_check_hierarchy):
9644         Require that parents should be GstElements in the hierarchy check.
9645
9646 2007-02-20  Wim Taymans  <wim@fluendo.com>
9647
9648         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
9649         (gst_bin_change_state_func), (bin_query_min_max_init),
9650         (bin_query_latency_fold), (bin_query_latency_done),
9651         (gst_bin_query):
9652         Improve debug info.
9653         Implement latency query.
9654
9655 2007-02-20  Wim Taymans  <wim@fluendo.com>
9656
9657         * docs/design/part-gstghostpad.txt:
9658         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
9659         (gst_ghost_pad_internal_do_activate_push),
9660         (gst_ghost_pad_internal_do_activate_pull),
9661         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9662         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
9663         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
9664         Do not set the internal pad as a parent anymore so we can avoid
9665         hierarchy linking errors when the ghostpad has no parent yet. This also
9666         fixes failed activation because of unlinked internal pads, which in
9667         turn fixes the impossible case where you have to activate a pad before
9668         you can add it to a running element.
9669         Also fix the docs.
9670
9671         * gst/gstpad.c: (pre_activate), (post_activate),
9672         (gst_pad_set_active), (gst_pad_activate_pull),
9673         (gst_pad_activate_push), (gst_pad_check_pull_range):
9674         Add some more debug info.
9675         Mark activation mode in pre_activate so that we don't try to activate in
9676         endless loops. Fixes #385084.
9677
9678 2007-02-19  Wim Taymans  <wim@fluendo.com>
9679
9680         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
9681         (gst_base_transform_check_get_range):
9682         Implement a checkgetrange function instead of relying on the default
9683         core behaviour that assumes we can operate in pull mode if we have a
9684         getrange function. First step at fixing #385084.
9685
9686 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
9687
9688         * gst/gstchildproxy.h:
9689         * libs/gst/base/gstbasesink.h:
9690         * libs/gst/base/gstbasesrc.h:
9691         * libs/gst/base/gstbasetransform.h:
9692         More docs coverage and some ChangeLog surgery (add missing names)
9693
9694 2007-02-15  Wim Taymans  <wim@fluendo.com>
9695
9696         * docs/design/part-TODO.txt:
9697         * docs/design/part-activation.txt:
9698         * docs/design/part-block.txt:
9699         * docs/design/part-buffering.txt:
9700         * docs/design/part-clocks.txt:
9701         * docs/design/part-element-source.txt:
9702         * docs/design/part-events.txt:
9703         * docs/design/part-gstbin.txt:
9704         * docs/design/part-gstbus.txt:
9705         * docs/design/part-gstpipeline.txt:
9706         * docs/design/part-live-source.txt:
9707         * docs/design/part-messages.txt:
9708         * docs/design/part-overview.txt:
9709         * docs/design/part-qos.txt:
9710         * docs/design/part-query.txt:
9711         * docs/design/part-states.txt:
9712         * docs/design/part-trickmodes.txt:
9713         Some doc updates. Start renaming from stream_time to running_time where
9714         it was used wrongly.
9715
9716 2007-02-15  Wim Taymans  <wim@fluendo.com>
9717
9718         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
9719         Answer LATENCY query.
9720
9721 2007-02-15  Wim Taymans  <wim@fluendo.com>
9722
9723         * tests/check/gst/gstevent.c: (event_probe), (test_event),
9724         (GST_START_TEST):
9725         Improve debugging.
9726
9727 2007-02-15  Wim Taymans  <wim@fluendo.com>
9728
9729         * gst/gstpad.c: (gst_pad_get_internal_links_default),
9730         (gst_pad_dispatcher):
9731         Improve debugging of default pad dispatcher and query functions.
9732
9733 2007-02-15  Wim Taymans  <wim@fluendo.com>
9734
9735         * docs/gst/gstreamer-sections.txt:
9736         Remove old unused method.
9737
9738 2007-02-13  Wim Taymans  <wim@fluendo.com>
9739
9740         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9741         Fix check
9742
9743 2007-02-13  Wim Taymans  <wim@fluendo.com>
9744
9745         * docs/design/part-seeking.txt:
9746         Some small update.
9747
9748         * gst/gstsegment.c: (gst_segment_set_seek):
9749         Revert old bogus change that should make seeking work again.
9750
9751 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
9752
9753         * docs/random/ensonic/dynlink.txt:
9754         * docs/random/ensonic/interfaces.txt:
9755         * docs/random/ensonic/receipies.txt:
9756           Possible dynamic reconnection api, plus some type fixes the other two
9757           docs.
9758
9759 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
9760
9761         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9762         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9763         Also check for an absolute path following file:// in the filesrc
9764         element. Remove redundant check and call g_path_is_absolute() on the
9765         unescaped location.
9766
9767 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
9768
9769         * docs/design/draft-klass.txt:
9770           Add existing category analysis.
9771           
9772         * gst/gstcaps.c:
9773           Fix doc example, framerate is a fraction.
9774
9775 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
9776
9777         * configure.ac:
9778         * docs/gst/Makefile.am:
9779         * docs/gst/gstreamer-sections.txt:
9780         * docs/libs/Makefile.am:
9781           Erm, forgot a bunch of --extra-dir.
9782
9783 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
9784
9785         * configure.ac:
9786         * docs/gst/Makefile.am:
9787         * docs/libs/Makefile.am:
9788         * docs/plugins/Makefile.am:
9789           Add crossreferences to glib/gobject docs.
9790
9791 2007-02-12  Wim Taymans  <wim@fluendo.com>
9792
9793         * docs/design/draft-latency.txt:
9794         Small update.
9795
9796         * docs/libs/gstreamer-libs-sections.txt:
9797         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
9798         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
9799         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
9800         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
9801         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
9802         (gst_base_sink_get_position), (gst_base_sink_query),
9803         (gst_base_sink_change_state):
9804         * libs/gst/base/gstbasesink.h:
9805         API: gst_base_sink_query_latency() to let subclasses query the upstream
9806         latency.
9807         API: gst_base_sink_get_latency() to let subclasses query the configured
9808         latency in the sink.
9809         Implement query and set latency.
9810         Update some docs.
9811         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
9812         don't continue preroll when we are flushing. Fixes #405284.
9813
9814         * tests/check/pipelines/stress.c: (change_state_timeout),
9815         (quit_timeout), (GST_START_TEST), (stress_suite):
9816         Test for #405284.
9817
9818 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
9819
9820         Patch by: René Stadler <mail at renestadler de>
9821
9822         * docs/gst/gstreamer-sections.txt:
9823         * gst/gsttaglist.c: (_gst_tag_initialize):
9824         * gst/gsttaglist.h:
9825           API: add GST_TAG_REFERENCE_LEVEL (#403597).
9826
9827 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
9828
9829         * docs/libs/Makefile.am:
9830           Fix path to core docs.
9831
9832         * gst/gstbin.c: (gst_bin_get_by_interface),
9833         (gst_bin_iterate_all_by_interface):
9834           Refix docs by also renaming 'interface' to 'iface' in implementation.
9835
9836         * docs/gst/gstreamer-sections.txt:
9837         * gst/gstcaps.c:
9838         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
9839         * gst/gstchildproxy.h:
9840         * gst/gstelementfactory.c:
9841         * gst/gstpadtemplate.h:
9842         * libs/gst/controller/gstcontroller.c:
9843         (gst_controlled_property_new):
9844           Document more.
9845
9846 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
9847
9848         * gst/gstbin.h:(gst_bin_get_by_interface),
9849         (gst_bin_iterate_all_by_interface):
9850         Replace interface parameter name by iface as interface is 
9851         a reserved keyword in Visual Studio for C++ projects so it removes
9852         a build error for application developpers using VS.
9853         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
9854         Fix a bug on Windows in uri format check. Now the prefix checked
9855         is file:// and next we check if the path after file:// is absolute.
9856         * win32/common/libgstbase.def:
9857         * win32/common/libgstdataprotocol.def:
9858         * win32/common/libgstgstreamer.def:
9859         Add new exported functions.
9860
9861 2007-02-09  Andy Wingo  <wingo@pobox.com>
9862
9863         * tests/check/pipelines/simple-launch-lines.c
9864         (simple_launch_lines_suite, test_tee): Disable tee test until I
9865         have time to fix it :-(
9866
9867         * tests/check/Makefile.am (noinst_HEADERS): 
9868         * tests/check/libs/libsabi.c: 
9869         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
9870         * tests/check/gst/gstabi.c: 
9871         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
9872
9873         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
9874         tests for push and pull tee behavior.
9875
9876         * plugins/elements/gsttee.h: 
9877         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
9878         mark as deprecated as well as unimplemented. It was a crack idea.
9879         Add support for tee operating in pull mode, off by default.
9880
9881         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
9882         normal-case logs down to LOG, raise errors to WARNING.
9883         (gst_registry_xml_read_cache): Don't log before calling a function
9884         that logs.
9885
9886         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
9887         exit (registry finalize).
9888         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
9889         DEBUG log when we emit signals that people don't even have the
9890         chance to connect to.
9891         (gst_registry_scan_path_level): Less logging in the normal case.
9892
9893 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
9894
9895         Patch by: Michal Benes <michal dot benes at itonis dot tv>
9896
9897         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
9898         Correctly generate EOS for non-seekable files. We don't have a total
9899         length for them and would get an unexpected end of file if we only
9900         special-cased for regular files. (Fixes: #404569)
9901
9902 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
9903
9904         * tests/check/elements/filesrc.c: (GST_START_TEST),
9905         (filesrc_suite):
9906         Add unit test for the GstURIHandler interface in filesrc. This also
9907         tests the newly added file://localhost/foo/bar support.
9908
9909 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
9910
9911         * gst/gstelementfactory.h:
9912           The klass string is not a hierarchy. Add reference to the design doc
9913           for more information and common types.
9914
9915 2007-02-02  Wim Taymans  <wim@fluendo.com>
9916
9917         * gst/gstquery.c: (gst_query_new_latency):
9918         Remove old structure field.
9919
9920 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
9921
9922         * tools/gst-launch.1.in:
9923           Give example for network streaming (#351998)
9924
9925 2007-02-02  Wim Taymans  <wim@fluendo.com>
9926
9927         * docs/gst/gstreamer-sections.txt:
9928         Add docs for new methods.
9929
9930         * gst/gstevent.c: (gst_event_new_latency),
9931         (gst_event_parse_latency):
9932         * gst/gstevent.h:
9933         Add new LATENCY event to configure latency in a pipeline.
9934         API: gst_event_new_latency
9935         API: gst_event_parse_latency
9936
9937         * gst/gstmessage.c: (gst_message_new_buffering),
9938         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
9939         (gst_message_new_latency), (gst_message_parse_buffering),
9940         (gst_message_parse_lost_preroll):
9941         * gst/gstmessage.h:
9942         Added messages used in draft-latency.
9943         API: gst_message_new_lost_preroll
9944         API: gst_message_parse_lost_preroll
9945         API: gst_message_new_prerolled
9946         API: gst_message_new_latency
9947
9948         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
9949         (gst_query_parse_latency):
9950         * gst/gstquery.h:
9951         Implemented new latency query as in design doc.
9952         API: gst_query_new_latency
9953         API: gst_query_set_latency
9954         API: gst_query_parse_latency
9955
9956 2007-02-02  Wim Taymans  <wim@fluendo.com>
9957
9958         * docs/design/draft-latency.txt:
9959         Slight redesign to allow for dynamic latency adjustments.
9960
9961         * docs/design/part-negotiation.txt:
9962         Fix some typos.
9963
9964 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
9965
9966         reviewed by: Wim Taymans <wim@fluendo.com>
9967
9968         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9969         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9970         Allow file://localhost/foo/bar URLs and correctly fail for every other
9971         hostname that one sets. This was gnomevfssrc is linked for those if
9972         installed as it can handle it (#403172)
9973
9974 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
9975
9976         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
9977
9978         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
9979         (unref_data), (gst_collect_pads_add_pad_full):
9980         * libs/gst/base/gstcollectpads.h:
9981         Don't put the previously added destroy notify in the GstCollectData
9982         struct as all it's padding is already used and we don't want to break
9983         ABI. Instead put in the pad's GObject data for now. This should be
9984         cleaned up for 0.11 (#402393).
9985
9986 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
9987
9988         reviewed by: Wim Taymans <wim@fluendo.com>
9989
9990         * docs/libs/gstreamer-libs-sections.txt:
9991         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
9992         (unref_data), (gst_collect_pads_add_pad),
9993         (gst_collect_pads_add_pad_full):
9994         * libs/gst/base/gstcollectpads.h:
9995         API: Add function to specify a destroy notification for custom
9996         GstCollectData when adding new pads in GstCollectPads (#402393).
9997
9998 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
9999
10000         * po/sv.po:
10001           Update Swedish translation (#378255).
10002
10003 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10004
10005         * docs/design/draft-klass.txt:
10006           Fix the previous change, this is a list of categories and not a hierarchy.
10007
10008 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10009
10010         * docs/design/draft-klass.txt:
10011           Add info about how to get a list of used classes.
10012
10013 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
10014
10015         * plugins/elements/gsttypefindelement.c:
10016         (gst_type_find_element_chain_do_typefinding),
10017         (gst_type_find_element_change_state):
10018           Don't leak found caps in chain function (no idea why that never
10019           showed up as a leak anywhere).
10020
10021 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
10022
10023         * gst/gstplugin.h:
10024           Fix and expand GstPluginDesc API docs.
10025
10026 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10027
10028         * gst/gstcaps.c:
10029         * gst/gstelementfactory.c:
10030         * gst/gstpadtemplate.h:
10031           api doc fixes
10032
10033         * libs/gst/controller/gstcontroller.c:
10034         (gst_controlled_property_new):
10035         * tests/examples/controller/audio-example.c:
10036           comment fixes
10037
10038 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10039
10040         * configure.ac:
10041           comment about refining the xml deps
10042
10043         * docs/manuals.mak:
10044           comments about moving away from jade for docs
10045         
10046         * gst/gst.c:
10047           recommit the ifdefs to use the binary registry
10048         
10049         * gst/gstbin.c: (gst_bin_change_state_func):
10050           this break is obsolete
10051
10052         * gst/gstelementfactory.h:
10053           better GST_ELEMENT_DETAILS docs, add comment about translation
10054
10055         * gst/gstinfo.h:
10056           remove eol slash
10057
10058         * gst/gstobject.c: (gst_signal_object_get_type):
10059           add G_UNLIKELY as usual
10060
10061         * gst/gstpad.c: (gst_pad_event_default):
10062           add fall trhu comment
10063
10064         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10065         (gst_registry_binary_initialize_magic),
10066         (gst_registry_binary_save_string),
10067         (gst_registry_binary_save_pad_template),
10068         (gst_registry_binary_save_feature),
10069         (gst_registry_binary_save_plugin),
10070         (gst_registry_binary_write_cache),
10071         (gst_registry_binary_check_magic),
10072         (gst_registry_binary_load_pad_template),
10073         (gst_registry_binary_load_feature),
10074         (gst_registry_binary_load_plugin),
10075         (gst_registry_binary_read_cache):
10076           comment typo and formatting
10077
10078         * gst/gstutils.c: (gst_element_state_get_name),
10079         (gst_element_state_change_return_get_name):
10080           remove obsolete breaks
10081
10082         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10083           add FIXME 0.11 and remove cpp comment
10084
10085 2007-01-29  Edward Hervey  <edward@fluendo.com>
10086
10087         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10088         Fix print statement in an even more portable way.
10089
10090 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
10091
10092         * docs/gst/gstreamer-sections.txt:
10093         * gst/gstutils.h:
10094           API: add GST_ROUND_DOWN_* macros (#401781).
10095
10096 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
10097
10098         * docs/gst/gstreamer.types.in:
10099         * gst/gstregistry.c: (gst_registry_class_init):
10100           Document registry signals and make gtk-doc pick them up (#401381).
10101
10102 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10103
10104         * docs/pwg/building-testapp.xml:
10105           Add some audioconverts and audioresample to the pipeline, and some
10106           more comments and error handling.
10107
10108 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10109
10110         * docs/manual/manual.xml:
10111         * docs/pwg/pwg.xml:
10112           Fix typo (#400987).
10113
10114 2007-01-26  Wim Taymans  <wim@fluendo.com>
10115
10116         * gst/gstcaps.c: (gst_static_caps_get):
10117         Init caps flags too.
10118
10119 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
10120
10121         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
10122
10123         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10124         If not using mmap'ed files try to seek to the end instead of the
10125         start to determine whether we can seek at all. This fixes the case
10126         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
10127         seeks for everything afterwards fail. Fixes #400656
10128
10129 2007-01-25  Wim Taymans  <wim@fluendo.com>
10130
10131         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
10132         Add some refcount debugging.
10133         Make gst_static_caps_get threadsafe, which is needed when autoplugging
10134         in multiple streaming threads.
10135
10136 2007-01-25  Wim Taymans  <wim@fluendo.com>
10137
10138         Patch by: David Schleef <ds at schleef dot org>
10139
10140         * docs/libs/gstreamer-libs-sections.txt:
10141         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
10142         * libs/gst/base/gstadapter.h:
10143         API: gst_adapter_copy() that can reduce the amount of memcpy when
10144         getting data from the adapter. Fixes #388201.
10145
10146 2007-01-25  Edward Hervey  <edward@fluendo.com>
10147
10148         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10149         In print statements, "%x" is for guint. Fixes build on macosx.
10150
10151 2007-01-24  Edward Hervey  <edward@fluendo.com>
10152
10153         * plugins/elements/gstmultiqueue.c:
10154         (gst_multi_queue_loop):
10155         Small fix.
10156         (single_queue_overrun_cb), (single_queue_underrun_cb),
10157         (single_queue_check_full), (gst_single_queue_new):
10158         Implement single queue growth system.
10159         This uses the extra-size properties, and will grow single queues by
10160         that much if one goes full whereas there are others empty. This is
10161         called extra-mode in the code.
10162         When a single queue's levels go back below the initial max-size
10163         limits, it is no longer in extra-mode. This is to ensure we don't
10164         consume too much memory.
10165         Fixes #399875
10166
10167 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
10168
10169         * gst/gst.c: (gst_init_get_option_group):
10170           Make warning about late g_thread_init() calls a bit more explicit,
10171           so that it's more obvious to application developers what they need
10172           to do if a user files a bug against their application.
10173
10174 2007-01-22  Edward Hervey  <edward@fluendo.com>
10175
10176         * plugins/elements/gstmultiqueue.c:
10177         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
10178         Remove previous hack of unsetting the flushing flag for the source pad
10179         instead of activating it. Instead, fix the source pad activate function
10180         so that it no longer depends on having a parent set or not.
10181
10182 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
10183
10184         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
10185
10186         * docs/manual/basics-bus.xml:
10187           Fix example code, gst_element_unref() doesn't exist any longer.
10188
10189 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
10190
10191         Patch by: Mark Nauwelaerts <manauw at skynet be>
10192
10193         * gst/gstpad.c:
10194           Fix two docs typoes (#399094).
10195
10196 2007-01-19  Edward Hervey  <edward@fluendo.com>
10197
10198         * docs/faq/gst-uninstalled:
10199         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
10200         depending on libgstbaseutils can work in uninstalled environment.
10201
10202 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
10203
10204         * gst/gsttaglist.h:
10205         * gst/gsttagsetter.c:
10206         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
10207         statement for new tag.
10208
10209 2007-01-17  Edward Hervey  <edward@fluendo.com>
10210
10211         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
10212         When dynamically creating single queues, activate sinkpad before adding
10213         it.
10214         We should be doing the same thing for the source pad, but we can't
10215         since it would call a method which needs the parent to be set in order
10216         to work propertly. Instead of activating the source pad, we just unset
10217         the flushing flag, which is the minimal requirement for adding a pad
10218         to an element in a state greater than READY.
10219
10220 2007-01-17  Edward Hervey  <edward@fluendo.com>
10221
10222         * docs/faq/gst-uninstalled:
10223         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
10224         Mac OS X.
10225
10226 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
10227
10228         * tests/check/gst/gstabi.c:
10229         * tests/check/gst/struct_hppa.h:
10230         * tests/check/libs/libsabi.c:
10231         * tests/check/libs/struct_hppa.h:
10232           Add ABI structs for HPPA (see #393796).
10233
10234 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
10235
10236         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10237           Actually write ABI structs to the file specified in the GST_ABI
10238           environment variable, as the message we print claims we would.
10239
10240 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10241
10242         * tests/check/gst/gsttask.c:
10243           Fix header comment.
10244
10245 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10246
10247         * gst/gsttaglist.c: (_gst_tag_initialize):
10248           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
10249           previous two entries.
10250
10251 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10252
10253         * docs/gst/gstreamer-sections.txt:
10254         * gst/gsttaglist.c: (_gst_tag_initialize):
10255         * gst/gsttaglist.h:
10256           Add tag support for beat-per-minute.
10257
10258 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10259
10260         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10261         (gst_registry_binary_initialize_magic),
10262         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
10263         (gst_registry_binary_save_pad_template),
10264         (gst_registry_binary_save_feature),
10265         (gst_registry_binary_save_plugin),
10266         (gst_registry_binary_write_cache),
10267         (gst_registry_binary_check_magic),
10268         (gst_registry_binary_load_pad_template),
10269         (gst_registry_binary_load_feature),
10270         (gst_registry_binary_load_plugin),
10271         (gst_registry_binary_read_cache):
10272         * gst/gstregistrybinary.h:
10273           Use glib types, cleanup comments, impement interfaces and uri-types.
10274
10275 2007-01-13  Andy Wingo  <wingo@pobox.com>
10276
10277         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
10278         getrange() to return buffers with other caps, while we fix
10279         demuxers and typefind, or otherwise change part-negotiation.txt.
10280
10281 2007-01-12  Andy Wingo  <wingo@pobox.com>
10282
10283         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
10284         Factor start/stop into this private function instead of partially
10285         in activate functions and partially in the change_state function.
10286         Fixes setup before the element has changed from READY->PAUSED, as
10287         is the case in pull-mode pipelines.
10288         (gst_base_transform_sink_activate_push)
10289         (gst_base_transform_src_activate_pull): Refactor to use
10290         gst_base_transform_activate().
10291         (gst_base_transform_change_state): Removed, not needed any more.
10292
10293         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10294         Truncate before fixating.
10295         
10296         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10297         Don't set_caps() if the result of fixating is ANY, as it's not
10298         supported, and not necessary in the case of a link with no
10299         template caps on either side. Fixes tests/check/libs/basesrc in
10300         some pull-mode tests.
10301
10302         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
10303         (gst_base_transform_init, gst_base_transform_sink_activate_push)
10304         (gst_base_transform_src_activate_pull): 
10305         Track the activation mode.
10306         (gst_base_transform_setcaps): In pull mode, when activating the
10307         src pad, after activating the sink pad, activate the sink pad's
10308         peer, as discussed in part-negotiation.txt.
10309
10310         * libs/gst/base/gstbasesrc.h: 
10311         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
10312         vmethod, as in basesink.
10313
10314         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
10315
10316         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
10317         mode, first proxy the setcaps to the peer pad.
10318         (gst_base_sink_pad_fixate): Add a fixate function that calls the
10319         new fixate vmethod.
10320         (gst_base_sink_default_activate_pull): Rename from
10321         gst_base_sink_activate_pull.
10322         (gst_base_sink_negotiate_pull): New function, performs negotiation
10323         in pull mode before calling ::activate_pull().
10324         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
10325         vmethod instead of the default implementation. I have no idea how
10326         this worked before. Negotiate before calling activate_pull.
10327
10328         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
10329         sink pads in pull mode. In addition to being correct, fixes
10330         filesrc ! decodebin ! identity ! fakesink.
10331         (gst_pad_get_range, gst_pad_pull_range): Don't call
10332         gst_pad_set_caps() if the caps changes; instead error out with
10333         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
10334
10335 2007-01-12  Andy Wingo  <wingo@pobox.com>
10336
10337         * docs/design/part-negotiation.txt: Update with more policy.
10338
10339 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10340
10341         * libs/gst/check/gstbufferstraw.h:
10342         * libs/gst/check/gstcheck.h:
10343           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
10344           belongs.
10345
10346 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10347
10348         * tests/check/Makefile.am:
10349         * tests/check/gst/.cvsignore:
10350         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
10351         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
10352         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
10353         (GST_START_TEST), (gst_tag_setter_suite):
10354           Add minimal unit test for beforementioned GstTagSetter bug.
10355
10356 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10357
10358         Patch by: René Stadler <mail at renestadler dot de>
10359
10360         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10361           gst_tag_list_merge() returns a new list, so it's not the best idea
10362           to ingore its return value. Effectively meant that tags could only
10363           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10364           Also add function guard to require a non-NULL taglist as input (has
10365           always been so due to gst_tag_list_copy(), just making it explicit).
10366
10367 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10368
10369         * docs/random/draft-missing-plugins.txt:
10370           Some additions: mention new API that is supposed to be used at the
10371           various stages; short blob about new gst-inspect introspection
10372           option; mention potential future problem with plugins that have
10373           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
10374
10375 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10376
10377         * tools/gst-inspect.c:
10378         (print_plugin_automatic_install_info_codecs),
10379         (print_plugin_automatic_install_info_protocols),
10380         (print_plugin_automatic_install_info), (main):
10381         Add --print-plugin-auto-install-info option to gst-inspect, so we can
10382         introspect plugin files and get machine-parsable output that corresponds
10383         to the last bit of the missing-plugin installer string (small gotcha:
10384         doesn't take into account ranks).
10385
10386 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
10387
10388         * configure.ac:
10389         * docs/gst/gstreamer-sections.txt:
10390         * gst/Makefile.am:
10391         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
10392         (gst_registry_lookup_locked):
10393         * gst/gstregistry.h:
10394         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10395         (gst_registry_binary_initialize_magic),
10396         (gst_registry_binary_save_string),
10397         (gst_registry_binary_save_pad_template),
10398         (gst_registry_binary_save_feature),
10399         (gst_registry_binary_save_plugin),
10400         (gst_registry_binary_write_cache),
10401         (gst_registry_binary_check_magic),
10402         (gst_registry_binary_load_pad_template),
10403         (gst_registry_binary_load_feature),
10404         (gst_registry_binary_load_plugin),
10405         (gst_registry_binary_read_cache):
10406         * gst/gstregistrybinary.h:
10407         * gst/gstregistryxml.c: (load_feature),
10408         (gst_registry_xml_read_cache):
10409           commit binary registry (disabled by default, see #359653)
10410
10411 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10412
10413         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
10414           Fix 'make check' too.
10415
10416 2007-01-10  Andy Wingo  <wingo@pobox.com>
10417
10418         * docs/design/part-negotiation.txt: Fix a typo, add a couple
10419         notes.
10420         
10421         * docs/design/part-negotiation.txt: Update with, um, one way that
10422         pull-mode negotiation might work?
10423
10424         * gst/gstpad.h: 
10425         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
10426         that the pad must be a src pad; makes sense to call it the other
10427         way in pull mode, and the logic is symmetric anyway.
10428
10429 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
10430
10431         * plugins/elements/gstfilesink.c:
10432           Include <stdio.h> for fseeko().
10433
10434 2007-01-10  Wim Taymans  <wim@fluendo.com>
10435
10436         * gst/gstevent.c:
10437         * gst/gstevent.h:
10438         Reserve LATENCY event.
10439
10440 2007-01-09  Wim Taymans  <wim@fluendo.com>
10441
10442         * docs/design/draft-latency.txt:
10443         Updates.
10444
10445 2007-01-09  Wim Taymans  <wim@fluendo.com>
10446
10447         * docs/design/draft-latency.txt:
10448         Updates.
10449
10450         * gst/gstelement.h:
10451         * gst/gststructure.c:
10452         * gst/gsttrace.c:
10453         Small typo fixes.
10454
10455 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
10456
10457         * tests/check/.cvsignore:
10458           Ignore test-registry.xml as well.
10459
10460 2007-01-09  Wim Taymans  <wim@fluendo.com>
10461
10462         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10463         unref data at the end when we are done with the pad.
10464
10465 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10466
10467         * docs/gst/gstreamer-sections.txt:
10468         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
10469         (init_post), (gst_deinit), (gst_update_registry):
10470         * gst/gst.h:
10471           API: add gst_update_registry() (#391296).
10472
10473         * tests/check/Makefile.am:
10474         * tests/check/gst/gstregistry.c:
10475         * tests/check/gst/.cvsignore:
10476           Simple unit test for the above.
10477
10478 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10479
10480         * gst/gstregistry.c: (gst_registry_scan_path_level):
10481           Plugin extension on HP-UX is .sl, add that to the list of approved
10482           plugin extensions (see #393796).
10483
10484         * tests/check/gst/gstpad.c: (GST_START_TEST):
10485           ulong => gulong. Fixes compilation with HP-UX compiler.
10486
10487         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10488           Fix compilation if valgrind headers are not available.
10489
10490 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
10491
10492         * win32/common/libgstreamer.def: 
10493           Add new exported function.
10494         * win32/vs6/libgstbase.dsp: 
10495           Add gstdataqueue.c to the build.
10496         * win32/vs6/libgstcoreelements.dsp:
10497           Add gstmultiqueue.c to the build.
10498         
10499 2007-01-06  Andy Wingo  <wingo@pobox.com>
10500
10501         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
10502         activate_pull(), providing for a way to specialize the process of
10503         spawning a thread to pull on the sink pad. There is a default
10504         implementation.
10505
10506         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
10507         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
10508         (gst_base_sink_init): Renamed pad activation functions (inserting
10509         "_pad" in their names). Refactor to use the new activate_pull
10510         vmethod, as appropriate.
10511         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
10512         default activate_pull function to start a task pulling from the
10513         sink pad, as before.
10514
10515         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
10516         on the pads if necessary, as in push()/chain(). Update docs.
10517         Shouldn't affect existing pull() usage as it is currently only
10518         being used on buffers without caps.
10519
10520 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10521
10522         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10523         (init_pre):
10524           Call g_thread_init() first thing in gst_init() / gst_check_init().
10525           When initialisation is done via gst_init_get_option_group() and
10526           GOption parsing, issue a warning if the GLib thread system has not
10527           been initialised yet by the time gst_init_get_option_group() is
10528           called, as it's quite likely other GLib functions such as
10529           g_option_context_new() have been called already then, and
10530           g_thread_init() must be called before any other GLib function. The
10531           application in question must be fixed in that case, since memory
10532           corruption might happen otherwise.
10533           We issue the warning because even if the GLib folks decide to work
10534           around the problem on their end in future, this is still an issue
10535           with all GLib versions >= 2.10.0, so we should warn until we depend
10536           on a GLib version we know to be safe.
10537           Update documentation as well.
10538           Closes bug #391278.
10539
10540 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10541
10542         * tools/gst-inspect.c: (main):
10543         * tools/gst-launch.c: (main):
10544         * tools/gst-typefind.c: (main):
10545         * tools/gst-xmlinspect.c: (main):
10546           Call g_thread_init() really really early, before any other GLib
10547           function (see #342564 and recent discussion on gtk-devel-list).
10548
10549 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10550
10551         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
10552
10553         * gst/gst_private.h:
10554         * gst/gstconfig.h.in:
10555         * gst/gstinfo.h:
10556           On win32, all the __declspec stuff for symbol exporting is
10557           apparently only needed with MSVC, but doesn't work with MingW.
10558           Fixes compilation with MingW and #391909.
10559
10560 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10561
10562         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
10563           Change some GST_ERROR_OBJECT that aren't really errors to
10564           GST_WARNING_OBJECT in order to reduce terminal spam.
10565
10566 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10567
10568         * tests/check/Makefile.am:
10569           disable test again, as there seem to be still race problems
10570
10571 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10572
10573         * tests/check/Makefile.am:
10574         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10575         (GST_START_TEST), (queue_suite):
10576           enable queue test again, add tests for the leaky behaviour
10577
10578 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
10579
10580         * configure.ac:
10581         * tests/examples/Makefile.am:
10582           Compile adapter test/example only if the required headers are
10583           available (fixes #391915).
10584
10585 2007-01-01  David Schleef  <ds@schleef.org>
10586
10587         * gst/gstplugin.c:
10588           Restore the previous signal handler for SIGSEGV instead of
10589           setting to default, since we may have stolen it away from
10590           someone.  (i.e., Mono)
10591
10592 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
10593
10594         * docs/random/draft-missing-plugins.txt:
10595           Some small additions and clarifications.
10596
10597 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
10598
10599         * gst/gstregistryxml.c: (gst_registry_save_escaped):
10600           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
10601           since that can lead to random memory corruptions and crashes
10602           (may or may not be related to #383244, #386711, and #386711).
10603
10604 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10605
10606         * tests/check/.cvsignore:
10607         * tests/check/Makefile.am:
10608           sync .cvsignome and CLEANFILES
10609
10610 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10611
10612         * tests/check/Makefile.am:
10613           fix distcheck
10614
10615 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10616
10617         * docs/design/part-states.txt:
10618           two tiny additional comments
10619         
10620         * gst/gststructure.c:
10621           doc fixing
10622
10623         * tests/check/Makefile.am:
10624         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10625         (GST_START_TEST):
10626           disable test for now, unless it gets fixed
10627
10628 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10629
10630         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10631         (GST_START_TEST):
10632           fix race in underrun test
10633
10634 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10635
10636         * tests/check/elements/.cvsignore:
10637           ignore more
10638
10639         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10640         (GST_START_TEST):
10641           try to narrow test failure
10642
10643 2006-12-21  David Schleef  <ds@schleef.org>
10644
10645         * plugins/elements/gstfakesrc.c:
10646           Use g_random_int_range(), since it produces better random
10647           numbers in a range than almost-correct floating point code.
10648
10649 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10650
10651         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
10652         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
10653         (gst_check_teardown_sink_pad):
10654           do not automatically (de)activate pads
10655
10656         * tests/check/Makefile.am:
10657         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10658         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
10659           add new, yet simple tests for queue
10660
10661         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
10662         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
10663         * tests/check/elements/filesrc.c: (cleanup_filesrc),
10664         (GST_START_TEST):
10665         * tests/check/elements/identity.c: (cleanup_identity):
10666           consistent pad (de)activation
10667
10668 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
10669
10670         Patch by: Sebastian Dröge  <slomo ubuntu com>
10671
10672         * libs/gst/base/gstcollectpads.c:
10673           Fix two doc typos (#387866).
10674
10675 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
10676
10677         * docs/manual/advanced-dparams.xml:
10678           Fix typo (g_object_control_properties() doesn't exist).
10679
10680 2006-12-19  Edward Hervey  <edward@fluendo.com>
10681
10682         * gst/gstsegment.c: (gst_segment_set_seek):
10683         Fine tune the cases where the segment start/stop values are really
10684         updated.
10685         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10686         Add tests for the return values of gst_segment_set_seek().
10687
10688 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
10689
10690         * gst/gst.c:
10691           Docs typo fix.
10692
10693         * plugins/elements/gstqueue.c: (gst_queue_class_init),
10694         (gst_queue_init):
10695           Fix incorrect documentation and flesh it out a bit more.
10696           Set default values for the max properties on the GParamSpec as well,
10697           so it shows up correctly in gst-inspect.
10698
10699 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
10700
10701         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
10702           Correct docs of queue, add more detail and crosslink it more.
10703
10704 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
10705
10706         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
10707           Print additional debug info when the stream isn't perfectly
10708           timestamped; don't try to use invalid durations.
10709
10710 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
10711
10712         * docs/design/Makefile.am:
10713           Dist new design docs.
10714
10715 2006-12-16  Wim Taymans  <wim@fluendo.com>
10716
10717         Patch by: Sjoerd Simons <sjoerd at luon dot net>
10718
10719         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
10720         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
10721         (gst_collect_pads_stop), (gst_collect_pads_event),
10722         (gst_collect_pads_chain):
10723         * libs/gst/base/gstcollectpads.h:
10724         Add refcounting to the collectpads data so we can track when it's safe
10725         to free the data. Fixes #383382.
10726
10727 2006-12-15  Wim Taymans  <wim@fluendo.com>
10728
10729         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
10730         (gst_collect_pads_remove_pad):
10731         Automatically activate/deactivate pads when they are added to a
10732         started/stoped collectpads.
10733
10734 2006-12-15  Wim Taymans  <wim@fluendo.com>
10735
10736         * gst/gstelement.c: (gst_element_add_pad):
10737         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
10738         * gst/gstpad.c: (gst_pad_init):
10739         Set pads to FLUSHING when they are created. Check, warn and fix when a
10740         demuxer adds an inactive pad to itself when running. Fixes #339326.
10741
10742 2006-12-15  Wim Taymans  <wim@fluendo.com>
10743
10744         * gst/gstelement.c: (gst_element_class_init),
10745         (gst_element_default_send_event), (gst_element_send_event),
10746         (gst_element_default_query), (gst_element_query):
10747         Expose default element send_event and query handling as vmethods that
10748         subclasses can chain up to.
10749
10750 2006-12-15  Wim Taymans  <wim@fluendo.com>
10751
10752         * gst/gstelement.c: (gst_element_set_state_func):
10753         Small documentation fixes.
10754
10755 2006-12-15  Wim Taymans  <wim@fluendo.com>
10756
10757         * docs/design/draft-latency.txt:
10758         Checked in draft for handling latency in pipelines.
10759
10760 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10761
10762         * Makefile.am:
10763         * gstreamer.doap:
10764         * gstreamer.spec.in:
10765           adding .doap file
10766
10767 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
10768
10769         * gst/gst.c: (init_pre), (init_post):
10770           init_pre() and init_post() might be called via our GOptionGroup or
10771           from gst_init(), and we should skip both of them if we've already
10772           been initialised, otherwise we will init some things twice or add
10773           two default log functions.
10774
10775 2006-12-13  Edward Hervey  <edward@fluendo.com>
10776
10777         * docs/manual/basics-bus.xml:
10778         No, gst_main_loop does not exist. Its g_main_loop.
10779         Discovered by somebody who abused the copy-paste technique of coding :)
10780
10781 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
10782
10783         * gst/gstghostpad.c:
10784           Log ghostpad debug stuff to the GST_PADS category as well rather
10785           than just to the default category.
10786
10787 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
10788
10789         * configure.ac:
10790         * gst/gst.c: (init_pre):
10791           Add some basic system details such as OS and architecture
10792           to the debug output if possible, courtesy of uname().
10793
10794 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
10795
10796         * docs/gst/running.xml:
10797           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
10798           environment variables.
10799
10800 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
10801
10802         * tests/check/gst/gstbin.c: (GST_START_TEST):
10803         It is acceptable to have a refcount of 2 or 3 at this point in the
10804         test, because the pipeline might be just posting its state_change
10805         message. The next line then waits for that message to appear using
10806         bus_poll, so that should be fine too.
10807
10808 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
10809
10810         * gst/gst.c: (ensure_current_registry_forking):
10811         Ignore EINTR when reading from the child registry pipe.
10812         Explicitly ignore the return value from close, since it makes no
10813         difference.
10814
10815         * gst/gstminiobject.c: (gst_mini_object_ref),
10816         (gst_mini_object_unref):
10817         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
10818
10819         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
10820         When removing cached plugins, remove their features too, so they're
10821         not visible after they've disappeared.
10822
10823         * gst/gstutils.c: (prepare_link_maybe_ghosting):
10824         In the unlikely case that we are linking pads with no parents, don't
10825         crash trying to get the non-existent parent bin.
10826
10827         * gst/parse/grammar.y:
10828         Output debug in the PIPELINE category
10829
10830 2005-03-08  Wim Taymans  <wim@fluendo.com>
10831
10832         Patch by: René Stadler <mail at renestadler dot de>
10833
10834         * gst/gstclock.c: (gst_clock_new_periodic_id):
10835         Reject invalid clock times for interval of periodic ids.
10836         Fixes ##383506.
10837
10838 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
10839
10840         * gst/gstelementfactory.c: (gst_element_factory_create):
10841         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10842         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
10843         * tools/gst-inspect.c: (print_element_info):
10844         Fix refcounting of gst_plugin_feature_load to match the docs. 
10845         Fixes: #380129
10846
10847 2006-12-07  Wim Taymans  <wim@fluendo.com>
10848
10849         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
10850         (gst_base_sink_get_position):
10851         Improve debugging of events.
10852
10853 2006-12-07  Wim Taymans  <wim@fluendo.com>
10854
10855         Patch by: René Stadler <mail at renestadler dot de>
10856
10857         * gst/gstclock.c: (gst_clock_id_wait):
10858         Make period ids add the interval to the origial requested time instead
10859         of the possibly updated time which can be wrong when there are multiple
10860         waiters for the same id. Fixes #382592.
10861
10862         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
10863         (gst_system_clock_id_wait_jitter_unlocked),
10864         (gst_system_clock_id_wait_jitter):
10865         Fix restart in the async notify thread when an async entry is added to
10866         the front of the list. Fixes #381492. 
10867
10868         * tests/check/gst/gstsystemclock.c: (store_callback),
10869         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
10870         Added test for multiple async waits.
10871         Added test for async wait order.
10872
10873 2006-12-07  Wim Taymans  <wim@fluendo.com>
10874
10875         * gst/gstbin.c: (gst_bin_query):
10876         Add some more docs about the POSITION query.
10877
10878 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
10879
10880         * configure.ac:
10881         Bump version nano - back to CVS.
10882
10883 === release 0.10.11 ===
10884
10885 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
10886
10887         * configure.ac:
10888           releasing 0.10.11, "Love never runs on time"
10889
10890 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
10891
10892         * win32/common/libgstbase.def:
10893         * win32/common/libgstreamer.def:
10894         * win32/vs8/libgstbase.vcproj:
10895         * win32/vs8/libgstcoreelements.vcproj:
10896         * win32/vs8/libgstreamer.vcproj:
10897         Fix compilation on win32 under VS8
10898         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
10899         Partially fixes #381175
10900
10901 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
10902
10903         * gst/gstvalue.c: (gst_value_compare_fraction):
10904         If someone is foolish enough to compare 2 fractions with denominator =
10905         0, return UNORDERED rather than aborting.
10906
10907 2006-11-28  Edward Hervey  <edward@fluendo.com>
10908
10909         * libs/gst/base/Makefile.am:
10910         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
10911         (gst_data_queue_base_init), (gst_data_queue_class_init),
10912         (gst_data_queue_init), (gst_data_queue_new),
10913         (gst_data_queue_cleanup), (gst_data_queue_finalize),
10914         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
10915         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
10916         (gst_data_queue_is_empty), (gst_data_queue_is_full),
10917         (gst_data_queue_set_flushing), (gst_data_queue_push),
10918         (gst_data_queue_pop), (gst_data_queue_drop_head),
10919         (gst_data_queue_set_property), (gst_data_queue_get_property):
10920         * libs/gst/base/gstdataqueue.h:
10921         New GstDataQueue object for threadsafe queueing. Most useful for
10922         elements that need some queueing functionnality.
10923         * docs/libs/gstreamer-libs-docs.sgml:
10924         * docs/libs/gstreamer-libs-sections.txt:
10925         Insert documentation for GstDataQueue
10926         * plugins/elements/Makefile.am:
10927         * plugins/elements/gstelements.c:
10928         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
10929         (gst_multi_queue_class_init), (gst_multi_queue_init),
10930         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
10931         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
10932         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
10933         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
10934         (gst_multi_queue_loop), (gst_multi_queue_chain),
10935         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
10936         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
10937         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
10938         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
10939         (wake_up_next_non_linked), (compute_next_non_linked),
10940         (single_queue_overrun_cb), (single_queue_underrun_cb),
10941         (single_queue_check_full), (gst_single_queue_new):
10942         * plugins/elements/gstmultiqueue.h:
10943         New multiqueue element, using GstDataQueue. Used for queuing multiple
10944         streams.
10945         Closes #344639 and #347785
10946
10947 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
10948
10949         * docs/pwg/advanced-types.xml:
10950           add more missing type details
10951
10952         * tools/gst-run.c: (main):
10953           remove unused variable
10954
10955 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
10956
10957         * docs/libs/Makefile.am:
10958         * docs/libs/gstreamer-libs.types:
10959           add types of base classes to enable gobject specific stuff in the docs
10960
10961         * docs/random/ensonic/embedded.txt:
10962           more ideas about isolating platform specific things
10963
10964 2006-11-20  Wim Taymans  <wim@fluendo.com>
10965
10966         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
10967
10968         * libs/gst/check/gstcheck.h:
10969         Fix compilation and running against 0.9.4. Fixes #377332.
10970
10971 2006-11-20  Wim Taymans  <wim@fluendo.com>
10972
10973         * gst/gstsegment.c: (gst_segment_set_seek),
10974         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
10975         (gst_segment_to_running_time):
10976         Fix boundary checking in to_running_time() and to_stream_time().
10977         Fixes #377183.
10978
10979         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10980         stream and running time can now be calculated for the complete
10981         clipped segment.
10982
10983 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
10984
10985         * gst/gstpad.c: (gst_pad_push_event):
10986           Can't access event structure after giving away ownership of
10987           the event.
10988
10989 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
10990
10991         * docs/random/ensonic/embedded.txt:
10992         * docs/random/ensonic/profiling.txt:
10993         * docs/random/ensonic/receipies.txt:
10994           more thinking
10995
10996 2006-11-13  Wim Taymans  <wim@fluendo.com>
10997
10998         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
10999
11000         * gst/gstpad.c:
11001         Fix documentation for gst_pad_dispatcher. Fixes #374475.
11002
11003 2006-11-13  Wim Taymans  <wim@fluendo.com>
11004
11005         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
11006
11007         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11008         Store new length in segment duration so we don't keep on calling the
11009         potentially expensize get_size() call. Fixes #370865.
11010
11011 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
11012
11013         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
11014
11015         * win32/common/libgstreamer.def:
11016           Add two missing symbols (#366492).
11017
11018 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
11019
11020         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
11021         (gst_adapter_take_buffer):
11022         Fix format string to use all its arguments.
11023         Remove useless >= check on a guint
11024
11025 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11026
11027         * tests/examples/adapter/.cvsignore:
11028         Ignore build file as commanded by the build-bot
11029
11030 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11031
11032         * tests/examples/adapter/Makefile.am:
11033         * tests/examples/adapter/adapter_test.c: (run_test_take),
11034         (run_test_take_buffer), (run_tests), (main):
11035
11036         Add new files from the previous commit
11037
11038 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11039
11040         * Makefile.am:
11041         * configure.ac:
11042         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
11043         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
11044         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
11045         * libs/gst/base/gstadapter.h:
11046         * tests/check/libs/adapter.c: (create_and_fill_adapter),
11047         (GST_START_TEST), (gst_adapter_suite):
11048         * tests/examples/Makefile.am:
11049         Do some optimisation work in GstAdapter to avoid copies in more cases.
11050         It could still do slightly better by merging buffers when
11051         gst_buffer_is_span_fast is true, but is already faster. 
11052
11053         Also, avoid traversing a single-linked list to append each incoming 
11054         buffer inside the adapter.
11055
11056         Add simple test app that times the adapter behaviour in different
11057         situations, and extend the unit test to check that bytes enter and
11058         exit the adapter in their original order.
11059
11060 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
11061
11062         * docs/random/draft-missing-plugins.txt:
11063           Update: use element message instead of adding a new message
11064           type to the core; don't provide GStreamer API to initiate the
11065           plugin download, just provide API to compose the strings needed
11066           and let an external libgimmestuff handle the rest.
11067
11068 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
11069
11070         * tools/gst-inspect.c: (print_element_properties_info):
11071         Print a string instead of 'unknown type' for GValueArray properties
11072
11073 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
11074
11075         * docs/random/draft-missing-plugins.txt:
11076         More small fixes.
11077
11078 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11079
11080         * tests/examples/typefind/typefind.c: (type_found), (main):
11081           Make typefind element example work again (#371894); add a
11082           license header.
11083
11084 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11085
11086         * docs/random/draft-missing-plugins.txt:
11087           Commit initial draft about how to deal with missing plugins,
11088           needs work (API too).
11089
11090 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
11091
11092         * docs/pwg/advanced-types.xml:
11093           documents the new caps elements (see #363118)
11094
11095 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11096
11097         * gst/gstplugin.c: (gst_plugin_load_file):
11098         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
11099         (gst_file_src_map_region), (gst_file_src_start):
11100         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
11101         (gst_file_index_commit):
11102           Use g_strerror() instead of strerror() - we want UTF-8.
11103
11104 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11105
11106         Patch by: Peter Kjellerstedt <pkj at axis com>
11107
11108         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11109           Another printf fix (#371493).
11110
11111 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11112
11113         * tests/check/gst/gsttag.c:
11114           relicence (okay with author=company)
11115
11116 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11117
11118         * gst/gstpad.c: (gst_pad_event_default_dispatch),
11119         (gst_pad_push_event):
11120           Enhance debug and improve docs
11121         
11122         * gst/gsturi.c:
11123           Fix docs
11124
11125 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11126
11127         * docs/random/ensonic/distributed.txt:
11128         * docs/random/ensonic/profiling.txt:
11129           more ideas
11130
11131 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11132
11133         * docs/gst/gstreamer-sections.txt:
11134           add new API and fix the build
11135           
11136         * gst/gstbin.c: (gst_bin_recalc_state):
11137         * gst/gstelement.c: (gst_element_message_full),
11138         (gst_element_get_state_func), (gst_element_set_state_func):
11139           use new API and improve logging
11140         
11141         * gst/gstutils.c: (gst_element_state_change_return_get_name):
11142         * gst/gstutils.h:
11143           API: add function to get StateChangereturn names to improve logs 
11144
11145 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11146
11147         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11148           I'm considering shooting the next person to put strerror stuff
11149           in the translateable part of the message.
11150
11151 2006-11-03  Wim Taymans  <wim@fluendo.com>
11152
11153         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11154         Get the type and printf conversion specifiers right.
11155
11156 2006-11-03  Wim Taymans  <wim@fluendo.com>
11157
11158         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11159
11160         * gst/gstpad.c: (gst_pad_init), (pre_activate),
11161         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
11162         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
11163         Some small cleanups. Improve debugging.
11164         * gst/gstpad.h:
11165         Signal all waiting threads with a broadcast instead of just one.
11166         Fixes #369942.
11167
11168 2006-11-03  Wim Taymans  <wim@fluendo.com>
11169
11170         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
11171         (gst_fd_src_create):
11172         Add some debugging. 
11173         Only update fd when it's different from the old.
11174
11175 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11176
11177         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
11178           Printf fixes for PPC/OSX, take two (#369366).
11179
11180 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11181
11182         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
11183
11184         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11185         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11186         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
11187           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
11188           don't cast to long long for portability reasons, but use
11189           GLib's types instead.
11190
11191 2006-10-30  Michael Smith  <msmith@fluendo.com>
11192
11193         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11194           Get the arguments to lseek() the right way around.
11195           Fixes 367677.
11196
11197 2006-10-30  Wim Taymans  <wim@fluendo.com>
11198
11199         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
11200
11201         * gst/gstinfo.h:
11202         _declspec should be __declspec (two underscores, not one). Fixes 366572.
11203
11204 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11205
11206         Patch by: Kjartan Maraas  <kmaraas at gnome org>
11207
11208         * docs/design/part-MT-refcounting.txt:
11209         * docs/random/wtay/capsnego2-docs:
11210         * gst/gstclock.c:
11211         * gst/gstxml.c:
11212           Typo fixes (#366212).
11213
11214 2006-10-28  Wim Taymans  <wim@fluendo.com>
11215
11216         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11217
11218         * gst/gst.c:
11219         * win32/common/libgstbase.def:
11220         * win32/common/libgstreamer.def:
11221         * win32/vs8/libgstbase.vcproj:
11222         * win32/vs8/libgstcontroller.vcproj:
11223         Add needed entries in .def files.
11224         Use HAVE_UNISTD_H.
11225         Rearrange def files in vs8 solutions. Fixes #366286.
11226
11227 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11228
11229         * win32/common/gstconfig.h:
11230           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
11231           hand-made win32 gstconfig.h. Fixes #366321.
11232
11233 2006-10-27  Wim Taymans  <wim@fluendo.com>
11234
11235         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
11236         (gst_ghost_pad_new_full):
11237         Make acceptcaps return TRUE when we don't have a target, just like
11238         setcaps does.
11239
11240 2006-10-27  Wim Taymans  <wim@fluendo.com>
11241
11242         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11243         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
11244
11245 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
11246
11247         * gst/gststructure.c: (gst_structure_id_set_value):
11248           If someone tries to set a non-UTF8 string field on a structure,
11249           don't just print a warning, but also ignore the request and do
11250           not change/add that field to the structure.
11251
11252         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11253           Test for the above.
11254
11255 2006-10-25  David Schleef  <ds@schleef.org>
11256
11257         * gst/gstinfo.c:
11258           g_hash_table_insert() needs a cast to a non-const pointer duh.
11259
11260 2006-10-25  David Schleef  <ds@schleef.org>
11261
11262         * gst/gstinfo.c:
11263         * gst/gstinfo.h:
11264           Change name parameter of _gst_debug_register_funcptr to const
11265           to reflect the constness of its use in the function as well
11266           as to quiet a gcc warning.
11267
11268 2006-10-25  Edward Hervey  <edward@fluendo.com>
11269
11270         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11271         Don't push the buffer if it's empty.
11272         Closes #363095
11273
11274 2006-10-24  Wim Taymans  <wim@fluendo.com>
11275
11276         * gst/gstevent.h:
11277         Add small comment.
11278
11279         * libs/gst/base/gstbasetransform.c:
11280         (gst_base_transform_sink_eventfunc):
11281         Debug segment values *after* updating them as this is more
11282         interesting.
11283
11284 2006-10-23  Wim Taymans  <wim@fluendo.com>
11285
11286         * docs/design/part-events.txt:
11287         Update some docs.
11288
11289         * docs/design/part-block.txt:
11290         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11291         (gst_pad_push_event):
11292         Revert BLOCKING patch, it tries to be smart without really having a
11293         clear idea what or how. So, now we discard all FLUSHING events again on
11294         a blocking pad. Should fix gnonlin again.
11295
11296 2006-10-23  Wim Taymans  <wim@fluendo.com>
11297
11298         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11299
11300         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11301         (gst_base_src_start), (gst_base_src_activate_push):
11302         Make sure size is always initialized. Fixes #364388.
11303
11304 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
11305
11306         * docs/random/ensonic/distributed.txt:
11307           add some ideas about doing distributed processing
11308
11309         * docs/random/ensonic/profiling.txt:
11310           get_rusage look promising
11311
11312 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11313
11314         * docs/manual/basics-helloworld.xml:
11315           Add a cast in example to fix compile warning
11316
11317 2006-10-18  Wim Taymans  <wim@fluendo.com>
11318
11319         * gst/gstsegment.c: (gst_segment_set_last_stop),
11320         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11321         Relax arg checking again, -1 is allowed.
11322
11323 2006-10-18  Wim Taymans  <wim@fluendo.com>
11324
11325         * gst/gstsegment.c: (gst_segment_set_last_stop),
11326         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11327         _set_last_stop() must be with a value != -1
11328         A _TYPE_SET to -1 means seek to 0.
11329         Calc last_stop correctly for negative rates.
11330         Make sure we work with positive durations when updating a segment.
11331
11332 2006-10-18  Wim Taymans  <wim@fluendo.com>
11333
11334         * docs/design/part-live-source.txt:
11335         * gst/gstclock.h:
11336         Small docs fixes.
11337
11338 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
11339
11340         * gst/gstbuffer.h:
11341           Add an explicit cast to GstBuffer** to keep old code that added an
11342           explicit cast to GstMiniObject** for gst_mini_object_replace()
11343           compiling without warning.
11344
11345 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11346
11347         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
11348           check for validity of dates
11349
11350 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11351
11352         * docs/gst/gstreamer-sections.txt:
11353           Forgot this one, makes gtk-doc shut up.
11354
11355 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11356
11357         Patch by: Peter Kjellerstedt <pkj at axis com>
11358
11359         * gst/gstobject.h:
11360           Don't define xmlNodePtr to gpointer if the core was built with
11361           --disable-loadsave and --disable-registry, this will break
11362           applications that want to use libxml2 but are buildling against a
11363           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11364           instead so we don't have to mess with the libxml2 namespace
11365           (#361675).
11366
11367 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11368
11369         * gst/gstbuffer.h:
11370           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
11371           type-punned pointer warnings.
11372
11373 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
11374
11375         * gst/gstelement.h:
11376           Add casts to the correct return type to state <=> state transition
11377           macros.
11378
11379 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
11380
11381         * docs/design/part-live-source.txt:
11382           describe howto handle latency
11383         
11384         * docs/random/ensonic/profiling.txt:
11385           more ideas
11386
11387         * tools/gst-plot-timeline.py:
11388           fix log parsing for solaris, remove unused function
11389
11390 2006-10-16  Wim Taymans  <wim@fluendo.com>
11391
11392         * docs/design/part-trickmodes.txt:
11393         * gst/gstevent.c:
11394         Update some docs regarding reverse playback.
11395
11396 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
11397
11398         Patch by: Marcus Granado  <mrc dot gran at gmail com>
11399
11400         * win32/vs8/grammar.vcproj:
11401           Error out with a warning if glib-genmarshal.exe is not in path,
11402           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
11403
11404 2006-10-13  Wim Taymans  <wim@fluendo.com>
11405
11406         * gst/gstsegment.c: (gst_segment_set_seek):
11407         When seeking to stop -1, set last_stop (current position) to the
11408         duration of the segment.
11409
11410 2006-10-13  Wim Taymans  <wim@fluendo.com>
11411
11412         * gst/gstelement.h:
11413         Clarify _NO_PREROLL a bit more.
11414
11415         * gst/gstevent.c:
11416         Fix docs.
11417
11418         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
11419         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
11420         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
11421         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
11422         due to wrong locking order. Fixes #361769.
11423         Remove some redundant/misplaced checks in pad_block.
11424
11425         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11426         For negative rates, count backwards from the duration.
11427
11428 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
11429
11430         * gst/gsterror.c: (_gst_library_errors_init):
11431           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
11432           up with something better).
11433
11434 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11435
11436         * win32/vs6/libgstreamer.dsp:
11437         * win32/vs7/libgstreamer.vcproj:
11438         * win32/vs8/libgstreamer.vcproj:
11439           Don't reference glib-compat.c which is currently not used and not
11440           disted; add gstquark.c which was recently added. Fixes #361730.
11441
11442 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11443
11444         * win32/common/libgstbase.def:
11445         * win32/common/libgstcontroller.def:
11446         * win32/common/libgstreamer.def:
11447           Add gst_caps_merge() and a bunch of other recently-added functions.
11448           Fixes #361732.
11449
11450 2006-10-11  Wim Taymans  <wim@fluendo.com>
11451
11452         * docs/plugins/gstreamer-plugins.args:
11453         * docs/plugins/inspect/plugin-coreelements.xml:
11454         * docs/plugins/inspect/plugin-coreindexers.xml:
11455         Update element args.
11456
11457         * gst/gstsystemclock.c:
11458         Small comment update.
11459
11460         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11461         (gst_tee_request_new_pad), (gst_tee_release_pad),
11462         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
11463         (gst_tee_sink_activate_pull):
11464         * plugins/elements/gsttee.h:
11465         Some tee loving:
11466         Add default property defines.
11467         Implement release pad function.
11468         Give properties better blubs etc.
11469         Activate pads before adding them to a running tee.
11470         Do simple buffer_alloc on the first requested pad.
11471         Post error when activation fails.
11472
11473 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11474
11475         * gst/gst.c: (ensure_current_registry_forking):
11476           Check return value of write() to make compiler happy.
11477
11478 2006-10-11  Wim Taymans  <wim@fluendo.com>
11479
11480         Patch by: Sjoerd Simons <sjoerd at luon dot net>
11481
11482         * plugins/elements/gstqueue.c: (gst_queue_chain):
11483         Recheck queue filledness after signalling the overrun when we're about
11484         to leak downstream because we released the lock when emitting the signal
11485         and the queue could be empty again. Fixes #352345.
11486
11487 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11488
11489         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
11490           Fix refcounting here too, just like we did for _new_valist() a few
11491           days ago (#357180) (thanks to René Stadler). Also remove all those
11492           'Since: 0.9' from the gtk-doc blobs.
11493
11494         * tests/check/libs/controller.c: (controller_refcount_new_list),
11495         (gst_controller_suite):
11496           Unit test for the above.
11497
11498 2006-10-10  Wim Taymans  <wim@fluendo.com>
11499
11500         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
11501
11502         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
11503         (gst_pad_save_thyself):
11504         Update some docs.
11505         Write pad direction in XML output. Fixes #345496.
11506
11507 2006-10-10  Wim Taymans  <wim@fluendo.com>
11508
11509         Patch by: René Stadler <mail at renestadler dot de>
11510
11511         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11512         (gst_controller_new_list), (_gst_controller_dispose),
11513         (_gst_controller_finalize), (_gst_controller_class_init):
11514         Take ref to controlled object so that it cannot disappear. 
11515         Fixes #357432.
11516
11517 2006-10-10  Wim Taymans  <wim@fluendo.com>
11518
11519         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11520         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11521         (gst_check_teardown_sink_pad):
11522         Activate/deactivate pads in setup/teardown respectively.
11523
11524 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11525
11526         Patch by: Josep Torra Valles <josep@fluendo.com>
11527
11528         * gst/Makefile.am:
11529         Cast values when making gstenumtypes.h.  This pacifies Forte
11530         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
11531         in the enumeration.
11532
11533 2006-10-09  Wim Taymans  <wim@fluendo.com>
11534
11535         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
11536         Rename some more @cur to @start to fix docs. 
11537
11538         * gst/gstsegment.c: (gst_segment_set_seek):
11539         Fix typo.
11540         time and start must always stay in sync as defined in design doc.
11541
11542         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11543         Rename param to fix docs.
11544
11545         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11546         Check that start and time are in sync.
11547
11548         * tests/check/pipelines/parse-launch.c:
11549         (gst_parse_test_element_change_state):
11550         Activate pad before adding to the element.
11551
11552 2006-10-09  Wim Taymans  <wim@fluendo.com>
11553
11554         * docs/design/part-qos.txt:
11555         Fix typo.
11556
11557         * gst/gstevent.c:
11558         * gst/gstevent.h:
11559         Update seek event docs regarding negative rates.
11560         Rename @cur to @start. 
11561
11562         * gst/gstsegment.c: (gst_segment_set_seek):
11563         * gst/gstsegment.h:
11564         Update set_seek docs regarding negative rates.
11565         Correctly update last_stop to @stop when dealing with negative
11566         rates.
11567         Rename @cur to @start. 
11568
11569         * tests/check/gst/gstpad.c: (GST_START_TEST):
11570         Activate pads before trying to use them.
11571
11572         * tests/check/gst/gstsegment.c: (GST_START_TEST),
11573         (gst_segment_suite):
11574         Add simple check for segments and negative rates.
11575
11576 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
11577
11578         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11579         * gst/gsttaglist.h:
11580         * docs/gst/gstreamer-sections.txt:
11581           API: add gst_tag_list_is_empty() (#360467).
11582
11583         * tests/check/gst/gsttag.c: (GST_START_TEST):
11584           And a test case.
11585
11586 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11587
11588         * gst/gstmessage.h:
11589         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
11590         a value that doesn't fit on enumeration.
11591
11592 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11593
11594         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11595         Remove local debugging system and use Gstreamer's instead.
11596
11597 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11598
11599         Patch by: Josep Torra Valles <josep@fluendo.com>
11600
11601         * common/m4/gst-error.m4:
11602         Disable warning of statement not reached on Forte.
11603         * gst/gstmessage.h:
11604         Fix warning on Forte (value doesn't fit on enumeration).
11605         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
11606         Fix warning on Forte (value doesn't fit on enumeration).
11607         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11608         DEBUG macro says it takes minimum of 2 args and so Forte
11609         complains about the use with just 1 arg.
11610         * plugins/elements/gstfdsink.c:
11611         * plugins/elements/gstfdsrc.c:
11612         * plugins/elements/gstfilesink.c:
11613         * plugins/elements/gstfilesrc.c:
11614         Use correct return type for the uri handler implementations.
11615
11616         All these fix warnings in Forte.  Fixes bug #360860.
11617
11618 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
11619
11620         * gst/gstelement.h:
11621           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
11622           format string, so don't use G_GNUC_PRINTF for those versions.
11623
11624 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
11625
11626         * gst/gsttaglist.c: (gst_is_tag_list):
11627         * gst/gsttaglist.h:
11628           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
11629
11630         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11631           Small test for the above.
11632
11633 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
11634
11635         * gst/gsttaglist.h:
11636           Less tabs, more spaces.
11637
11638 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
11639
11640         * gst/gstinfo.h:
11641           Those two function declarations do actually belong there, revert
11642           commit from yesterday that turned them intro macros.
11643
11644 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11645
11646         Patch by: Josep Torra Valles <josep@fluendo.com>
11647
11648         * gst/gst.c: (gst_init_get_option_group):
11649         Fix empty declaration and type mismatch.
11650         * gst/gstbin.c: (gst_bin_change_state_func):
11651         Fix type mismatch.
11652         * gst/gstelement.c: (gst_element_continue_state),
11653         (gst_element_set_state_func), (gst_element_change_state),
11654         (gst_element_change_state_func):
11655         Fix type mismatches.
11656         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
11657         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
11658         Cast as appropriate.
11659         * gst/gstobject.c: (gst_class_signal_connect):
11660         Cast as appropriate.  The function pointer parameter really
11661         has the wrong type but would break API if we change it.
11662         * gst/gstquery.c:
11663         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
11664         order of including string.h.
11665         * gst/gstutils.c: (gst_element_state_get_name):
11666         Remove unreachable line.
11667         * gst/gstxml.c: (gst_xml_parse_doc):
11668         Fix type mismatch.
11669         All these caught by Forte.
11670
11671 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11672
11673         Patch by: Josep Torra Valles <josep@fluendo.com>
11674
11675         * common/m4/gst-error.m4:
11676         Fixed bug #360151.
11677         We need to disable warnings on Forte for empty declarations
11678         due to gst-indent adding ;s to lines that just use macros
11679         where the macro actually doesn't need a ; at end to end
11680         statement.
11681
11682 2006-10-06  Wim Taymans  <wim@fluendo.com>
11683
11684         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
11685         (gst_file_sink_close_file), (gst_file_sink_event),
11686         (gst_file_sink_render):
11687         Add some FIXME for the NEWSEGMENT handling.
11688
11689 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11690
11691         * gst/parse/grammar.y:
11692         Remove static function gst_parse_element_lock as all it does
11693         is return.  Looks like cruft from 0.8.
11694
11695 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11696
11697         Patch by: Josep Torra Valles <josep@fluendo.com>
11698
11699         * common/m4/gst-error.m4:
11700         * configure.ac:
11701         * libs/gst/net/Makefile.am:
11702         Fix a compilation issue with Forte on Solaris.  inet_aton is in
11703         libresolv.
11704
11705 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
11706
11707         * gst/gstpad.c: (pre_activate):
11708         * gst/gstregistry.c: (gst_registry_scan_path_level):
11709         * gst/gstregistryxml.c: (load_plugin):
11710         * libs/gst/controller/gstcontroller.c:
11711         (gst_controlled_property_set_interpolation_mode):
11712         * libs/gst/dataprotocol/dataprotocol.c:
11713         (gst_dp_packet_from_event_1_0):
11714         * libs/gst/net/gstnetclientclock.c:
11715         (gst_net_client_clock_observe_times):
11716         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11717           Printf fixes.
11718
11719 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
11720
11721         * configure.ac:
11722         * docs/gst/gstreamer-sections.txt:
11723         * gst/gstconfig.h.in:
11724         * gst/gstelement.h:
11725         * gst/gstinfo.h:
11726           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
11727           whether we can use G_GNUC_PRINTF in other header files and at
11728           least check the printf format/arguments of debug messages and
11729           GST_ELEMENT_ERROR messages when the printf extension is not
11730           being used.
11731           Replace more tabs with spaces in gstinfo.h and remove two spurious
11732           function declarations in GST_DISABLE_DEBUG part with macros.
11733
11734 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
11735
11736         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
11737           More docs for the sync-message signal (mention that it is not
11738           emitted by default); log message structures of messages posted on
11739           the bus as well.
11740
11741 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
11742
11743         * gst/gst.c: (ensure_current_registry_forking):
11744         Use a pipe pair to receive status results from the forked child, and
11745         ignore the result from waitpid. Fixes #355499
11746
11747 2006-10-02  Wim Taymans  <wim@fluendo.com>
11748
11749         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
11750         (gst_ghost_pad_suite):
11751         Fix leak in check.
11752
11753 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
11754
11755         * gst/gstpad.c:
11756           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
11757
11758 2006-10-02  Edward Hervey  <edward@fluendo.com>
11759
11760         * docs/design/part-block.txt:
11761         Further explain the use of flushing on blocked pads.
11762         * docs/gst/gstreamer-sections.txt:
11763         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11764         (gst_pad_push_event):
11765         * gst/gstpad.h:
11766         Added new GstPadFlag : GST_PAD_BLOCKING.
11767         Adds the notion of pads really blocking, which enables to properly
11768         handle FLUSH_START/FLUSH_STOP events on blocked pads.
11769         Fixes #358999
11770         API: gst_pad_is_blocking()
11771         API: GST_PAD_IS_BLOCKING() macro
11772         API: GST_PAD_BLOCKING GstPadFlag
11773         
11774 2006-10-02  Wim Taymans  <wim@fluendo.com>
11775
11776         Patch by: mrcgran <mrc.gran at gmail dot com>
11777
11778         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
11779         Filter the proxied caps against the padtemplate if we have one.
11780
11781         * gst/gstquery.c: (gst_query_new_segment):
11782         Add include for gstinfo.h so that compilation with
11783         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
11784
11785 2006-10-02  Wim Taymans  <wim@fluendo.com>
11786
11787         Patch by: Alessandro Decina  <alessandro at nnva org>
11788
11789         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
11790         (gst_file_sink_set_location), (gst_file_sink_open_file),
11791         (gst_file_sink_close_file), (gst_file_sink_event),
11792         (gst_file_sink_render):
11793         Set file to NULL when closing filesink so that we can set a new filename
11794         in READY. Fixes #358613.
11795
11796 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
11797
11798         Patch by: Alessandro Decina  <alessandro at nnva org>
11799
11800         * gst/gstevent.c: (_gst_event_copy):
11801           Fix gst_mini_object_make_writable() and gst_event_copy() for events
11802           with event structures by setting the parent refcount address of the
11803           copied structure to the address of the refcount member of the newly
11804           copied event rather than the address of the refcount member of the
11805           original event. Fixes #358737.
11806
11807         * tests/check/gst/gstevent.c: (GST_START_TEST):
11808           Unit test for the above.
11809
11810 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
11811
11812         * docs/design/Makefile.am:
11813           Dist some more files.
11814
11815 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11816
11817         * tests/check/libs/controller.c: (GST_START_TEST),
11818         (gst_controller_suite):
11819           Add test for the previous fix; add some more tests
11820           for correct refcounting behaviour; fix a few leaks
11821           in test cases; call gst_controller_init() at start
11822           of all tests.
11823
11824 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11825
11826         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11827         (gst_controller_set_from_list):
11828           Don't g_return_val_if_fail() on timed values with invalid timestamps
11829           inside a critical section without unlocking the mutex. Spotted by
11830           René Stadler. (#357617)
11831           Also, fix up refcounting properly: when returning an existing
11832           controller, we should increase the reference only once and not
11833           once per property and when trying to control a property again
11834           we should also increase the refcount.
11835
11836 2006-09-29  Wim Taymans  <wim@fluendo.com>
11837
11838         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11839         * libs/gst/net/gstnettimeprovider.c:
11840         (gst_net_time_provider_thread):
11841         Stop reading commands when EOF as well.
11842
11843         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
11844         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
11845         * plugins/elements/gstidentity.c: (gst_identity_class_init):
11846         Unify description of the dump property.
11847
11848 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
11849
11850         * tests/examples/manual/.cvsignore:
11851         OK, so it's actually cvsignore that needs changing. Stop laughing.
11852
11853 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
11854
11855         * tests/examples/manual/Makefile.am:
11856         Gah, declare vars *before* using them
11857
11858 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
11859
11860         * gst/gst.c: (init_pre), (scan_and_update_registry),
11861         (ensure_current_registry_nonforking),
11862         (ensure_current_registry_forking), (ensure_current_registry),
11863         (init_post), (gst_debug_help), (gst_deinit):
11864         * gst/gst_private.h:
11865         * gst/gstregistry.c: (gst_registry_finalize),
11866         (gst_registry_remove_features_for_plugin_unlocked),
11867         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
11868         (gst_registry_scan_path),
11869         (_priv_gst_registry_remove_cache_plugins),
11870         (_priv_gst_registry_cleanup):
11871         * gst/gstregistry.h:
11872         Re-commit the registry changes, along with an extra fix:
11873           When a cached plugin is encountered at a different file path,
11874           update the stored path in the registry cache so that the parent
11875           process knows where it actually is now when it re-reads the registry
11876           cache. Fixes the thing that broke distcheck with the previous commit.
11877
11878         * tests/check/Makefile.am:
11879         Clean up files named 'core' too when running make clean.
11880
11881         * tests/examples/manual/Makefile.am:
11882         Set up a registry path for running these tests, and clean it properly
11883         for distcheck.
11884
11885 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
11886
11887         * configure.ac:
11888         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
11889         want gmodule-no-export-2.0.pc instead so that we don't drag in
11890         --export-dynamic on every project that links to GStreamer.
11891
11892         Also, make our export regex only match the start of symbols, rather 
11893         than any symbol that contains '_gst' somewhere.
11894
11895         * libs/gst/check/Makefile.am:
11896         The libgstcheck we build does however need export-dynamic, as it
11897         produces some symbols that don't match our _gst... style regex.
11898         Fixes: #318031
11899
11900 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
11901
11902         * gst/gst.c: (init_pre), (scan_and_update_registry),
11903         (ensure_current_registry_nonforking),
11904         (ensure_current_registry_forking), (ensure_current_registry),
11905         (init_post), (gst_debug_help), (gst_deinit):
11906         * gst/gst_private.h:
11907         * gst/gstregistry.c: (gst_registry_finalize),
11908         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
11909         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
11910         (_gst_registry_cleanup):
11911         * gst/gstregistry.h:
11912           Revert previous change until I figure out why it breaks distcheck.
11913
11914 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
11915
11916         * gst/gst.c: (init_pre), (scan_and_update_registry),
11917         (ensure_current_registry_nonforking),
11918         (ensure_current_registry_forking), (ensure_current_registry),
11919         (init_post), (gst_debug_help), (gst_deinit):
11920
11921           Make init_pre and init_post take the full complement of GOptionFunc
11922           args so they can return useful GErrors. Make the registry updating
11923           functions do so.
11924
11925           Call _priv_gst_registry_remove_cache_plugins after scanning files to
11926           ensure that the registry we're about to write out doesn't contain
11927           stale information about old-deleted plugin files.
11928
11929           Make _priv_gst_registry_remove_cache_plugins return a boolean so
11930           that deletion of plugin files is considered a registry change.
11931
11932         * gst/gst_private.h:
11933         * gst/gstregistry.c: (gst_registry_finalize),
11934         (gst_registry_remove_features_for_plugin_unlocked),
11935         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
11936         (gst_registry_scan_path),
11937         (_priv_gst_registry_remove_cache_plugins),
11938         (_priv_gst_registry_cleanup):
11939         * gst/gstregistry.h:
11940         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
11941         by adding _priv prefix, so that they won't appear in the global
11942         symbol table. They still do atm though because of #318031. Move the
11943         prototypes to gst_private.h
11944
11945         When removing a plugin, remove all features for that plugin too. 
11946         Fixes #340878.
11947
11948 2006-09-27  Wim Taymans  <wim@fluendo.com>
11949
11950         * docs/random/moving-plugins:
11951         Make it clear that the "compiled-in descriptions" really mean
11952         the element details.
11953
11954         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
11955         (gst_base_sink_wait_preroll):
11956         Update docs.
11957
11958         * docs/libs/gstreamer-libs-sections.txt:
11959         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11960         (gst_base_src_get_range), (gst_base_src_activate_push):
11961         * libs/gst/base/gstbasesrc.h:
11962         Added function to block while waiting for PLAYING, this function
11963         is used by live sources that block on the clock.
11964         API: gst_base_src_wait_playing()
11965
11966 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11967
11968         Patch by: Peter Kjellerstedt <pkj at axis com>
11969
11970         * Makefile.am:
11971           gst-element-check.m4 is generated and should therefore be
11972           copied from the build dir rather than the source dir (#357593).
11973           'make distcheck' hasn't noticed this because we were disting
11974           the file as well, so stop doing that.
11975
11976 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11977
11978         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
11979           Add some tests for gst_caps_intersect().
11980
11981         * tools/gst-launch.c: (event_loop):
11982           Print all buffering percentages we get, even the 100% one.
11983
11984 2006-09-26  Wim Taymans  <wim@fluendo.com>
11985
11986         * tools/gst-inspect.c: (print_element_properties_info),
11987         (print_signal_info):
11988         Fix printing of flags to match the look of enums.
11989
11990 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
11991
11992         * gst/gstelementfactory.c:
11993           Fix typo in docs blurb.
11994
11995 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
11996
11997         * gst/gsturi.c: (search_by_entry):
11998           Don't assert/crash here if a uri handler doesn't return any
11999           supported protocols. The list of protocols could be generated
12000           dynamically at runtime or at plugin registration, and an error
12001           in the underlying library shouldn't be fatal (#353301).
12002
12003 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12004
12005         * gst/gstinfo.c:
12006           Fix warning if HAVE_PRINTF_EXTENSION is undefined
12007           (spotted by Peter Kjellerstedt).
12008
12009 2006-09-23  Wim Taymans  <wim@fluendo.com>
12010
12011         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
12012
12013         * libs/gst/base/gstbasesrc.c:
12014         (gst_base_src_default_check_get_range), (gst_base_src_start),
12015         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12016         (gst_base_src_change_state):
12017         Match _start/_stop calls in the activate functions. Remove redundant
12018         _stop call from the state change function. Fixes #356910.
12019         Turn failure DEBUG into ERROR. 
12020
12021 2006-09-22  Wim Taymans  <wim@fluendo.com>
12022
12023         * docs/design/part-buffering.txt:
12024         * gst/gstmessage.c: (gst_message_new_buffering),
12025         (gst_message_parse_buffering):
12026         Update docs about buffering.
12027
12028         * docs/design/part-trickmodes.txt:
12029         Fix typo.
12030
12031 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
12032
12033         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12034         (gst_controller_new_list):
12035           Ref instances when returning them again (fixes #357180)
12036
12037 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12038
12039         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
12040           Don't forget to release proxy lock when there's an error.
12041
12042 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
12043
12044         * gst/gstcaps.h:
12045           Add extra initialisers for Caps things, to fix some plugin warnings
12046           when using -Wextra
12047
12048 2006-09-18  Wim Taymans  <wim@fluendo.com>
12049
12050         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
12051           Also set template on the internal pad so that a getcaps from the 
12052           target pad returns the template caps.
12053
12054 2006-09-18  Wim Taymans  <wim@fluendo.com>
12055
12056         * gst/gstelement.c: (gst_element_post_message),
12057         (gst_element_dispose):
12058         Use _DEBUG_OBJECT some more.
12059
12060         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12061         Avoid typechecks.
12062
12063         * tools/gst-launch.c: (main):
12064         If the toplevel element is not a GstPipeline, it must be put in a
12065         pipeline so that a bus and clock is selected.
12066
12067 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12068
12069         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
12070           JITTER, RATE, and LATENCY query should be handled by the
12071           default case and not by the CONVERT query code.
12072
12073 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12074
12075         * gst/gstformat.c: (gst_format_register):
12076           Fix locking order (must take lock before using n_values).
12077
12078         * gst/gstvalue.c: (gst_value_serialize_enum),
12079         (gst_value_deserialize_enum_iter_cmp),
12080         (gst_value_deserialize_enum):
12081           Fix serialisation/deserialisation of custom registered GstFormats.
12082
12083         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12084           Unit test for custom format serialisation/deserialisation.
12085
12086 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
12087
12088         * docs/pwg/building-boiler.xml:
12089         * plugins/elements/gstcapsfilter.c:
12090         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
12091         section.
12092
12093 2006-09-16  Edward Hervey  <edward@fluendo.com>
12094
12095         * libs/gst/base/gstbasetransform.c:
12096         (gst_base_transform_buffer_alloc):
12097         Check if requested caps are the same as the sinks caps IF
12098         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
12099         is FALSE.
12100         This fixes the renegotiation issues stated in #352827.
12101
12102 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12103
12104         * configure.ac:
12105         * docs/manual/advanced-autoplugging.xml:
12106         * tests/examples/Makefile.am:
12107         * tests/examples/manual/.cvsignore:
12108         * tests/examples/manual/Makefile.am:
12109         * tests/examples/manual/extract.pl:
12110           Extract the manual examples again like we used to do.
12111           Fix one of them.
12112
12113 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12114
12115         * win32/common/config.h:
12116           update for version
12117
12118 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
12119
12120         * gst/gsterror.c:
12121           Documents how to receive errors.
12122
12123 2006-09-15  Wim Taymans  <wim@fluendo.com>
12124
12125         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
12126         (event_loop), (main):
12127         Added some comments here and there.
12128         Post an application message when an interrupt is caught instead of doing
12129         an uncontrolled state change.
12130         Clean up the event loop.
12131         Handle buffering messages, pause/resume the pipeline.
12132         Make shutdown because of an interrupt more reliable.
12133
12134 2006-09-15  Wim Taymans  <wim@fluendo.com>
12135
12136         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12137         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
12138         (gst_base_sink_preroll_object):
12139         Make sure that our internal state is correct when we commit our state
12140         asynchronously. This solves a race where a state change to PLAYING
12141         could cause the sink to remain blocked in preroll in some situations.
12142
12143 2006-09-15  Wim Taymans  <wim@fluendo.com>
12144
12145         * tools/gst-inspect.c: (print_element_properties_info),
12146         (print_signal_info):
12147         List flags as hex so it's easier to deal with.
12148
12149 2006-09-15  Wim Taymans  <wim@fluendo.com>
12150
12151         * docs/libs/gstreamer-libs-sections.txt:
12152         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
12153         (gst_base_sink_do_sync):
12154         * libs/gst/base/gstbasesink.h:
12155         Expose logic to wait for preroll so that subclasses such as audiosink
12156         can also use this method.
12157         API: gst_base_sink_wait_preroll()
12158
12159 2006-09-15  Wim Taymans  <wim@fluendo.com>
12160
12161         * gst/gstobject.c: (gst_object_set_parent):
12162         * gst/gstpipeline.c: (do_pipeline_seek):
12163         Small cleanups in docs and code.
12164
12165         * gst/gstsegment.c: (gst_segment_clip):
12166         * tests/check/gst/gstsegment.c: (GST_START_TEST):
12167         if stop == start and start is in the segment, no clipping should be
12168         done. Also add a test for this.
12169
12170 2006-09-15  Wim Taymans  <wim@fluendo.com>
12171
12172         * docs/design/part-buffering.txt:
12173         * docs/gst/gstreamer-sections.txt:
12174         * gst/gstmessage.c: (gst_message_new_buffering),
12175         (gst_message_parse_buffering):
12176         * gst/gstmessage.h:
12177         Added methods to create and parse BUFFERING messages.
12178         Added preliminary docs about buffering.
12179         API: gst_message_new_buffering
12180         API: gst_message_parse_buffering
12181
12182 2006-09-06  Wim Taymans  <wim@fluendo.com>
12183
12184         * gst/gstbin.c:
12185         Update documentation.
12186
12187         * gst/gstelement.c: (gst_element_class_init),
12188         (gst_element_release_request_pad), (gst_element_set_clock),
12189         (gst_element_get_index), (gst_element_add_pad),
12190         (gst_element_remove_pad), (gst_element_get_random_pad),
12191         (gst_element_send_event), (gst_element_get_query_types),
12192         (gst_element_query), (gst_element_post_message),
12193         (gst_element_message_full), (gst_element_continue_state),
12194         (gst_element_lost_state), (gst_element_save_thyself),
12195         (gst_element_restore_thyself):
12196         Documentation updates.
12197         Rename last bit of the new-pad -> pad-added signal rename.
12198         Fix the case where an element query would only work if the source
12199         pad was linked.
12200         Avoid some useless type checking in message handling.
12201
12202         * gst/gstevent.c:
12203         * gst/gstevent.h:
12204         * gst/gstutils.c:
12205         Documentation updates.
12206
12207 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12208
12209         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
12210           add an INFO line for when we actually update the fd
12211
12212 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12213
12214         * configure.ac:
12215           back to TRUNK
12216
12217 === release 0.10.10 ===
12218
12219 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
12220
12221         * configure.ac:
12222           releasing 0.10.10, "Pais"
12223
12224 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
12225
12226         * docs/manual/advanced-position.xml:
12227           Fix typo in sample code.
12228
12229 2006-09-05  Wim Taymans  <wim@fluendo.com>
12230
12231         * libs/gst/net/gstnetclientclock.c: (inet_aton),
12232         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12233         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
12234         * libs/gst/net/gstnetclientclock.h:
12235         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12236         * libs/gst/net/gstnettimepacket.h:
12237         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
12238         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
12239         (gst_net_time_provider_thread), (gst_net_time_provider_new):
12240         * libs/gst/net/gstnettimeprovider.h:
12241         Make stuff compile on windows. Fixes #345295.
12242
12243 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12244
12245         * gst/gst.c: (ensure_current_registry_forking):
12246           Print better details when child was terminated by signal.
12247
12248 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12249
12250         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
12251           Print a warning rather than g_assert() if a plugin feature
12252           is a URI handler but returns no protocols (#353976).
12253
12254 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
12255
12256         * docs/random/moving-plugins:
12257         Fix two typos.         
12258
12259 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12260
12261         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
12262           Fix locking order, handle NULL function values properly.
12263
12264         * gst/gstinfo.h:
12265           Fix docs.
12266
12267         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
12268           Initialise variable before using it and fix debug statement to
12269           print the address of the function rather than the address of the
12270           variable on the stack holding the address of the function.
12271
12272 2006-09-01  Wim Taymans  <wim@fluendo.com>
12273
12274         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
12275         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
12276         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12277         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
12278         (gst_ghost_pad_parent_unset),
12279         (gst_ghost_pad_internal_do_activate_push),
12280         (gst_ghost_pad_internal_do_activate_pull),
12281         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12282         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12283         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12284         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
12285         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
12286         (gst_ghost_pad_new_no_target_from_template),
12287         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12288         More cleanups.
12289         Avoid needless typechecking in macros.
12290         Since the internal pad is always present and never changes, there is
12291         no need to locking or ref when retrieving it.
12292         Improve debugging a bit.
12293         Handle link errors when setting the target. Fixes #341029.
12294
12295 2006-09-01  Wim Taymans  <wim@fluendo.com>
12296
12297         * docs/libs/gstreamer-libs-sections.txt:
12298         * docs/plugins/gstreamer-plugins-sections.txt:
12299         Fix docs some more.
12300
12301         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12302         (gst_collect_pads_event):
12303         * libs/gst/base/gstcollectpads.h:
12304         Documentation updates.
12305         Free queued buffer when removing a pad.
12306
12307 2006-08-31  Michael Smith  <msmith@fluendo.com>
12308
12309         * gst/gstutils.c: (gst_element_link_pads),
12310         (gst_element_link_pads_filtered):
12311           Ensure that we set a capsfilter to NULL if we failed to link it
12312           when doing filtered linking, to avoid criticals.
12313
12314           No need to check for unreffing srcpad, which is explicly NULLed
12315           above (a trivial code cleanup).
12316
12317 2006-08-31  Wim Taymans  <wim@fluendo.com>
12318
12319         * docs/design/part-gstghostpad.txt:
12320         Update ascii art in documentation.
12321
12322         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
12323         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
12324         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12325         (gst_ghost_pad_internal_do_activate_push),
12326         (gst_ghost_pad_internal_do_activate_pull),
12327         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12328         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12329         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
12330         (gst_ghost_pad_set_target):
12331         Small cleanups and leak fixes.
12332         Remove some checks now that the internal pad is never NULL.
12333         Fix the case where linking pads without a target would create nasty
12334         criticals. Fixes #341029.
12335         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
12336         value of _set_target().
12337
12338         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12339         (gst_ghost_pad_suite):
12340         Some more tests for creating and linking untargeted ghostpads.
12341
12342 2006-08-31  Edward Hervey  <edward@fluendo.com>
12343
12344         * docs/gst/gstreamer-sections.txt:
12345         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
12346         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12347         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
12348         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
12349         (gst_ghost_pad_new_from_template),
12350         (gst_ghost_pad_new_no_target_from_template):
12351         * gst/gstghostpad.h:
12352         Refactored *_new() functions.
12353         Templates are now used as a g_object_new() parameter.
12354         Use template in _do_getcaps() if we don't have a target.
12355         Small documentation cleanups.
12356         Added two new constructors:
12357         gst_ghost_pad_new_from_template()
12358         gst_ghost_pad_new_no_target_from_template()
12359         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12360         (gst_ghost_pad_suite):
12361         Added tests for new ghostpad instanciation functions.
12362
12363         API additions: gst_ghost_pad_new_from_template,
12364         gst_ghost_pad_new_no_target_from_template
12365
12366 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
12367
12368         * docs/random/ensonic/profiling.txt:
12369           Ideas about qos profiling.
12370
12371 2006-08-29  Wim Taymans  <wim@fluendo.com>
12372
12373         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
12374         Code cleanups.
12375         Fix memleak.
12376
12377 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
12378
12379         * gst/gstxml.c:
12380           Improve and detypofy docs.
12381
12382         * tests/check/Makefile.am:
12383         * tests/check/gst/.cvsignore:
12384         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
12385           Add a basic test suite for GstXML.
12386
12387 2006-08-29  Wim Taymans  <wim@fluendo.com>
12388
12389         * gst/gstelement.c: (activate_pads), (clear_caps),
12390         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12391         Clear the pad caps when the element shut down all of the pads and
12392         is not streaming data that could modify the caps. 
12393         Fixes #352958.
12394
12395 2006-08-28  Michael Smith  <msmith@fluendo.com>
12396
12397         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12398           Revert previous change; I misunderstood single-segment mode.
12399
12400 2006-08-28  Michael Smith  <msmith@fluendo.com>
12401
12402         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12403           Unset DISCONT on buffers when using single-segment mode.
12404
12405 2006-08-28  Wim Taymans  <wim@fluendo.com>
12406
12407         * gst/gstcaps.c: (gst_caps_merge_structure):
12408         * gst/gstcaps.h:
12409         Fix docs and indentation again.
12410
12411         * tests/check/gst/gstquery.c: (GST_START_TEST):
12412         Fix leak in tests and add some more tests.
12413
12414 2006-08-28  Edward Hervey  <edward@fluendo.com>
12415
12416         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12417         Inform GstSegment of the last stop position in order for the current
12418         segment to have a proper duration if it doesn't have a specific stop
12419         position from which a duration could be calculated.
12420         This bug was noticeable when a non-flushing, non-update new segment was
12421         followed by another segment (all buffers from the new segment were being
12422         dropped).
12423
12424 2006-08-28  Wim Taymans  <wim@fluendo.com>
12425
12426         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12427         Small comment update.
12428
12429         * plugins/elements/gstidentity.c: (gst_identity_class_init),
12430         (gst_identity_transform_ip):
12431         Drop-probability is broken, mention this in the code with a 
12432         FIXME and also in the property description.
12433         Make silent also be silent about the drop messages.
12434
12435 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
12436
12437         * docs/manual/appendix-win32.xml:
12438           Remove mention of popt, we don't depend on that any
12439           longer (#353136). Add some comments pointing out that
12440           this section is slightly outdated.
12441
12442 2006-08-28  Wim Taymans  <wim@fluendo.com>
12443
12444         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12445
12446         * gst/gstquery.c: (gst_query_new_segment):
12447         * tests/check/gst/gstquery.c: (GST_START_TEST):
12448         Initialize variables when creating a new segment query.
12449         Fixes #353121.
12450
12451 2006-08-28  Wim Taymans  <wim@fluendo.com>
12452
12453         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12454
12455         * gst/gstelement.c: (gst_element_get_bus):
12456         * tests/check/gst/gstelement.c: (GST_START_TEST):
12457         Check for NULL before _reffing the bus. Fixes #353122.
12458
12459 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
12460
12461         * docs/manual/basics-bus.xml:
12462           Docs update: fix wrong callback return value explanation; add
12463           some lines about the implicit relationship between main loop
12464           and main context; remove duplicate main loop variable declaration.
12465
12466 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
12467
12468         * tests/check/gst/gstcaps.c: (GST_START_TEST):
12469           Don't leak caps in unit test; add a few more simple
12470           checks. 
12471
12472 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
12473
12474         * docs/gst/gstreamer-sections.txt:
12475         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
12476         (gst_caps_structure_is_subset), (gst_caps_merge),
12477         (gst_caps_merge_structure):
12478         * gst/gstcaps.h:
12479         * libs/gst/base/gstbasetransform.c:
12480         (gst_base_transform_transform_caps):
12481         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12482           implement caps merging (fixes #352580)
12483
12484 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
12485
12486         * tools/Makefile.am:
12487         * tools/gst-plot-timeline.py:
12488           add debug-log plotting developer tool (#340674)
12489
12490 2006-08-23  Wim Taymans  <wim@fluendo.com>
12491
12492         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
12493         (gst_pad_stop_task):
12494         Improve debugging for task functions.
12495
12496         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
12497         (gst_task_start), (gst_task_pause), (gst_task_join):
12498         Make sure that the task function started and finished after a 
12499         join(). 
12500         Don't try to push the task function on the threadpool multiple
12501         times.
12502         Improve the g_warning message with some useful suggestions
12503         about how to fix the problem. 
12504
12505 2006-08-23  Wim Taymans  <wim@fluendo.com>
12506
12507         * gst/gstutils.c: (gst_pad_proxy_getcaps):
12508         Handle RESYNC correctly in _proxy_getcaps.
12509
12510 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
12511
12512         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
12513         (gst_xml_parse_memory), (gst_xml_get_element):
12514           Chain up to parent class in dispose function and also
12515           unref the elements in the toplevel_elements GList.
12516           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
12517           Always return a reference in gst_xml_get_element() rather
12518           than only sometimes.
12519
12520         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12521           Don't leak GstXml object.
12522
12523 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
12524
12525         * docs/gst/gstreamer-sections.txt:
12526         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
12527         (gst_caps_merge):
12528         * gst/gstcaps.h:
12529         * libs/gst/base/gstbasetransform.c:
12530         (gst_base_transform_transform_caps):
12531           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
12532           in a better way
12533
12534 2006-08-21  Edward Hervey  <edward@fluendo.com>
12535
12536         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
12537         Implement GObject::dispose virtual method in GstXML so we can free the
12538         top_elements GList.
12539
12540 2006-08-21  Wim Taymans  <wim@fluendo.com>
12541
12542         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
12543         (gst_buffer_create_sub):
12544         Copy duration/offset_end/caps when creating a subbuffer of the
12545         complete parent.
12546         Make the subbuffer read-only when we make the metadata writable for
12547         now. Fixes #351768.
12548
12549         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12550         Added check for metadata copy when creating subbuffers.
12551
12552 2006-08-21  Edward Hervey  <edward@fluendo.com>
12553
12554         * libs/gst/base/gstbasetransform.c:
12555         (gst_base_transform_buffer_alloc):
12556         Only call downstream buffer_alloc if transform element is passthrough
12557         or always_in_place. Closes #350449.
12558
12559 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12560
12561         * ChangeLog:
12562           ChangeLog surgery to add comments to previous changes
12563
12564 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12565
12566         * gst/gst.c:
12567           Add comments
12568
12569         * gst/gstpad.c: (gst_pad_set_active):
12570           Be more verbose in the log
12571
12572         * libs/gst/base/gstbasetransform.c:
12573         (gst_base_transform_transform_caps):
12574           Simplify caps to get rid of duplicates, fixes #345444
12575
12576 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12577
12578         * gst/gstvalue.c:
12579         * gst/gstvalue.h:
12580           Use these optimizations only internally.
12581
12582 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12583
12584         * gst/gstvalue.c: (gst_value_compare_list),
12585         (gst_value_compare_fraction_range),
12586         (gst_value_intersect_fraction_fraction_range),
12587         (gst_value_intersect_fraction_range_fraction_range),
12588         (gst_value_subtract_fraction_fraction_range),
12589         (gst_value_subtract_fraction_range_fraction_range),
12590         (gst_value_get_compare_func), (gst_value_compare),
12591         (gst_value_compare_with_func):
12592         * gst/gstvalue.h:
12593           Saves the expensive lookup of the compare function in many cases
12594          (#345444)
12595
12596 2006-08-18  Edward Hervey  <edward@fluendo.com>
12597
12598         * tests/check/gst/gstinfo.c: (gst_info_suite):
12599         Disable test that require gstdebug if it wasn't built in core.
12600
12601 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
12602
12603         * docs/random/ensonic/logging.txt:
12604           update ideas
12605           
12606         * gst/gstinfo.c: (gst_debug_log_default):
12607           reorder fields, save some columns, add optional color codes for log
12608           levels
12609
12610 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
12611
12612         * docs/random/ensonic/logging.txt:
12613           add ideas about making the logs a bit more useful
12614
12615 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
12616
12617         * docs/pwg/advanced-events.xml:
12618         * docs/pwg/titlepage.xml:
12619           Update for 0.10 API (#340627). Add myself
12620           to authors list.
12621
12622 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
12623
12624         * docs/libs/gstreamer-libs-docs.sgml:
12625         * docs/libs/gstreamer-libs-sections.txt:
12626         * libs/gst/check/gstbufferstraw.c:
12627           Make gstcheck stuff show up in docs (still needs to
12628           be documented properly though).
12629
12630 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
12631
12632         * docs/gst/gstreamer-sections.txt:
12633         * gst/Makefile.am:
12634         * gst/gst.c: (init_post):
12635         * gst/gst_private.h:
12636         * gst/gstquark.c: (_priv_gst_quarks_initialize):
12637         * gst/gstquark.h:
12638         * gst/gstquery.c: (gst_query_new_position),
12639         (gst_query_set_position), (gst_query_parse_position),
12640         (gst_query_new_duration), (gst_query_set_duration),
12641         (gst_query_parse_duration), (gst_query_new_convert),
12642         (gst_query_set_convert), (gst_query_parse_convert),
12643         (gst_query_new_segment), (gst_query_set_segment),
12644         (gst_query_parse_segment), (gst_query_new_seeking),
12645         (gst_query_set_seeking), (gst_query_parse_seeking):
12646         Add internal helpers for pre-registering quarks from static strings
12647         and using the quark values directly instead of looking them up when
12648         creating and parsing queries. Can be used for event construction too.
12649         Closes #350432.
12650
12651 2006-08-16  Wim Taymans  <wim@fluendo.com>
12652
12653         * gst/gstbin.c:
12654         Fix bogus docs.
12655
12656 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12657
12658         * gst/gstutils.c: (gst_util_set_value_from_string):
12659           Fix memleak (#351502).
12660
12661         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12662           Add unit test for most of gst_util_set_value_from_string()
12663           (not that one would want to encourage use of this function).
12664
12665 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12666
12667         * libs/gst/check/gstcheck.h:
12668           Use const gchar * variables in fail_unless_equals_string
12669           macro to avoid compiler warnings (and don't use tabs for
12670           indenting).
12671
12672 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12673
12674         * tools/gst-launch.c: (print_tag):
12675           More space on the left for the tag names, to cater
12676           for the 'extended comment' tag (not touching the
12677           string for the first line since it's translated).
12678
12679 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12680
12681         * libs/gst/check/gstcheck.h:
12682           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
12683           print something when they fail.
12684
12685 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
12686
12687         * docs/gst/gstreamer-sections.txt:
12688         * gst/gsttaglist.c: (_gst_tag_initialize):
12689         * gst/gsttaglist.h:
12690           API: add GST_TAG_EXTENDED_COMMENT (#350935).
12691           Also change merge function for GST_TAG_COMMENT to
12692           use_first.
12693
12694 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
12695
12696         * gst/gstinfo.c: (gst_debug_print_object):
12697           Make GST_PTR_FORMAT print messages as well.
12698
12699         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
12700         (GST_START_TEST), (gst_info_suite):
12701           More tests.
12702
12703 2006-08-14  Edward Hervey  <edward@fluendo.com>
12704
12705         * gst/gstelementfactory.c: (gst_element_register):
12706         If the GstElementClass doesn't have a GstElementDetails with all fields
12707         filled up correctly (longname, description AND author), then error out
12708         nicely instead of crashing.
12709
12710 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
12711
12712         * gst/gststructure.c:
12713           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
12714
12715         * gst/gstvalue.h:
12716           Expand on the difference between arrays and lists as we use them.
12717           
12718 2006-08-14  Wim Taymans  <wim@fluendo.com>
12719
12720         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
12721         If the parent state change function failed, don't assume we can safely
12722         stop the source, this will be done when the pads are deactivated.
12723
12724 2006-08-14  Wim Taymans  <wim@fluendo.com>
12725
12726         * gst/gstbuffer.c:
12727         * gst/gsttask.c: (gst_task_join):
12728         Small doc updates.
12729
12730         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
12731         (gst_pad_stop_task):
12732         When pad (de)activation failed for some reason, restore the old
12733         activation mode and set the pad to flushing instead of assuming the
12734         pad is deactivated.
12735         If the _task_join() failed, reinstall the task on the pad so that it can
12736         be stopped later and return an error.
12737
12738 2006-08-11  Andy Wingo  <wingo@pobox.com>
12739
12740         * configure.ac:
12741         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
12742         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
12743         is only for users of API that don't want to see deprecated
12744         functions in the headers; people that want to compile out
12745         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
12746         CFLAGS. Fixes the build of multifdsink, or will soon..
12747
12748 2006-08-11  Wim Taymans  <wim@fluendo.com>
12749
12750         * docs/gst/gstreamer-sections.txt:
12751         Add GstClockClass vmethod docs.
12752
12753         * gst/gstcaps.h:
12754         Mark #endif with comment for associated #if
12755
12756         * gst/gstclock.c: (gst_clock_id_wait):
12757         * gst/gstclock.h:
12758         Add vmethod wait_jitter to avoid an unneeded _get_time() for
12759         most clock implementations.
12760         Document vmethods.
12761         Flesh out docs about resolution methods.
12762         API: GstClockClass::wait_jitter
12763
12764         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12765         (gst_system_clock_async_thread),
12766         (gst_system_clock_id_wait_jitter_unlocked),
12767         (gst_system_clock_id_wait_jitter):
12768         Use base class wait_jitter variant for improved performance
12769         due to less clock polling.
12770
12771 2006-08-11  Edward Hervey  <edward@fluendo.com>
12772
12773         * gst/gst.c: (gst_init_check), (init_post):
12774         Set gst as being initialized before scanning/updating the registry,
12775         since there might be my python plugin loader that calls gst_init() and
12776         we don't want to loop back in.
12777         Closes #350879
12778
12779 2006-08-11  Wim Taymans  <wim@fluendo.com>
12780
12781         * docs/design/part-qos.txt:
12782         Bring docs in line with the code. Mostly the sign of the jitter was
12783         wrong in the docs. Fixes #349943.
12784
12785         * gst/gstclock.c:
12786         Fix the docs for the jitter.
12787
12788         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
12789         (gst_event_parse_tag), (gst_event_new_buffer_size),
12790         (gst_event_parse_buffer_size), (gst_event_parse_qos),
12791         (gst_event_new_seek), (gst_event_parse_seek),
12792         (gst_event_new_navigation):
12793         Make sure the GstStructure has no parent when creating custom
12794         events.
12795         Add some more argument checking so that we avoid 0.0 rates.
12796         Flesh out the docs for the QoS event some more.
12797
12798 2006-08-11  Wim Taymans  <wim@fluendo.com>
12799
12800         * docs/gst/gstreamer-sections.txt:
12801         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
12802         (ensure_current_registry_forking), (ensure_current_registry),
12803         (parse_one_option), (parse_goption_arg), (gst_deinit),
12804         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
12805         * gst/gst.h:
12806         Doc updates.
12807         Added API and command line option to disable registry forking in
12808         addition to the environment variable.
12809         Constify some static arrays.
12810         Added some more debug.
12811         Don't deinit twice.
12812         API: gst_registry_fork_is_enabled()
12813         API: gst_registry_fork_set_enabled()
12814         API: --gst-disable-registry-fork command line option
12815         Fixes #348918.
12816
12817 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
12818
12819         * gst/gst.c: (gst_init):
12820           Fix typo in error message.
12821
12822 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
12823
12824         * libs/gst/controller/gstcontroller.h:
12825           fix ABI size-correction
12826
12827         * tests/check/libs/gdp.c: (gst_dp_suite):
12828           make tests that use deprecated API conditional
12829
12830 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
12831
12832         * docs/libs/gstreamer-libs-sections.txt:
12833         * libs/gst/controller/gstcontroller.c:
12834         (_gst_controller_get_property), (_gst_controller_set_property),
12835         (_gst_controller_init), (_gst_controller_class_init):
12836         * libs/gst/controller/gstcontroller.h:
12837         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
12838         (gst_object_set_control_rate):
12839           API: add gst_object_{s,g}et_control_rate(), add private data section,
12840           fix docs
12841
12842         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
12843         * libs/gst/dataprotocol/dataprotocol.h:
12844           add deprecation guards to make gtk-doc happy and allow disabling cruft
12845
12846 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
12847
12848         * tests/check/Makefile.am:
12849         * tests/check/gst/.cvsignore:
12850           Let's enable the new unit test as well.
12851
12852 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12853
12854         * configure.ac:
12855         * docs/gst/gstreamer-sections.txt:
12856         * gst/gstconfig.h.in:
12857         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
12858         (_gst_info_printf_extension_ptr),
12859         (_gst_info_printf_extension_segment):
12860           API: add GST_SEGMENT_FORMAT, which is a printf extension we
12861           register that lets us easily dump GstSegments into debug
12862           logs (#350419).
12863
12864         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
12865         (info_segment_format_printf_extension), (gst_info_suite):
12866           Add simple unit test that logs a bunch of different segments (not
12867           valgrinded at the moment because of leaks in
12868           gst_debug_add_log_function).
12869
12870 2006-08-09  Edward Hervey  <edward@fluendo.com>
12871
12872         * libs/gst/base/gstbasetransform.c:
12873         (gst_base_transform_buffer_alloc):
12874         Even if we can't figure out the proper format to request downstream,
12875         call buffer_alloc() downstream with the input parameters without setting
12876         the caps on the srcpad. This will force negotiation in the chain
12877         function.
12878         Closes #350449
12879
12880 2006-08-08  Edward Hervey  <edward@fluendo.com>
12881
12882         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
12883         Unlinking from a pad without a target is now a perfectly valid case
12884         which should NOT raise an assertion.
12885         This case would happen if a linked ghostpad its target set to NULL after
12886         it was previously linked.
12887
12888 2006-08-08  Edward Hervey  <edward@fluendo.com>
12889
12890         * tests/check/libs/gdp.c:
12891         Also comment out the test (see below).
12892
12893 2006-08-08  Edward Hervey  <edward@fluendo.com>
12894
12895         * tests/check/libs/gdp.c: (gst_dp_suite):
12896         Use the architecture information from config.h and not gcc macros
12897         in order to properly disable a test that fails on PPC64.
12898
12899 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
12900
12901         * gst/gstelement.c: (gst_element_remove_pad):
12902           Don't crash printing the warning if the pad has no parent.
12903
12904 2006-08-02  Wim Taymans  <wim@fluendo.com>
12905
12906         * libs/gst/dataprotocol/dataprotocol.c:
12907         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
12908         (gst_dp_crc), (gst_dp_header_payload_length),
12909         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
12910         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
12911         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
12912         (gst_dp_event_from_packet), (gst_dp_validate_header),
12913         (gst_dp_validate_payload):
12914         Make debug category static
12915         Constify the crc table.
12916         Do some more arg checking in public functions.
12917         Fix some docs and do some small cleanups.
12918
12919         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
12920         Add some more checks to see if GDP deals with bogus input.
12921
12922 2006-07-31  Wim Taymans  <wim@fluendo.com>
12923
12924         * gst/gstvalue.c: (gst_value_compare_list):
12925         Fix GstValueList comparison code. Fixes #347293.
12926
12927         * tests/check/gst/gstvalue.c: (GST_START_TEST):
12928         Check to test GstValueList comparison.
12929
12930 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
12931
12932         * gst/gstelementfactory.c: (gst_element_factory_create):
12933         Remove unnecessary ref/unref pair
12934
12935         * gst/parse/grammar.y:
12936         Make sure to free the parse buffer on all code paths.
12937         Move a g_free up to the error handler where it's easier to see.
12938
12939         * tests/check/gst/gstevent.c: (test_event):
12940         Extending timeout for downstream travelling events to 10 seconds to
12941         hopefully avoid intermittent failure on the buildbots.
12942
12943         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
12944         Don't manually set the state of the src element - it will happen as a
12945         natural consequence of the pipeline changing state, and that way it
12946         will do it in the right order too.
12947
12948 2006-07-31  Wim Taymans  <wim@fluendo.com>
12949
12950         * libs/gst/base/gstbasetransform.c:
12951         (gst_base_transform_buffer_alloc):
12952         Use OBJECT_LOCK and refcounting to get the pad caps in the
12953         buffer_alloc function because the caps could change while we are
12954         busy with them. Fixes #349105
12955
12956 2006-07-31  Wim Taymans  <wim@fluendo.com>
12957
12958         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
12959         Protect _PAD_CAPS with OBJECT_LOCK.
12960
12961 2006-07-31  Wim Taymans  <wim@fluendo.com>
12962
12963         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
12964         (gst_pad_get_property), (gst_pad_activate_pull),
12965         (gst_pad_activate_push), (gst_pad_set_blocked_async),
12966         (gst_pad_set_activate_function),
12967         (gst_pad_set_activatepull_function),
12968         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
12969         (gst_pad_set_getrange_function),
12970         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
12971         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
12972         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
12973         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
12974         (gst_pad_set_acceptcaps_function),
12975         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12976         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
12977         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
12978         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
12979         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
12980         (gst_pad_configure_sink), (gst_pad_configure_src),
12981         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
12982         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
12983         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
12984         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
12985         (gst_pad_send_event):
12986         Use _DEBUG_OBJECT when it makes sense.
12987         Protect GST_PAD_CAPS with the OBJECT_LOCK.
12988         Small cleanups and code reflows.
12989         Avoid caps refcounting in _accept_caps.
12990         Refactor alloc_buffer so that the code performed on the peer is in a
12991         separate function. Also if the pad does not implement a buffer alloc
12992         function, we should still check if the pad is flushing before falling
12993         back to the default allocator.
12994
12995 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
12996
12997         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
12998         Make all uses of identity and fakesink have silent=true to avoid
12999         serialising every passing data structure, which is breaking tests
13000         on FC4 for some unknown reason.
13001
13002 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13003
13004         * gst/parse/Makefile.am:
13005         * gst/parse/grammar.y:
13006         * gst/parse/parse.l:
13007           Reverted previous patch as it required to bump the flex dependency to
13008           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
13009
13010 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13011
13012         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
13013
13014         * gst/parse/Makefile.am:
13015         * gst/parse/grammar.y:
13016         * gst/parse/parse.l:
13017           push & pop the state of the lexer for reentrant use case
13018           Fixes #349180
13019
13020 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
13021
13022         * libs/gst/base/gstbasesrc.h:
13023           Note in the docs that the ::newsegment vfunc is not actually used by
13024           GstBaseSrc.
13025
13026 2006-07-28  Wim Taymans  <wim@fluendo.com>
13027
13028         * libs/gst/base/gstcollectpads.c:
13029         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
13030         (gst_collect_pads_clear), (gst_collect_pads_flush),
13031         (gst_collect_pads_event), (gst_collect_pads_chain):
13032         When flushing a pad, also clear the queued buffer so that we don't
13033         accidentally use it when we shouldn't.
13034         Fix leaks by inreffing incomming buffer.
13035         Flush out queued buffers in case of errors.
13036         Fixes #347452.
13037
13038 2006-07-28  Wim Taymans  <wim@fluendo.com>
13039
13040         * docs/random/phonon-gst:
13041         Random notes about a Phonon backend.
13042
13043 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13044
13045         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13046         Extra debug output
13047         * tests/check/libs/gdp.c: (gst_dp_suite):
13048         Take a whack at fixing the ppc compile using a different define to
13049         disable the broken test.
13050
13051         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13052         Remove excess g_print()
13053
13054 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13055
13056         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13057         Oops, meant to uncomment this line too to dampen the noise a bit.
13058
13059 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13060
13061         * gst/parse/grammar.y:
13062         * gst/parse/parse.l:
13063         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13064         (GST_START_TEST), (parse_suite):
13065         Fix some of the leaks exposed by extending the parse-launch testsuite,
13066         and move the 3 I can't figure out into a separate test that won't run
13067         the pipelines unless the appropriate line is uncommented.
13068
13069 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13070
13071         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13072           Requesting 0 bytes before the end of the file should result in
13073           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
13074           unit test.
13075
13076 2006-07-27  Wim Taymans  <wim@fluendo.com>
13077
13078         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
13079         Fix useless assert, a uint is always positive.
13080
13081         * gst/gststructure.c: (gst_structure_nth_field_name),
13082         (gst_structure_foreach), (gst_structure_map_in_place):
13083         Check input arguments for public functions to avoid obvious crashes.
13084
13085         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
13086         * plugins/elements/gstfakesink.h:
13087         Do less useless typechecking.
13088
13089 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13090
13091         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13092           Do not use mmap() by default since there are a number of error
13093           conditions that we would like to handle in a non-fatal way that
13094           will result in a SIGBUS if we use mmap(). Examples: external
13095           devices (USB harddrive, portable music player) being unplugged
13096           while in use; file on mounted CD/DVD that can't be read because
13097           the medium is partly damaged. Fixes #348455 and #348475.
13098
13099 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13100
13101         * gst/gstquery.h:
13102         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
13103         rates are a gdouble
13104
13105 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
13106
13107         * gst/gstregistry.c:
13108           Move big documentation comment into class section header, so that it
13109           appears in the API docs.
13110
13111 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13112
13113         * docs/gst/gstreamer-sections.txt:
13114         Oops. Commit the docs additions too for new API.
13115         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
13116
13117 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13118
13119         * gst/gststructure.c: (gst_structure_id_set),
13120         (gst_structure_id_set_valist):
13121         * gst/gststructure.h:
13122         Add API for setting values into structures without performing
13123         a quark lookup, if the appropriate quark is already known.
13124
13125         API: gst_structure_id_set
13126         API: gst_structure_id_set_valist
13127
13128         * gst/parse/grammar.y:
13129         * gst/parse/parse.l:
13130         Remove some dead code shown by the coverage information.
13131         Don't throw a critical g_warning when encountering a syntax error,
13132         just warn and let the normal error path handle it.
13133
13134         * plugins/elements/gstelements.c:
13135         Bump the rank of filesink up to PRIMARY so that it is preferred over
13136         gnomevfssink for file:// sink uri's
13137
13138         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13139         (GST_START_TEST), (run_delayed_test),
13140         (gst_parse_test_element_base_init),
13141         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
13142         (gst_parse_test_element_change_state),
13143         (gst_register_parse_element), (parse_suite):
13144         Beef up the tests for parse syntax to check that more error cases
13145         fail as they are supposed to. Increases the test coverage a bit.
13146
13147 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
13148
13149         * docs/manual/basics-elements.xml:
13150           Fix gst_element_link() example.
13151
13152         * gst/gstutils.c:
13153           Mention in API docs that one should usually gst_bin_add()
13154           elements to a bin or pipeline before doing the linking.
13155           
13156 2006-07-26  Wim Taymans  <wim@fluendo.com>
13157
13158         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13159         (gst_subbuffer_get_type), (gst_buffer_create_sub):
13160         Avoid function call for known types by keeping the buffer and
13161         subbuffer GType global.
13162
13163         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13164         Random silly optimisations in read() path.
13165
13166 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13167
13168         * tools/gst-launch.c: (main):
13169           If the top-level of the parse is a normal bin, it doesn't do the
13170           right logic to run as a top-level element, so place it inside a
13171           pipeline.
13172
13173 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
13174
13175         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
13176           Remove superfluous g_object_notify() calls, GObject does
13177           that for us automatically.
13178
13179 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
13180
13181         * gst/gstinfo.h:
13182           on Win32, use dllspec to export the debug category symbols
13183
13184 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
13185
13186         * gst/gsttaglist.c: (_gst_tag_initialize):
13187           Allow more than one GST_TAG_IMAGE per taglist.
13188
13189 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13190
13191         * gst/gstminiobject.c:
13192           update docs
13193         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
13194         (gst_fd_src_create):
13195           log recurring events at LOG level
13196           add more debug for when the fd gets set
13197
13198 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13199
13200         * gst/gstparse.c: (gst_parse_launch):
13201           Also remove reentrance checks if flex is MT safe (#348179)
13202          Fix my empty ChangeLog entry below
13203
13204 2006-07-21  Andy Wingo  <wingo@pobox.com>
13205
13206         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
13207
13208         * libs/gst/check/Makefile.am
13209         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
13210         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
13211         * libs/gst/check/gstbufferstraw.h:
13212         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
13213         functions, thus proving I am still a GStreamer haxor. OK I wrote
13214         them a long time ago, but anyways.
13215
13216 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13217
13218         * configure.ac:
13219         * gst/gstparse.c: (gst_parse_launch):
13220           Check for flex version and omit mutex if we have a MT save flex
13221           (fixes #348179)
13222
13223 2006-07-21  Wim Taymans  <wim@fluendo.com>
13224
13225         * gst/gstparse.c: (gst_parse_launch):
13226         Protect recursive calls to _parse with a recursive mutex
13227         and busy flag.
13228
13229 2006-07-21  Wim Taymans  <wim@fluendo.com>
13230
13231         * tests/check/gst/gstpad.c: (GST_START_TEST):
13232         Fix leak in test.
13233
13234 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
13235
13236         * gst/gstparse.c: (gst_parse_launch):
13237           Do not hang on recursive usage of gst_parse_launch()
13238
13239 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13240
13241         * gst/gsttaglist.c:
13242           Add some more docs, comments and FIXME 0.11s here and there
13243           and also fix some typos.
13244
13245 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13246
13247         * gst/gstsegment.h:
13248           Convert tabs to spaces for better readability. 
13249
13250 2006-07-20  Edward Hervey  <edward@fluendo.com>
13251
13252         * tests/check/libs/gdp.c: (gst_dp_suite):
13253         the test_buffer test fails at line 140 on ppc64 at the following
13254         check:
13255         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
13256                 GST_BUFFER_FLAG_IN_CAPS),
13257                 "GST_BUFFER_IN_CAPS flag should have been copied !");
13258         See bug #348114 for more details.
13259
13260 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
13261
13262         * docs/pwg/advanced-scheduling.xml:
13263         * gst/gstpad.c:
13264           Fix typos (#348000).
13265
13266 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
13267
13268         * docs/pwg/intro-basics.xml:
13269           Fix wrong links (#347927).
13270
13271 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
13272
13273         * gst/gstregistry.h:
13274         * gst/gstregistryxml.c: (load_feature),
13275         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
13276         * win32/common/config.h:
13277           make --disable-index work (#342564)
13278
13279 2006-07-18  Wim Taymans  <wim@fluendo.com>
13280
13281         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13282
13283         * gst/Makefile.am:
13284         * gst/gsttrace.h:
13285         The attached patch adds two missing defines to gsttrace.h when tracing
13286         is disabled.  It also corrects one existing define.
13287         Fixes #347756.
13288
13289 2006-07-17  Wim Taymans  <wim@fluendo.com>
13290
13291         * docs/gst/gstreamer-sections.txt:
13292         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
13293         * gst/gst.h:
13294         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
13295         Add two functions to check and change the SIGSEGV behaviour
13296         when loading plugins.
13297         Don't mess with the SIGSEGV handler when we were told not to.
13298         Fixes #347794.
13299         API: gst_segtrap_is_enabled
13300         API: gst_segtrap_set_enabled
13301
13302 2006-07-14  Wim Taymans  <wim@fluendo.com>
13303
13304         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13305         * tests/check/elements/filesrc.c: (GST_START_TEST):
13306         Revert fix for regression in #347408 after release.
13307
13308 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
13309
13310         Patch by: Antoine Tremblay <hexa00 at gmail com>
13311
13312         * gst/gstutils.c: (gst_element_unlink):
13313           Free iterator when done (#347311).
13314
13315         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13316           And add a test case for this.
13317
13318 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
13319
13320         * configure.ac:
13321         Bump nano back to CVS
13322
13323 === release 0.10.9 ===
13324
13325 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
13326
13327         * configure.ac:
13328           releasing 0.10.9, "On the road again"
13329
13330 2006-07-13  Wim Taymans  <wim@fluendo.com>
13331
13332         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13333         * tests/check/elements/filesrc.c: (GST_START_TEST):
13334         Revert pull-0 fix for release. Disable check. Fixes #347408.
13335
13336 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13337
13338         * libs/gst/dataprotocol/dataprotocol.c:
13339         (gst_dp_event_from_packet_1_0):
13340           Fixes #347337: failure to deserialize event packets with
13341           empty payload (only event type)
13342
13343 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13344
13345         * gst/Makefile.am:
13346           do not install a .c file in the header directory
13347
13348 2006-07-13  Edward Hervey  <edward@fluendo.com>
13349
13350         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13351         GhostPad no longer implicitely use the padtemplates of the targets.
13352         Fixes #347384
13353
13354 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
13355
13356         * gst/gstvalue.c: (gst_value_compare_list),
13357         (gst_value_compare_array), (_gst_value_initialize):
13358         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13359         Make GstValueArray comparison be order dependent as designed.
13360         Add checks for value lists and value array comparisons.
13361         Fixes #347221
13362
13363 2006-07-11  Edward Hervey  <edward@fluendo.com>
13364
13365         * gst/gstbin.c: (activate_pads),
13366         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13367         (gst_bin_change_state_func):
13368         (de)activate src pads before calling state_change on the childs.
13369         This is to avoid the case where a src ghostpad is blocked (holding the
13370         stream lock), which would block the deactivation of the ghostpad's
13371         target pad.
13372         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
13373         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
13374         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
13375         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13376         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13377         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13378         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
13379         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
13380         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
13381         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
13382         (gst_ghost_pad_class_init),
13383         (gst_ghost_pad_internal_do_activate_push),
13384         (gst_ghost_pad_internal_do_activate_pull),
13385         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
13386         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13387         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
13388         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
13389         GhostPads now create their internal GstProxyPad at creation (and not
13390         when they're linked, as it was being done previously).
13391         The internal and target pads are linked straight away.
13392         The data will also travel through the other pad in order to make
13393         pad blocking and probes non-hackish (the probe/block now really happens
13394         on the GhostPad and not on the target).
13395         * gst/gstpad.c: (gst_pad_set_blocked_async),
13396         (gst_pad_link_prepare), (gst_pad_push_event):
13397         Remove previous ghostpad cruft.
13398         * gst/gstutils.c: (gst_pad_add_data_probe),
13399         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13400         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13401         (gst_pad_remove_buffer_probe):
13402         Remove previous ghost pad cruft.
13403         Added more detailed debug statements.
13404         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13405         Fix the testsuite for refcounting changes.
13406         The comments about who has references were correct, but the refcount
13407         being checked wasn't the same (!?!).
13408
13409         Fixes #341029
13410
13411 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13412
13413         * docs/gst/gstreamer-sections.txt:
13414         * gst/gstconfig.h.in:
13415         More docs for configuration options, add docs to gtk-doc.
13416
13417 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13418
13419         * gst/Makefile.am:
13420         * gst/gstconfig.h.in:
13421         * win32/common/config.h:
13422         Fix build when disabling tracing (fixes #344016). Also start to document
13423         the defines that disable the sub-systems.
13424
13425 2006-07-10  Edward Hervey  <edward@fluendo.com>
13426
13427         * gst/gst.c: (ensure_current_registry_forking):
13428         let's make valgrind happy...
13429
13430 2006-07-09  Wim Taymans  <wim@fluendo.com>
13431
13432         * gst/gstelement.c: (activate_pads),
13433         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13434         Better pad activation code: Reset the collect value too on resync.
13435         Add some comments.
13436
13437 2006-07-09  Wim Taymans  <wim@fluendo.com>
13438
13439         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
13440         (gst_pad_activate_push):
13441         Use some more macros where it makes sense.
13442         Allow pad mode switching instead of asserting. When a pad
13443         is activated in one mode and we activate it in another, 
13444         deactivate it first before activating it in a different mode.
13445         Fixes #329198.
13446
13447 2006-07-08  Andy Wingo  <wingo@pobox.com>
13448
13449         * tools/gst-launch.c (main): Handle err == NULL.
13450
13451         * gst/gst.c (init_post, ensure_current_registry)
13452         (ensure_current_registry_forking)
13453         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
13454         factoring out the registry scanning into separate functions. Don't
13455         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
13456         Better environment var name/interface suggestions accepted.
13457
13458 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13459
13460         * gst/gstobject.c: (gst_object_set_name_default),
13461         (gst_object_set_name):
13462           Random micro-optimisation: don't use a hash table
13463           with strings as keys and the usual strdup/strcmp
13464           involved, but rather just use the GQuark of the
13465           type name as key, since it needs to be looked up
13466           anyway to get the type name string.
13467
13468         * tests/check/gst/gstobject.c: (GST_START_TEST):
13469           Fix various leaks.
13470
13471 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13472
13473         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
13474         (gst_bin_iterate_all_by_interface):
13475           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
13476           GTypes are gulongs and thus the top 4 bytes might be cut
13477           off on some platforms when doing GPOINTER_TO_INT, leading
13478           to invalid GTypes and bad things happening (see RH bug #179654).
13479           Also add a check to make sure the type passed in is really
13480           an interface type.
13481
13482 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13483
13484         * .cvsignore:
13485           Ignore more.
13486
13487 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13488
13489         * Makefile.am:
13490         * configure.ac:
13491         * gst-element-check.m4:
13492         * gst-element-check.m4.in:
13493           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
13494           instead of the unversioned gst-inspect (#324176, #168659).
13495
13496 2006-07-06  Wim Taymans  <wim@fluendo.com>
13497
13498         * gst/gstmessage.h:
13499         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
13500         warnings.
13501
13502 2006-07-06  Wim Taymans  <wim@fluendo.com>
13503
13504         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13505         (gst_base_src_wait), (gst_base_src_update_length),
13506         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
13507         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
13508         (gst_base_src_loop), (gst_base_src_start),
13509         (gst_base_src_activate_pull):
13510         Update docs.
13511         blocksize == 0 now means the default blocksize when working in push
13512         based mode.
13513         Remove some pointless asserts in _wait function.
13514         Fix offset/length calculations and EOS handling. We can now pull 0
13515         bytes as well, which is allowed.
13516         use _check_get_range() to decide if we can operate in _pull based
13517         mode.
13518         Fix refcounting leak when check_get_range function was not 
13519         implemented.
13520         API GstBaseSrc::blocksize range can be 0 too now (default)
13521
13522         * tests/check/elements/filesrc.c: (GST_START_TEST),
13523         (filesrc_suite):
13524         Added check to test _get_range() behaviour.
13525
13526 2006-07-06  Wim Taymans  <wim@fluendo.com>
13527
13528         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
13529         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
13530         (gst_pad_pull_range):
13531         * gst/gstpad.h:
13532         Lots of comments and docs added to the pad functions.
13533         Flesh out the expected behaviour of the get_range() functions.
13534
13535 2006-07-06  Wim Taymans  <wim@fluendo.com>
13536
13537         * gst/gstbus.h:
13538         * gst/gstclock.h:
13539         * gst/gstevent.h:
13540         * gst/gstiterator.h:
13541         * gst/gstpad.h:
13542         * gst/gstplugin.h:
13543         * gst/gsttask.h:
13544         Remove comma at end of enumerator list. 
13545
13546 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
13547
13548         * win32/common/libgstbase.def:
13549         * win32/common/libgstdataprotocol.def:
13550         * win32/common/libsgtreamer.def:
13551         Add new exported functions.
13552
13553 2006-07-05  Wim Taymans  <wim@fluendo.com>
13554
13555         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
13556         Add some more docs here and there.
13557
13558 2006-07-05  Wim Taymans  <wim@fluendo.com>
13559
13560         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
13561         (gst_base_sink_loop), (gst_base_sink_get_position):
13562         When operating in pull mode update the offset so that we
13563         read sequentially.
13564
13565 2006-07-05  Wim Taymans  <wim@fluendo.com>
13566
13567         * gst/gstregistryxml.c: (read_string):
13568         Avoid strdup. (will happen in libxml, but hey!)
13569
13570         * gst/gsturi.c:
13571         Add some more docs.
13572
13573 2006-07-05  Wim Taymans  <wim@fluendo.com>
13574
13575         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
13576         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
13577         (gst_buffer_suite):
13578         No point in checking if the size of the subbuffer > 0, the
13579         code handles it correclty as demonstrated by unit test.
13580         Also add a unit test for the zero sized _new_and_alloc and
13581         _copy. Fixes #346663.
13582
13583 2006-07-05  Wim Taymans  <wim@fluendo.com>
13584
13585         * libs/gst/base/gstbasetransform.c:
13586         (gst_base_transform_prepare_output_buffer),
13587         (gst_base_transform_buffer_alloc),
13588         (gst_base_transform_handle_buffer):
13589         Make sure the buffer we pass to transform_ip has a refcount of
13590         1 and thus is writable. Fixes #343196
13591
13592 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
13593
13594         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
13595         (gst_file_src_init), (gst_file_src_set_property),
13596         (gst_file_src_get_property), (gst_file_src_map_region):
13597         * plugins/elements/gstfilesrc.h:
13598         Add "sequential" property, off by default, to use madvise and hint
13599         to the kernel that sequential access is desired.
13600         Touch all retrieved pages by default to ensure they are pulled
13601         into memory. (Closes #345720)
13602
13603 2006-07-03  Wim Taymans  <wim@fluendo.com>
13604
13605         * docs/design/part-block.txt:
13606         * docs/design/part-dynamic.txt:
13607         Small docs updates.
13608
13609 2006-07-03  Wim Taymans  <wim@fluendo.com>
13610
13611         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
13612         (gst_caps_unref), (gst_static_caps_get),
13613         (gst_caps_append_structure):
13614         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
13615         Use GSlice when the glib we build against is >= 2.10
13616
13617 2006-07-03  Wim Taymans  <wim@fluendo.com>
13618
13619         * gst/gstelement.c: (gst_element_pads_activate):
13620         Small cleanup in pad activation code.
13621
13622 2006-07-03  Wim Taymans  <wim@fluendo.com>
13623
13624         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13625
13626         * gst/gst-i18n-app.h:
13627         * gst/gst-i18n-lib.h:
13628         * tools/gst-inspect.c: (print_signal_info):
13629         The attached patch will make the inclusion of gettext.h unconditional in
13630         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
13631         libintl.h in tools/gst-inspect.c.
13632         This allows use of --disable-nls again and fixes #344642.
13633
13634 2006-07-03  Edward Hervey  <edward@fluendo.com>
13635
13636         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
13637         Implement pad blocking on events according to part-block.txt.
13638         More comments on behaviour.
13639         * tests/check/gst/gstevent.c: (test_event):
13640         Send event to peer pad of blocked pad (else it will block).
13641
13642 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13643
13644         * libs/gst/check/gstcheck.c: (gst_check_message_error),
13645         (gst_check_run_suite):
13646           if we get the wrong message, give us the types as string
13647         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
13648           Fix a translatable
13649         * tests/check/elements/filesrc.c: (GST_START_TEST):
13650           add a test for trying to open a non-existing file
13651
13652 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13653
13654         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13655           add a test for adding self
13656
13657 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13658
13659         * libs/gst/check/gstcheck.h:
13660           add some assert_ as alias for fail_unless_*
13661         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
13662           increase test coverage
13663
13664 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13665
13666         * Makefile.am:
13667           include lcov.mak for lcov coverage generation
13668         * tools/Makefile.am:
13669           add to CLEANFILES
13670
13671 2006-07-02  Edward Hervey  <edward@fluendo.com>
13672
13673         * tests/check/elements/.cvsignore:
13674         moaping
13675
13676 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13677
13678         * configure.ac:
13679           don't set CFLAGS and friends for gcov, done from GST_GCOV now
13680         * tests/check/Makefile.am:
13681           clean up gcov files
13682
13683 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13684
13685         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
13686           remove gst_caps_simplify; it was not declared and not used
13687           and deprecated in 0.8
13688
13689 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13690
13691         * docs/faq/gst-uninstalled:
13692           don't put empty paths on PYTHONPATH
13693         * docs/gst/gstreamer-sections.txt:
13694           remove some symbols that are not there
13695
13696 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13697
13698         * gst/gstcaps.c: (gst_caps_compare_structures):
13699           whitespace fixes
13700         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
13701         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13702           add more tests
13703
13704 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13705
13706         * libs/gst/dataprotocol/Makefile.am:
13707           build dataprotocol test by linking to the lib, instead of
13708           compiling the source, so we get coverage
13709         * tests/check/Makefile.am:
13710         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
13711         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
13712           add a test for filesrc
13713
13714 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13715
13716         * tests/check/gst/gststructure.c: (GST_START_TEST),
13717         (gst_structure_suite):
13718           Push coverage from 59.04% to 70.00%
13719
13720 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13721
13722         * tests/check/Makefile.am:
13723           gst-inspect every element; this makes sure that we also get
13724           coverage on element's get/set functions
13725
13726 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13727
13728         * configure.ac:
13729           set CFLAGS and friends to -O0 if gcov is being used
13730           add GCOV LIBS
13731         * gst/Makefile.am:
13732         * libs/gst/base/Makefile.am:
13733         * libs/gst/check/Makefile.am:
13734         * libs/gst/controller/Makefile.am:
13735         * libs/gst/dataprotocol/Makefile.am:
13736         * libs/gst/net/Makefile.am:
13737         * plugins/elements/Makefile.am:
13738         * plugins/indexers/Makefile.am:
13739           add makefile rules to generate gcov data and clean up
13740         * tests/check/Makefile.am:
13741           add a coverage target that generates an html overview
13742           of coverage data
13743
13744 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13745
13746         * tests/check/elements/fakesink.c:
13747         * tests/check/elements/fakesrc.c:
13748         * tests/check/elements/fdsrc.c:
13749         * tests/check/elements/identity.c:
13750         * tests/check/generic/sinks.c: (gst_sinks_suite):
13751         * tests/check/generic/states.c:
13752         * tests/check/gst/gst.c:
13753         * tests/check/gst/gstabi.c:
13754         * tests/check/gst/gstbin.c:
13755         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
13756         * tests/check/gst/gstbus.c: (gst_bus_suite):
13757         * tests/check/gst/gstcaps.c: (GST_START_TEST):
13758         * tests/check/gst/gstelement.c:
13759         * tests/check/gst/gstevent.c: (gst_event_suite):
13760         * tests/check/gst/gstghostpad.c:
13761         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
13762         * tests/check/gst/gstmessage.c: (gst_message_suite):
13763         * tests/check/gst/gstminiobject.c:
13764         * tests/check/gst/gstobject.c:
13765         * tests/check/gst/gstpad.c:
13766         * tests/check/gst/gstpipeline.c:
13767         * tests/check/gst/gstplugin.c:
13768         * tests/check/gst/gstquery.c: (gst_query_suite):
13769         * tests/check/gst/gstsegment.c: (gst_segment_suite):
13770         * tests/check/gst/gststructure.c:
13771         * tests/check/gst/gstsystemclock.c:
13772         * tests/check/gst/gsttag.c:
13773         * tests/check/gst/gsttask.c: (gst_task_suite):
13774         * tests/check/gst/gstutils.c:
13775         * tests/check/gst/gstvalue.c:
13776         * tests/check/libs/adapter.c:
13777         * tests/check/libs/basesrc.c:
13778         * tests/check/libs/collectpads.c:
13779         * tests/check/libs/controller.c:
13780         * tests/check/libs/gdp.c: (gst_dp_suite):
13781         * tests/check/libs/gstnetclientclock.c:
13782         * tests/check/libs/gstnettimeprovider.c:
13783         * tests/check/libs/libsabi.c: (libsabi_suite):
13784         * tests/check/libs/typefindhelper.c:
13785         * tests/check/pipelines/cleanup.c:
13786         * tests/check/pipelines/parse-launch.c:
13787         * tests/check/pipelines/simple-launch-lines.c:
13788         * tests/check/pipelines/stress.c: (stress_suite):
13789           use the new macro
13790
13791 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13792
13793         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
13794         * libs/gst/check/gstcheck.h:
13795           create a macro and function so that the simple unit test
13796           case can be just one macro to create main()
13797
13798 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
13799
13800         * gst/gstbin.c: (gst_bin_restore_thyself):
13801         * gst/gstxml.c: (gst_xml_make_element):
13802           Fix deserialisation from XML. Set parent manually
13803           instead of using gst_bin_add(), since gst_bin_add()
13804           will unlink all pads of the element being added.
13805           Fixes #341667.
13806
13807 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
13808
13809         Patch by: Peter Kjellerstedt <pkj at axis com>
13810
13811         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
13812           Fix missing g_strdup() and double free when using the
13813           --gst-plugin-load command line option (#346097).
13814
13815 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
13816
13817         * gst/gstinfo.c:
13818           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
13819
13820         * libs/gst/net/gstnetclientclock.c:
13821         * libs/gst/net/gstnettimeprovider.c:
13822           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
13823
13824 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
13825
13826         * docs/manual/advanced-dataaccess.xml:
13827           Fix buffer probe example compilation in
13828           ADM (#345708).
13829         
13830 2006-06-22  Edward Hervey  <edward@fluendo.com>
13831
13832         * gst/gstelement.c: (gst_element_pads_activate):
13833         We need to deactivate src pads first and then sink pads.
13834         The reason is the src pads might be blocking while holding the streaming
13835         lock, so we need to deactivate them first so that deactivating the sink
13836         pads doesn't block (since it will require the streaming lock).
13837
13838 2006-06-22  Wim Taymans  <wim@fluendo.com>
13839
13840         * libs/gst/base/gstbasetransform.c:
13841         (gst_base_transform_buffer_alloc):
13842         Forgot to remove two unneeded unrefs.
13843         Simplify a check _is_equal allready checks the obvious case.
13844
13845 2006-06-22  Wim Taymans  <wim@fluendo.com>
13846
13847         * docs/design/part-block.txt:
13848         Some docs about what pad_block should do.
13849
13850 2006-06-22  Wim Taymans  <wim@fluendo.com>
13851
13852         * gst/gstcaps.c: (gst_caps_replace):
13853         Fix crasher when passed NULL. Doc clarification.
13854         Optimize for the trivial case.
13855
13856         * gst/gstpipeline.c: (gst_pipeline_change_state):
13857         Small cleanups.
13858
13859         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
13860         Small documentation cleanup.
13861
13862         * libs/gst/base/gstbasetransform.c:
13863         (gst_base_transform_buffer_alloc):
13864         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
13865         is what we need and it avoids a whole lot of redundant 
13866         refcount operations.
13867
13868 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
13869
13870         Patch by: Philip Jägenstedt  <philip at lysator liu se>
13871
13872         * docs/manual/advanced-dataaccess.xml:
13873           Fix 'Embedding static elements' section to use
13874           GST_PLUGIN_DEFINE_STATIC (#345607).
13875
13876 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
13877
13878         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
13879           Attempt to 'fix' spuriously failing test case: it seems like the
13880           timeout of half a second is simply too small when the system is under
13881           load otherwise, and the timeout doesn't really seem to serve any
13882           particular purpose here. Give the pipeline a few seconds to preroll
13883           first, and then give it another half a second to go from PAUSED to
13884           PLAYING and marshal the message into the main thread.
13885
13886 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
13887
13888         * tools/gst-feedback-m.m:
13889           Don't only use unversioned tools, try versioned tools as well
13890           (#345086).
13891
13892 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
13893
13894         * gst/gstbus.c: (gst_bus_class_init):
13895           Fix some typos, make docs more explicit.
13896
13897 2006-06-20  Wim Taymans  <wim@fluendo.com>
13898
13899         * tests/check/gst/gstghostpad.c: (block_callback),
13900         (GST_START_TEST), (gst_ghost_pad_suite):
13901         Added some more ghostpad tests, mainly blocking
13902         and probes.
13903
13904 2006-06-16  Wim Taymans  <wim@fluendo.com>
13905
13906         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
13907         (gst_file_sink_close_file), (gst_file_sink_do_seek),
13908         (gst_file_sink_event), (gst_file_sink_render):
13909         * plugins/elements/gstfilesink.h:
13910         Check if we can seek in the file instead of assuming
13911         we always can. Post an error when we are asked to seek in a
13912         non-seekable file (like a fifo). Fixes #343312.
13913         Some cleanups.
13914
13915 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
13916
13917         * tools/gst-launch.1.in:
13918           Un-garble (fourcc) bit in filtered caps section.
13919
13920 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
13921
13922         * docs/manual/advanced-autoplugging.xml:
13923         * docs/manual/basics-helloworld.xml:
13924         * docs/manual/highlevel-components.xml:
13925           Don't leak bus reference in sample code.
13926
13927 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
13928
13929         * autogen.sh:
13930           Add default for new --enable-plugin-docs switch.
13931
13932         * configure.ac:
13933           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
13934           Fixes #344039.
13935
13936         * docs/Makefile.am:
13937           Use new ENABLE_PLUGIN_DOCS conditional.
13938
13939 2006-06-14  Wim Taymans  <wim@fluendo.com>
13940
13941         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
13942         Make it clear with a FIXME and a real define what the #if 0
13943         previously disabled.
13944
13945 2006-06-14  Wim Taymans  <wim@fluendo.com>
13946
13947         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
13948         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
13949         * libs/gst/base/gstbasetransform.c:
13950         (gst_base_transform_sink_eventfunc):
13951         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
13952         Don't randomly and silently reset a segment when the format 
13953         changes as this is a bug somewhere upstream. Fixes #330379.
13954
13955 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
13956
13957         Patch by: Wouter Paesen  <wouter at kangaroot net>
13958
13959         * libs/gst/controller/gstcontroller.c:
13960         (gst_controlled_property_new):
13961           Fix controlling of float properties (#344849).
13962
13963         * tests/check/libs/controller.c:
13964         (gst_test_mono_source_get_property),
13965         (gst_test_mono_source_set_property),
13966         (gst_test_mono_source_class_init), (GST_START_TEST):
13967           While we're at it, add some float stuff to unit test.
13968
13969 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13970
13971         * docs/README:
13972         * docs/images/gdp-header.svg:
13973           add a gdp image
13974         * docs/libs/Makefile.am:
13975         * docs/libs/gdp-header.png:
13976         * libs/gst/dataprotocol/dataprotocol.c:
13977           add it to the API docs
13978         * docs/manual/intro-motivation.xml:
13979           fix typo
13980
13981 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
13982
13983         * gst/gst.c: (scan_and_update_registry), (init_post):
13984           If the fork()'ed child process can't write the updated registry cache
13985           file to disk for some reason, make it exit with a failure exit code,
13986           so that the parent can then re-scan the plugins itself and update the
13987           registry structures in memory and work with that (rather than failing
13988           when creating elements because seemingly no plugins are available).
13989           Refactor registry scanning code into separate function for this and
13990           also separate fork() and non-fork() code paths. Fixes #344748.
13991
13992 2006-06-13  Wim Taymans  <wim@fluendo.com>
13993
13994         * docs/manual/advanced-dataaccess.xml:
13995         Fix wrong PluginDesc. Fixes #344755.
13996
13997 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
13998
13999         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14000           Fix silly bug that prevented us from creating
14001           ~/.gstreamer-0.10 and writing the registry in one
14002           go (the first call to g_mkstemp() would overwrite the
14003           placeholder in the template string, so the second call
14004           to g_mkstemp() after creating the missing directory
14005           would then error out with 'invalid argument').
14006
14007 2006-06-13  Edward Hervey  <edward@fluendo.com>
14008
14009         * gst/gst.c: (init_post):
14010         Free string.
14011
14012 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14013
14014         * gst/glib-compat-private.h:
14015         * gst/glib-compat.c:
14016         * gst/glib-compat.h:
14017         * gst/gstvalue.c: (gst_value_serialize_flags):
14018           remove GLib 2.6 compatibility code
14019
14020 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
14021
14022         * gst/parse/Makefile.am:
14023           Fix build with 'make -j N' even more (#340016).
14024
14025 2006-06-12  Wim Taymans  <wim@fluendo.com>
14026
14027         * docs/gst/gstreamer-sections.txt:
14028         Fix docs.
14029
14030 2006-06-12  Wim Taymans  <wim@fluendo.com>
14031
14032         * gst/gstsegment.c: (gst_segment_set_duration),
14033         (gst_segment_set_last_stop), (gst_segment_set_seek),
14034         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
14035         (gst_segment_to_running_time), (gst_segment_clip):
14036         Use G_UNLIKELY to help the compiler a bit.
14037
14038 2006-06-12  Wim Taymans  <wim@fluendo.com>
14039
14040         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14041
14042         * gst/gstevent.c: (gst_event_get_type):
14043         * gst/gstmessage.c:
14044         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14045         (gst_pad_push):
14046         constify quark registration strings. Fixes #344115
14047         Avoid unneeded type checking is _pad_push() by internally
14048         calling gst_pad_chain_unchecked().
14049
14050 2006-06-12  Wim Taymans  <wim@fluendo.com>
14051
14052         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
14053         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
14054         (gst_subbuffer_finalize), (gst_buffer_create_sub),
14055         (gst_buffer_is_span_fast), (gst_buffer_span):
14056         Init _type for consistency.
14057         Use _FLAGS macro to avoid type check.
14058         Avoid unneeded type checks in subbufer code.
14059
14060 2006-06-12  Wim Taymans  <wim@fluendo.com>
14061
14062         * gst/gst.c: (gst_debug_help):
14063         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
14064         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14065         (gst_plugin_feature_list_free):
14066         * gst/gstregistry.c: (gst_registry_add_plugin),
14067         (gst_registry_add_feature), (gst_registry_plugin_filter),
14068         (gst_registry_feature_filter), (gst_registry_find_plugin),
14069         (gst_registry_find_feature), (gst_registry_get_plugin_list),
14070         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
14071         * gst/gstregistryxml.c: (load_feature),
14072         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14073         * gst/gstminiobject.c: (gst_mini_object_unref),
14074         (gst_mini_object_replace), (gst_value_mini_object_free),
14075         (gst_value_mini_object_copy):
14076         Use _CAST macros to avoid unneeded type checking.
14077         Added some more G_UNLIKELY.
14078
14079 2006-06-12  Wim Taymans  <wim@fluendo.com>
14080
14081         * gst/gstbuffer.h:
14082         Avoid unneeded type checking.
14083         API: GST_BUFFER_IS_DISCONT
14084
14085         * gst/gstminiobject.h:
14086         Avoid type check in flag accessor.
14087
14088         * gst/gstelementfactory.h:
14089         * gst/gstplugin.h:
14090         * gst/gstpluginfeature.h:
14091         Add _CAST macros.
14092         API: GST_ELEMENT_FACTORY_CAST
14093         API: GST_PLUGIN_CAST
14094         API: GST_PLUGIN_FEATURE_CAST
14095
14096 2006-06-12  Wim Taymans  <wim@fluendo.com>
14097
14098         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
14099         (gst_object_unref):
14100         Add G_UNLIKELY in type registration.
14101         Avoid type check in _ref/_unref since that is also
14102         done in glib.
14103
14104 2006-06-12  Wim Taymans  <wim@fluendo.com>
14105
14106         * gst/gsterror.c: (gst_g_error_get_type):
14107         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
14108         (gst_static_pad_template_get_type):
14109         * gst/gsttaglist.c: (gst_tag_list_get_type):
14110         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
14111         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
14112         * gst/gsturi.c: (gst_uri_handler_get_type):
14113         * gst/gstvalue.c: (gst_date_get_type):
14114         * gst/gstxml.c: (gst_xml_get_type):
14115         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
14116         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14117         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
14118         Add G_UNLIKELY in type registration.
14119
14120 2006-06-12  Wim Taymans  <wim@fluendo.com>
14121
14122         * tools/gst-inspect.c: (print_signal_info):
14123         Properly print enum values.
14124
14125 2006-06-12  Wim Taymans  <wim@fluendo.com>
14126
14127         * gst/gstinfo.c: (gst_debug_set_active),
14128         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
14129         * gst/gstinfo.h:
14130         Add some G_[UN]LIKELY.
14131         Maintain __gst_debug_min to avoid formatting the arguments of
14132         debug messages that will be dropped anyway to avoid a lot of 
14133         overhead from the debugging system.
14134
14135 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14136
14137         * po/POTFILES.in:
14138         * po/POTFILES.skip:
14139           add missing files containing translatable strings, tell intltool about
14140           one exception
14141
14142 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14143
14144         * tests/check/libs/.cvsignore:
14145         add test-binary to ignore list
14146
14147 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14148
14149         * docs/libs/gstreamer-libs-docs.sgml:
14150         reorder (put dp into a chapter) and indent
14151
14152 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14153
14154         * configure.ac:
14155           back to HEAD
14156
14157 === release 0.10.8 ===
14158
14159 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
14160
14161         * configure.ac:
14162           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
14163
14164 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14165
14166         * gst/gst.c: (init_post):
14167           move pid declaration to declaration block
14168
14169 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14170
14171         * gst/gst.c: (init_post):
14172           use _exit() instead of exit() in our forked child; this ensures
14173           that none of the registered exit handlers from whatever is using
14174           GStreamer get executed.  This fixes gnome-mixer-applet failing
14175           to load, because ORBit would shut down.
14176           Spotted by: Edward Hervey  <edward@fluendo.com>
14177           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
14178           Fixes #344474
14179
14180 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14181
14182         * configure.ac:
14183           back to TRUNK
14184
14185 === release 0.10.7 ===
14186
14187 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
14188
14189         * configure.ac:
14190           releasing 0.10.7, "Soepeke, ik zie ou"
14191
14192 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14193
14194         * configure.ac:
14195         * po/af.po:
14196         * po/az.po:
14197         * po/bg.po:
14198         * po/ca.po:
14199         * po/cs.po:
14200         * po/de.po:
14201         * po/en_GB.po:
14202         * po/fr.po:
14203         * po/it.po:
14204         * po/nb.po:
14205         * po/nl.po:
14206         * po/ru.po:
14207         * po/sq.po:
14208         * po/sr.po:
14209         * po/sv.po:
14210         * po/tr.po:
14211         * po/uk.po:
14212         * po/vi.po:
14213         * po/zh_CN.po:
14214         * po/zh_TW.po:
14215         * win32/common/config.h:
14216           0.10.6.2 prerelease
14217
14218 2006-06-07  Wim Taymans  <wim@fluendo.com>
14219
14220         * gst/gstindex.c: (gst_index_gtype_resolver):
14221         * tools/gst-xmlinspect.c: (print_plugin_info):
14222         Fix leak spotted by coverity checker. Fixes #343827
14223         Fix another other leak found by paolo borelli.
14224
14225 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14226
14227         * libs/gst/dataprotocol/dataprotocol.c:
14228         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
14229         (gst_dp_version_get_type), (gst_dp_init),
14230         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14231         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
14232         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
14233         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
14234         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
14235         (gst_dp_packetizer_free):
14236         * libs/gst/dataprotocol/dataprotocol.h:
14237           API: add a GstDPPacketizer object, and create/free functions
14238           API: add GstDPVersion enum
14239           Add 1.0 event function that uses the string serialization
14240           Serialize more useful buffer flags
14241           Fixes #343988
14242
14243 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14244
14245         * tests/check/Makefile.am:
14246         * tests/check/gst/gstabi.c:
14247         * tests/check/gst/struct_ppc64.h:
14248         * tests/check/libs/libsabi.c:
14249         * tests/check/libs/struct_ppc64.h:
14250           add ppc64 structure sizes
14251
14252 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14253
14254         * tests/check/Makefile.am:
14255         * tests/check/gst/gstabi.c:
14256         * tests/check/gst/struct_x86_64.h:
14257         * tests/check/libs/libsabi.c:
14258         * tests/check/libs/struct_x86_64.h:
14259           generate and add structure size lists for x86_64
14260
14261 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14262
14263         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
14264         * libs/gst/check/gstcheck.h:
14265           factor out the method from tests that checks size of structures,
14266           and add code to generate the header containing these sizes
14267         * tests/check/gst/gstabi.c: (GST_START_TEST):
14268         * tests/check/gst/struct_i386.h:
14269         * tests/check/libs/libsabi.c: (GST_START_TEST):
14270         * tests/check/libs/struct_i386.h:
14271           use it
14272
14273 2006-06-06  Michael Smith  <msmith@fluendo.com>
14274
14275         * gst/gstsegment.h:
14276           Don't use c++-style comments, fixes #343929
14277
14278 2006-06-05  Edward Hervey  <edward@fluendo.com>
14279
14280         * gst/gst.c:
14281         plugin_paths is not used if we build without registry support.
14282
14283         * gst/gstsegment.c: (gst_segment_copy): 
14284         _copy() was always returning NULL...
14285
14286 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14287
14288         * libs/gst/dataprotocol/dataprotocol.c:
14289         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14290         (gst_dp_packet_from_event):
14291           factor out CRC code
14292
14293 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14294
14295         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
14296           make sure we unset caps
14297
14298 2006-06-02  Michael Smith  <msmith@fluendo.com>
14299
14300         * libs/gst/check/gstcheck.c: (gst_check_init),
14301         (gst_check_chain_func):
14302         * libs/gst/check/gstcheck.h:
14303           Add a cond/mutex to the check support lib, signal this whenever we
14304           add to the buffers list. This will allow tests to not busy-wait on
14305           the buffer-list.
14306
14307 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14308
14309         * libs/gst/dataprotocol/dataprotocol.c:
14310         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14311         (gst_dp_packet_from_event):
14312           factor out some common header init code
14313
14314 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14315
14316         * docs/libs/gstreamer-libs-sections.txt:
14317         * docs/libs/tmpl/gstdataprotocol.sgml:
14318         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
14319         * libs/gst/dataprotocol/dataprotocol.h:
14320           API: make gst_dp_crc() public
14321
14322 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14323
14324         * plugins/indexers/gstindexers.c: (plugin_init):
14325         conditionally register fileindexer (fixes #343598)
14326
14327 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14328
14329         * gst/gsttagsetter.h:
14330         Can't cast ifaces to a class
14331
14332         * libs/gst/net/gstnetclientclock.h:
14333         * libs/gst/net/gstnettimeprovider.h:
14334         * plugins/elements/gstfakesink.h:
14335         * plugins/elements/gstfakesrc.h:
14336         * plugins/elements/gstfdsink.h:
14337         * plugins/elements/gstfdsrc.h:
14338         * plugins/elements/gstfilesink.h:
14339         * plugins/elements/gstfilesrc.h:
14340         * plugins/elements/gstidentity.h:
14341         * plugins/elements/gstqueue.h:
14342         * plugins/elements/gsttee.h:
14343         * plugins/indexers/gstfileindex.c:
14344         * plugins/indexers/gstmemindex.c:
14345         * tests/old/examples/plugins/example.h:
14346         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
14347
14348 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14349
14350         * libs/gst/dataprotocol/dataprotocol.c:
14351         (gst_dp_header_from_buffer):
14352           make sure we zero the whole ABI-compatible area
14353
14354 2006-06-01  Wim Taymans  <wim@fluendo.com>
14355
14356         Patch by: Alessandro Decina <alessandro at nnva dot org>
14357
14358         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14359         Make sure the EOS flag is cleared from pads after a flush
14360         or stop. Fixes #343538.
14361
14362         * tests/check/libs/collectpads.c: (GST_START_TEST),
14363         (gst_collect_pads_suite):
14364         Added test for collectpads reusage after EOS.
14365
14366 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
14367
14368         * gst/gst.c:
14369          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
14370         * win32/common/libgstbase.def:
14371          export gst_collect_pads_set_flushing
14372         * win32/common/libgstreamer.def:
14373          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
14374          gst_value_fraction_multiply
14375         * win32/vs6/gst_inspect.dsp:
14376          add a link to intl.lib
14377
14378 2006-05-30  Wim Taymans  <wim@fluendo.com>
14379
14380         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14381         (gst_collect_pads_chain):
14382         Handle the case where a pad is removed from the collection
14383         that could cause the other pads to become collectable.
14384
14385 2006-05-30  Wim Taymans  <wim@fluendo.com>
14386
14387         * gst/gstelement.c:
14388         Clarify the use of _release_request_pad() and
14389         _get_request_pad() a bit better.
14390
14391         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
14392         (gst_adapter_take_buffer):
14393         Fix some doc and comment typos.
14394
14395 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14396
14397         * docs/gst/gstreamer-sections.txt:
14398         * docs/libs/gstreamer-libs-sections.txt:
14399           add declared symbols
14400
14401 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
14402
14403         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14404         Add debug that can be enabled using a #define at the top of the file,
14405         for dumping stats about how late/early we were when waking up from
14406         waiting on the clock.
14407
14408 2006-05-30  Wim Taymans  <wim@fluendo.com>
14409
14410         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
14411         When rebuilding the pad list, don't leak the previous list.
14412
14413 2006-05-30  Wim Taymans  <wim@fluendo.com>
14414
14415         Patch by: Lutz Mueller <lutz at topfrose dot de>
14416
14417         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14418         (gst_base_src_get_query_types), (gst_base_src_update_length):
14419         Publish supported query types.
14420         Update last_stop field in get_range mode so the position
14421         query works. Fixes #342321.
14422
14423 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
14424
14425         * docs/gst/gstreamer-sections.txt:
14426         * gst/gsttaglist.c: (_gst_tag_initialize):
14427         * gst/gsttaglist.h:
14428           API: add GST_TAG_PREVIEW_IMAGE (#343341).
14429
14430 2006-05-30  Wim Taymans  <wim@fluendo.com>
14431
14432         Patch by: Alessandro Decina <alessandro at nnva dot org>
14433
14434         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
14435         Unlock mutex when removing an unknown pad.
14436         Fixes #343334.
14437
14438         * tests/check/Makefile.am:
14439         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
14440         (push_event), (setup), (teardown), (GST_START_TEST),
14441         (gst_collect_pads_suite), (main):
14442         Added collecpads check, disabled for now as check crashes for
14443         some reason.
14444
14445 2006-05-29  Wim Taymans  <wim@fluendo.com>
14446
14447         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
14448         Don't leak pads lists.
14449
14450 2006-05-29  Wim Taymans  <wim@fluendo.com>
14451
14452         * docs/libs/gstreamer-libs-sections.txt:
14453         * libs/gst/base/gstcollectpads.c:
14454         (gst_collect_pads_set_flushing_unlocked),
14455         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14456         (gst_collect_pads_stop):
14457         * libs/gst/base/gstcollectpads.h:
14458         API: gst_collect_pads_set_flushing()
14459         Added api to set the pads to flushing, useful for seeking
14460         code in elements using collectpads.
14461         Clear segment when receiving a flush.
14462
14463 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
14464
14465         * gst/gst.c: (add_path_func), (init_post):
14466           Don't scan registry paths passed via --gst-plugin-path immediately
14467           (will crash, because absolutely nothing is set up and no types are
14468           registered etc.); do this later in init_post(). Fixes #343057.
14469
14470 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14471
14472         * gst/gst.c: (init_post):
14473           if we have fork, fork while reading/rebuilding the registry
14474           so the parent doesn't take the hit of having all plugins loaded
14475           in memory.  Fixes #342777.
14476         * configure.ac:
14477           Check if we have fork()
14478         * win32/common/config.h.in:
14479           no fork() on win32
14480
14481 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14482
14483         * plugins/elements/gstelements.c:
14484         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14485         (gst_file_src_init), (gst_file_src_set_property),
14486         (gst_file_src_get_property), (gst_file_src_start):
14487         * plugins/elements/gstfilesrc.h:
14488           API: GstFileSrc::use-mmap
14489
14490         Add a use-mmap property to enable easier testing of all code paths.
14491         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
14492         in the absence of gnomevfssrc. (Closes #340501)
14493
14494 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
14495
14496         * tools/gst-inspect.c:
14497         Add missing include, removes warning of ngettext not being defined on
14498         some arches.
14499
14500 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14501
14502         * gst/gstvalue.c: (gst_value_deserialize_fraction):
14503         Handle NULL input and output pointers silently as a failed conversion,
14504         rather than g_warnings.
14505
14506 2006-05-25  Wim Taymans  <wim@fluendo.com>
14507
14508         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
14509         Initialize variable before using. Fixes #342820.
14510
14511 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
14512
14513         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
14514           Fix off-by-one bug that would only allow peeks of N-1 bytes
14515           from the start even if the buffer to typefind on contains
14516           in fact N bytes of data (makes vorbis typefinding from a
14517           vorbis identification header buffer work).
14518
14519         * tests/check/Makefile.am:
14520         * tests/check/libs/.cvsignore:
14521         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
14522         (gst_typefindhelper_suite), (main), (foobar_typefind),
14523         (plugin_init):
14524           Add very basic unit test for gst_type_find_helper_for_buffer()
14525           that checks for the problem fixed above.
14526
14527 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14528
14529         * tools/gst-inspect.c: (print_interfaces),
14530         (print_element_properties_info), (print_element_list), (main):
14531           add more translatable strings
14532
14533 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
14534
14535         Patch by: Julien Moutte  <julien at moutte net>
14536
14537         * docs/gst/gstreamer-sections.txt:
14538           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
14539           
14540         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
14541         (gst_fake_sink_preroll):
14542         * plugins/elements/gstfakesink.h:
14543           API: Add new GstFakeSink::preroll-handoff signal (#337100).
14544
14545 2006-05-23  Wim Taymans  <wim@fluendo.com>
14546
14547         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
14548         * gst/gstpad.h:
14549         Added _CUSTOM error and success GstFlowReturn that can be
14550         used be elements internally. 
14551         Added macro to check for SUCCESS flowreturns.
14552         API: GST_FLOW_CUSTOM_SUCCESS
14553         API: GST_FLOW_CUSTOM_ERROR
14554         API: GST_FLOW_IS_SUCCESS
14555
14556         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
14557         Added check for GstFlowReturn sanity.
14558
14559 2006-05-23  Wim Taymans  <wim@fluendo.com>
14560
14561         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
14562
14563         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14564         (gst_collect_pads_event):
14565         clear/reset segment info in FLUSH_STOP.
14566         Fixes #336929.
14567
14568 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
14569
14570         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
14571         (gst_collect_pads_check_collected):
14572         Flush queued buffer on _stop(), fixes playing again (#342454)
14573
14574 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14575
14576         * tests/check/gst/gststructure.c: (GST_START_TEST),
14577         (gst_structure_suite):
14578           add a test for a complete structure
14579
14580 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
14581
14582         * docs/faq/developing.xml:
14583         * docs/faq/faq.xml:
14584         * docs/faq/troubleshooting.xml:
14585         * docs/faq/using.xml:
14586           Some minor FAQ updates that won't change the fact that
14587           our FAQ is badly structured, full of information hardly
14588           anyone new to GStreamer needs to know and lacking lots
14589           of information people constantly ask for.
14590           
14591 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
14592
14593         * gst/gstpad.c: (gst_pad_set_caps):
14594           Short-circuit gst_pad_set_caps if setting the existing
14595           caps pointer again, and avoid printing debug and 
14596           reffing/unreffing the caps.
14597
14598         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14599           There's actually no need to set the caps before pushing -
14600           the acceptcaps method will handle it anyway.
14601
14602 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
14603
14604         * docs/gst/gstreamer-sections.txt:
14605         * win32/common/libgstreamer.def:
14606         * gst/gstutils.c: (gst_element_seek_simple):
14607         * gst/gstutils.h:
14608           API: add gst_element_seek_simple() (#342238).
14609
14610 2006-05-18  Edward Hervey  <edward@fluendo.com>
14611
14612         * gst/gsttypefind.c: (gst_type_find_get_type):
14613         * gst/gsttypefind.h:
14614         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
14615         registered for GstTypeFind pointers. This allows wrapping the structure
14616         in bindings (i.e. gst-python).
14617
14618 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
14619
14620         * gst/gsttagsetter.c:
14621           Docs additions and fixes (see #339918).
14622
14623 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
14624
14625         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14626         The caps intersection algorithm can produce multiple copies of the
14627         caps. Until that is fixed, we need to simplify the result to be
14628         sure whether the allowed caps are fixed or not.
14629
14630         * plugins/elements/gstqueue.c: (gst_queue_init),
14631         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
14632         (gst_queue_push_one):
14633         Proxied buffer alloc should not set the caps on the source pad.
14634         When pushing buffers, we always accept the caps change that triggers.
14635         This prevents negotiation errors caused by caps changing mid-stream 
14636         and then being refused on our source pad (because upstream is now
14637         refusing those caps).
14638
14639 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
14640
14641         * tests/examples/helloworld/helloworld.c: (main):
14642           Must plug audioconvert and audioresample between decoder
14643           and audio sink.
14644
14645 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
14646
14647         * gst/gstregistryxml.c: (read_string), (load_pad_template),
14648         (load_feature), (load_plugin):
14649         Allow empty strings for some of the plugin fields so we don't 
14650         drop valid plugin entries that were written out correctly
14651         (Fixes #341479)
14652
14653 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
14654         
14655         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14656           Use g_remove and g_rename instead of remove and rename that don't 
14657           handle utf8 characters. rename was failing for users who had specific
14658           characters in their name then the registry was built at each 
14659           gstreamer init.
14660         * win32/vs6/gst_inspect.dsp:
14661         * win32/vs6/gst_launch.dsp:
14662         * win32/vs6/libgstbase.dsp:
14663         * win32/vs6/libgstcoreelements.dsp:
14664         * win32/vs6/libgstreamer.dsp:
14665           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
14666           build of libgstreamer and clean unused libraries in projects link 
14667           settings.
14668
14669 2006-05-17  Edward Hervey  <edward@fluendo.com>
14670
14671         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14672         The queue is not responsible for pushing an EOS when receiving a fatal
14673         flow error. It's up to the real element driving the pipeline to do that.
14674
14675 2006-05-16  Edward Hervey  <edward@fluendo.com>
14676
14677         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14678         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
14679         buffer returned a fatal error. It should just send an EOS and stop
14680         its task.
14681         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
14682         when pushing buffers on the queue and will be able to handle the event.
14683
14684 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
14685
14686         * docs/manual/basics-bins.xml:
14687         * docs/manual/basics-init.xml:
14688           Fix typos and minor errors in sample code (#341856).
14689
14690 2006-05-16  Wim Taymans  <wim@fluendo.com>
14691
14692         * docs/design/part-qos.txt:
14693         Fix indexes in formulas to make more sense.
14694
14695 2006-05-15  Wim Taymans  <wim@fluendo.com>
14696
14697         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14698         Don't report POSITION based on clock time if sync is
14699         disabled in a sink.
14700
14701 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
14702
14703         * gst/gstobject.h:
14704           Add cast to make compiler happy - refcount variable was a gint
14705           in GstObject but is a guint in GObject and g_atomic_int_get()
14706           wants a gint *.
14707
14708 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14709
14710         * gst/parse/Makefile.am:
14711           chain commands using &&, which also makes parallel make work
14712
14713 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
14714
14715         * docs/gst/gstreamer-sections.txt:
14716         * gst/gstevent.c:
14717         * gst/gstevent.h:
14718         * gst/gstmessage.h:
14719           Minor docs fixes.
14720
14721 === release 0.10.6 ===
14722
14723 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
14724
14725         * configure.ac:
14726           releasing 0.10.6, "Take the cannoli"
14727
14728 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
14729
14730         * tools/gst-launch.c: (print_tag):
14731           Fix use of uninitialized variable in the hypothetical
14732           case that some broken plugin creates a GST_TAG_IMAGE
14733           tag containing a NULL buffer (#341667).
14734
14735 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
14736
14737         * tools/gst-launch.c: (print_tag):
14738           Print something more intelligible for image tags when
14739           using the -t switch (#341556).
14740
14741 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14742
14743         * Makefile.am:
14744           updates for win32
14745         * configure.ac:
14746           define GST_MAJORMINOR so we have it available in win32/common/config.h
14747           Possibly remove it from our Makefile.am files later
14748         * win32/common/config.h:
14749         * win32/common/config.h.in:
14750           added GST_MAJORMINOR
14751         * win32/common/gstenumtypes.c: (register_gst_resource_error):
14752         * win32/common/gstversion.h:
14753           updated
14754
14755 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
14756
14757         * win32/MANIFEST:
14758           Update win32 files listing.
14759         * win32/common/gstversion.h:
14760           Add GST_MAJORMINOR definition.
14761         * win32/common/libgstreamer.def:
14762           Add new exported functions.
14763           
14764 2006-05-12  Michael Smith  <msmith@fluendo.com>
14765
14766         * gst/gstplugin.c: (gst_plugin_load_file):
14767           If an so file has no plugin entry point, unload the module.
14768
14769 2006-05-11  Wim Taymans  <wim@fluendo.com>
14770
14771         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
14772         (gst_queue_set_property):
14773         Don't forget to signal the _chain or _loop function 
14774         when the queue size or thresholds change since that might
14775         cause them to make progres again.
14776
14777 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
14778
14779         * gst/gstclock.c: (gst_clock_class_init):
14780         * gst/gstindex.c: (gst_index_class_init):
14781         * gst/gstobject.c: (gst_object_class_init):
14782         * gst/gstpad.c: (gst_pad_class_init):
14783         * gst/gstpipeline.c: (gst_pipeline_class_init):
14784         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
14785         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
14786         * libs/gst/base/gstbasetransform.c:
14787         (gst_base_transform_class_init):
14788         * libs/gst/net/gstnetclientclock.c:
14789         (gst_net_client_clock_class_init):
14790         * libs/gst/net/gstnettimeprovider.c:
14791         (gst_net_time_provider_class_init):
14792         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
14793         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
14794         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
14795         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
14796         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
14797         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
14798         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
14799         * plugins/elements/gstidentity.c: (gst_identity_class_init):
14800         * plugins/elements/gsttee.c: (gst_tee_class_init):
14801         * tests/old/examples/plugins/example.c: (gst_example_class_init):
14802         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
14803           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
14804
14805 2006-05-11  Wim Taymans  <wim@fluendo.com>
14806
14807         * gst/gstbuffer.c: (_gst_buffer_initialize):
14808         Register subbufer along with the buffer type so that
14809         it does not accidentally gets registered from N
14810         different streaming threads in a non threadsafe way.
14811
14812 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
14813
14814         * gst/gstbuffer.h:
14815         * gst/gstevent.h:
14816         * gst/gstmessage.h:
14817           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
14818           gst_event_ref() and gst_message_ref() functions again
14819           (ugly hack, please do fix if there's a better way besides
14820           overrides.txt, which doesn't seem to work).
14821
14822 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14823
14824         * libs/gst/check/gstcheck.h:
14825           add an assert for setting state to avoid lots of repetitive code
14826           in the future
14827
14828 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14829
14830         * gst/gstvalue.c: (gst_value_serialize_flags):
14831           fix a leak if no flags are set
14832         * tests/check/gst/gstvalue.c: (GST_START_TEST):
14833           fix leak in tests
14834
14835 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
14836
14837         * docs/manual/basics-pads.xml:
14838           Expand a bit on caps and filtered links and update
14839           examples that were still using the no longer existing
14840           gst_pad_link_filtered() (#338206).
14841
14842 2006-05-10  Wim Taymans  <wim@fluendo.com>
14843
14844         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
14845         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
14846         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14847         (gst_collect_pads_stop):
14848         * libs/gst/base/gstcollectpads.h:
14849         No need to call _stop in _finalize.
14850         Iterate the main pad list in _finalize.
14851         Added some more debug.
14852         Free lists and data in the right order.
14853         Also free data whem doing _remove_pad when stopped for
14854         backward compatibility protect ::started with PAD_LOCK as
14855         well.
14856
14857 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14858
14859         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
14860         (gst_structure_parse_value):
14861           add some comments
14862           rename a method so that it actually says what it does better
14863
14864 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14865
14866         * gst/gstevent.c: (_gst_event_initialize):
14867         * gst/gstformat.c: (_gst_format_initialize):
14868           make sure some essential types used by events are registered
14869           as part of gst_init()
14870         * gst/gstvalue.c: (gst_value_serialize_flags):
14871           if no flags are set, serialize them to a value that represents NONE
14872           so that deserializing them works
14873         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14874           add tests for serialization and deserialization of flags
14875
14876 2006-05-10  Wim Taymans  <wim@fluendo.com>
14877
14878         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
14879         (gst_collect_pads_collect_range), (gst_collect_pads_available),
14880         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
14881         (gst_collect_pads_event), (gst_collect_pads_chain):
14882         Update docs.
14883         Better debug info.
14884         Catch and return errors from the collect function
14885         Refuse data on eos pads.
14886
14887 2006-05-10  Edward Hervey  <edward@fluendo.com>
14888
14889         * gst/gstinterface.h:
14890         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
14891         GInterface type checking.
14892         They were previously using non-defined macros.
14893
14894 2006-05-09  Wim Taymans  <wim@fluendo.com>
14895
14896         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
14897         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
14898         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
14899         (gst_collect_pads_start), (gst_collect_pads_stop),
14900         (gst_collect_pads_peek), (gst_collect_pads_pop),
14901         (gst_collect_pads_available), (gst_collect_pads_read),
14902         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
14903         (gst_collect_pads_is_collected), (gst_collect_pads_event),
14904         (gst_collect_pads_chain):
14905         * libs/gst/base/gstcollectpads.h:
14906         Clean up the mess that is collectpads, add comments and
14907         FIXMEs where needed.
14908         Maintain a separate pad list so we can add pads while
14909         collecting the other ones. For this we need a new separate 
14910         lock (see comics).
14911         Fix memory leak in finalize.
14912         Refactor some weird code to set/unset pad flushing flags, mark
14913         with comments.
14914         Don't crash in _available, _read, _flush when we're EOS.
14915
14916         * tests/check/libs/.cvsignore:
14917         Ignore adapter check binary.
14918
14919 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
14920
14921         * gst/gstindex.c: (gst_index_resolver_get_type):
14922         * plugins/elements/gstfakesink.c:
14923         (gst_fake_sink_state_error_get_type):
14924         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
14925         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
14926         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
14927           Const-ify GEnumValue arrays.
14928
14929 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
14930
14931         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
14932           Add test case for flags + gst_buffer_make_metadata_writable().
14933
14934 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
14935
14936         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
14937           gst_buffer_make_metadata_writable() should maintain the
14938           buffer flags (those that make sense at least) (see #340859).
14939
14940 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
14941
14942         * tools/gst-inspect.c:
14943         * tools/gst-launch.c:
14944         * tools/gst-typefind.c:
14945         * tools/gst-xmlinspect.c:
14946         * tools/tools.h:
14947           Fix up includes: need to include stdlib.h in tools.h for exit().
14948
14949 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
14950
14951         * gst/gsttaglist.c: (_gst_tag_initialize):
14952         * gst/gsttaglist.h:
14953           API: add GST_TAG_IMAGE tag (#340721).
14954
14955 2006-05-08  Wim Taymans  <wim@fluendo.com>
14956
14957         * gst/gstquery.c:
14958         Added some docs for the segment query.
14959
14960 2006-05-08  Wim Taymans  <wim@fluendo.com>
14961
14962         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
14963         (gst_base_src_loop), (gst_base_src_change_state):
14964         Always push non-flushing serialized events in the streaming 
14965         thread.
14966
14967 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14968
14969         * gst/gsterror.c: (_gst_stream_errors_init):
14970           Add a missing error string.
14971
14972 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
14973
14974         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
14975         Add applied_rate to the debug
14976
14977         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
14978         Copy applied_rate into the outgoing NEWSEGMENT event
14979
14980 2006-05-08  Wim Taymans  <wim@fluendo.com>
14981
14982         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
14983
14984         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
14985         (gst_base_sink_change_state):
14986         call ::unlock before taking the PREROLL_LOCK so we can safely
14987         handle elements that lock in ::render.
14988         Fixes #340174.
14989
14990 2006-05-08  Edward Hervey  <edward@fluendo.com>
14991
14992         * autogen.sh: (CONFIGURE_DEF_OPT): 
14993         Darwin's libtoolize is in fact called glibtoolize.
14994         Adding glibtoolize to the list of accepted names for libtoolize.
14995
14996 2006-05-08  Wim Taymans  <wim@fluendo.com>
14997
14998         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
14999         Unify error handling, don't post an error message
15000         when a push() returns EOS but perform our normal EOS
15001         handling code. Fixes #340772.
15002
15003 2006-05-08  Wim Taymans  <wim@fluendo.com>
15004
15005         * docs/design/part-overview.txt:
15006         Make upsteam/downstream concepts more clear.
15007         Give an example of serialized/non-serialized events.
15008
15009         * docs/design/part-events.txt:
15010         * docs/design/part-streams.txt:
15011         Mention applied_rate.
15012
15013         * docs/design/part-trickmodes.txt:
15014         Mention applied rate, flesh out some more use cases.
15015
15016         * gst/gstevent.c: (gst_event_new_new_segment),
15017         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
15018         (gst_event_parse_new_segment_full), (gst_event_new_tag),
15019         (gst_event_parse_tag), (gst_event_new_buffer_size),
15020         (gst_event_parse_buffer_size), (gst_event_new_qos),
15021         (gst_event_parse_qos), (gst_event_parse_seek),
15022         (gst_event_new_navigation):
15023         * gst/gstevent.h:
15024         Add applied_rate field to NEWSEGMENT event.
15025         API: gst_event_new_new_segment_full()
15026         API: gst_event_parse_new_segment_full()
15027
15028         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
15029         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
15030         (gst_segment_to_stream_time), (gst_segment_to_running_time):
15031         * gst/gstsegment.h:
15032         Add applied_rate to GstSegment structure.
15033         Make calculation of stream_time and running_time more correct
15034         wrt rate/applied_rate.
15035         Add some more docs.
15036         API: GstSegment::applied_rate field
15037         API: gst_segment_set_newsegment_full();
15038
15039         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15040         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
15041         * libs/gst/base/gstbasetransform.c:
15042         (gst_base_transform_sink_eventfunc),
15043         (gst_base_transform_handle_buffer):
15044         Parse and use applied_rate in the GstSegment field.
15045
15046         * tests/check/gst/gstevent.c: (GST_START_TEST):
15047         Add check for applied_rate field.
15048
15049         * tests/check/gst/gstsegment.c: (GST_START_TEST),
15050         (gstsegments_suite):
15051         Add more checks for various GstSegment operations.
15052
15053 2006-05-08  Wim Taymans  <wim@fluendo.com>
15054
15055         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15056         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
15057         (gst_base_sink_get_position), (gst_base_sink_change_state):
15058         Store the sync time of the buffer end position separatly in a
15059         new variable eos_rtime so we can properly sync the EOS event.
15060         Fixes #340697.
15061         Fix the docs for gst_base_sink_set_qos_enabled().
15062         Don't set segment start to invalid value when we receive a 
15063         non TIME newsegment.
15064         get closer to handling position reporting for negative rates 
15065         correctly.
15066
15067 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15068
15069         * gst/gstcaps.c:
15070         Docs about how to print caps for debug purposes.
15071
15072         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
15073         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
15074
15075 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15076
15077         * gst/gstelement.c:
15078           use full enum names and preprend a '%' in docs strings to make recent 
15079           gtk-doc turn that into a link
15080
15081 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15082
15083         * docs/manual/basics-bins.xml:
15084         * docs/manual/basics-bus.xml:
15085         * docs/manual/basics-pads.xml:
15086           Some typo fixes, some additions, some clarifications. 
15087
15088 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15089
15090         * tools/gst-inspect.c: (main):
15091         * tools/gst-launch.c: (main):
15092         * tools/gst-run.c: (main):
15093         * tools/gst-typefind.c: (main):
15094         * tools/gst-xmlinspect.c: (main):
15095           Use the string passed to g_option_context_new() for
15096           what it's intended for - the program name is already
15097           printed elsewhere.
15098
15099 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15100
15101         * tools/Makefile.am:
15102         * tools/gst-inspect.c: (main):
15103         * tools/gst-launch.c: (main):
15104         * tools/gst-xmlinspect.c: (main):
15105         * tools/tools.h:
15106           Add back --version command line option (#340460).
15107
15108         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
15109           Add --version option and use GOption for argument parsing; refactor a
15110           bit; accept directories as arguments and recurse into them; lastly,
15111           print a decent error message when things go wrong.
15112
15113 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15114
15115         * docs/manual/basics-bins.xml:
15116         Don't mention GstThread (#340611)
15117         * docs/manual/basics-elements.xml:
15118         Update link to GObject tutorial (#340607)
15119         
15120 2006-05-05  Wim Taymans  <wim@fluendo.com>
15121
15122         * gst/gstbuffer.h:
15123         * gst/gstminiobject.c:
15124         Add note about refcounting and miniobject/buffer writeability
15125         to docs. Fixes #340604
15126
15127         * gst/gstelementfactory.h:
15128         Added some explanation about @klass.
15129
15130 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15131
15132         * docs/manual/intro-motivation.xml:
15133         * docs/manual/manual.xml:
15134         Avoid CORBA & Bonobo references (#340598)
15135
15136 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15137
15138         * docs/manual/basics-bus.xml:
15139         * docs/manual/basics-pads.xml:
15140         Fix up some inaccuracies and omissions (#340609)
15141         
15142 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15143
15144         * gst/gstghostpad.c:
15145           Small typo in docs (#340625)
15146
15147 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15148
15149         * gst/parse/Makefile.am:
15150           Make 'make -j' proof (see #340698).
15151
15152 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15153
15154         * configure.ac:
15155           Require GLib-2.8 here as well.
15156
15157 2006-05-05  Wim Taymans  <wim@fluendo.com>
15158
15159         * gst/glib-compat.c:
15160         * gst/gst.c: (init_pre):
15161         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15162         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
15163         (gst_object_dispatch_properties_changed):
15164         * gst/gstobject.h:
15165         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15166         * gst/gststructure.c: (gst_structure_set_valist):
15167         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15168         Remove pre glib2.8 compatibility, fixes #340508
15169
15170 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15171
15172         * gst/gsttaglist.h:
15173           Mention type of tags in doc blurbs.
15174
15175 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
15176
15177         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15178         (gst_pad_configure_src), (gst_pad_push):
15179         Restore acceptcaps checking behaviour now that good plugins have
15180         been released.
15181
15182 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15183
15184         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
15185
15186         * gst/gst.c:
15187         * gst/gstbus.c:
15188         * gst/gstclock.c:
15189         * gst/gstevent.c:
15190         * gst/gstformat.c:
15191         * gst/gstmessage.c:
15192         * gst/gstparse.c:
15193         * gst/gstquery.c:
15194         * gst/gstutils.c:
15195         * gst/parse/Makefile.am:
15196         * libs/gst/base/gstadapter.c:
15197         * libs/gst/base/gstbasesrc.c:
15198         * libs/gst/base/gstpushsrc.c:
15199         * libs/gst/base/gsttypefindhelper.c:
15200         * plugins/elements/gstfakesrc.c:
15201         * plugins/elements/gstidentity.c:
15202           Make sure gstprivate.h and/or config.h are
15203           always included first, otherwise some of our
15204           defines (like _FILE_OFFSET_BITS) might be
15205           redefined in the system headers. Fixes build
15206           on opensolaris (#340016).
15207
15208 2006-05-04  Wim Taymans  <wim@fluendo.com>
15209
15210         * docs/libs/gstreamer-libs-sections.txt:
15211         API: addition: gst_adapter_take_buffer()
15212         
15213         * libs/gst/base/gstadapter.c: (gst_adapter_push),
15214         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
15215         (gst_adapter_available_fast):
15216         * libs/gst/base/gstadapter.h:
15217         Prepare for optimizing the hell out of this hugely inefficient
15218         piece of code. 
15219         Added gst_adapter_take_buffer() so we can at least start thinking
15220         about subbuffering and merging.
15221         Added some comments.
15222
15223         * tests/check/Makefile.am:
15224         * tests/check/libs/adapter.c: (GST_START_TEST),
15225         (gst_adapter_suite), (main):
15226         Added GstAdapter check.
15227
15228 2006-05-04  Wim Taymans  <wim@fluendo.com>
15229
15230         * docs/design/part-overview.txt:
15231         Fix some typos, add blurb about buffer flags.
15232
15233 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15234
15235         * docs/libs/gstreamer-libs-sections.txt:
15236           make sure GstBaseTransformClass shows up in the docs
15237         * libs/gst/base/gstbasetransform.c:
15238         * libs/gst/base/gstbasetransform.h:
15239           move docs so gtk-doc picks it up now
15240
15241 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15242
15243         * docs/libs/gstreamer-libs-sections.txt:
15244           add missing symbols to docs
15245
15246 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15247
15248         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15249           back out the newsegment handling change, see #340060 for ongoing
15250           discussion
15251
15252 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
15253
15254         * tools/gst-run.c: (get_candidates), (main):
15255           Fix wrong g_file_test() usage (see glib docs for why it doesn't
15256           work); fix typo in error message. Fixes #340079.
15257
15258 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15259
15260         * common/Makefile.am:
15261         * docs/Makefile.am:
15262         * docs/faq/Makefile.am:
15263         * docs/gst/Makefile.am:
15264         * docs/libs/Makefile.am:
15265         * docs/manual/Makefile.am:
15266         * docs/plugins/Makefile.am:
15267         * docs/pwg/Makefile.am:
15268         * docs/slides/Makefile.am:
15269         * docs/upload.mak:
15270         * common/upload.mak:
15271           move upload.mak to common
15272
15273 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15274
15275         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15276           add more asserts on refcounts
15277           do more cleanup at end of tests
15278           fix test leaks showing in FC5
15279
15280 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
15281
15282         * plugins/elements/gsttypefindelement.c:
15283         (gst_type_find_element_handle_event):
15284         reverted wrong change and reflowed code to avoid others falling into
15285         this trap
15286
15287 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15288
15289         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15290           fix changelog entry about last collectpads change,
15291           add notes about proper fix
15292
15293 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15294
15295         * gst/gst.c:
15296         * gst/gstregistry.c: (gst_registry_scan_path_level),
15297         (gst_registry_scan_path):
15298         * gst/gstregistry.h:
15299           only write out registry if it has changed, fixes #338339
15300
15301 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15302
15303         * gst/gstbin.c:
15304         * gst/gstpipeline.c:
15305         * plugins/elements/gstcapsfilter.c:
15306         * plugins/elements/gstfakesink.c:
15307         * plugins/elements/gstfakesrc.c:
15308         * plugins/elements/gstfdsink.c:
15309         * plugins/elements/gstfdsrc.c:
15310         * plugins/elements/gstfilesink.c:
15311         * plugins/elements/gstfilesrc.c:
15312         * plugins/elements/gstidentity.c:
15313         * plugins/elements/gstqueue.c:
15314         * plugins/elements/gsttee.c:
15315         * plugins/elements/gsttypefindelement.c:
15316         (gst_type_find_element_handle_event):
15317           make GstElementDetails const
15318
15319 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15320
15321         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
15322         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15323         (gst_collect_pads_is_collected), (gst_collect_pads_event):
15324           more detailed debug and formatting cleanup,
15325           forward newsegments to src-pad (so that e.g. adder not eats them)
15326
15327 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15328
15329         * gst/gstutils.c: (gst_element_link_pads):
15330           cleanup double code
15331
15332 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15333
15334         * libs/gst/controller/gstcontroller.c:
15335         (gst_controller_sync_values):
15336           some little tuning
15337         * tests/check/libs/controller.c: (GST_START_TEST),
15338         (gst_controller_suite):
15339           a new test for live value handling
15340
15341 2006-04-28  Wim Taymans  <wim@fluendo.com>
15342
15343         * gst/gstutils.c: (push_and_ref):
15344         Added some more docs.
15345         Fix refcount issue whith gst_element_found_tags() helper 
15346         function. Fixes #338335
15347
15348         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15349         Added testsuite for gst_element_found_tags().
15350
15351 2006-04-28  Michael Smith  <msmith@fluendo.com>
15352
15353         * gst/gstvalue.c: (gst_value_serialize_flags):
15354           Avoid NULL dereference when trying to serialize flags containing
15355           invalid values.
15356
15357 2006-04-28  Michael Smith  <msmith@fluendo.com>
15358
15359         * plugins/elements/gsttypefindelement.c:
15360         (gst_type_find_element_handle_event):
15361           If we get EOS before any data is accumulated, don't use
15362           uninitialised local variables.
15363
15364 2006-04-28  Michael Smith  <msmith@fluendo.com>
15365
15366         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15367         (gst_dp_event_from_packet):
15368           Fixes in reading/writing events over GDP (not currently used?) - 
15369           dereferencing NULL events for unknown/invalid event types, memory
15370           leak, and change g_warning to GST_WARNING.
15371
15372 2006-04-28  Wim Taymans  <wim@fluendo.com>
15373
15374         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
15375         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15376         (gst_base_sink_get_position), (gst_base_sink_change_state):
15377         When frame dropping is enabled, we should not ignore frames
15378         without a duration.
15379         Update some documentation.
15380
15381 2006-04-28  Wim Taymans  <wim@fluendo.com>
15382
15383         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15384         (gst_base_src_send_event), (gst_base_src_change_state):
15385         Documentation updates.
15386
15387 2006-04-28  Wim Taymans  <wim@fluendo.com>
15388
15389         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
15390         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
15391         handle EAGAIN, EINTR and short writes correctly. Also clean
15392         up some error cases, avoid a deadlock on bad file descriptors and
15393         use GST_DEBUG_OBJECT.
15394         Fixes #339843
15395
15396 2006-04-28  Wim Taymans  <wim@fluendo.com>
15397
15398         * gst/gstvalue.c: (gst_value_serialize_buffer),
15399         (gst_value_deserialize_buffer):
15400         Don't try to serialize a GValue with a NULL buffer. 
15401         Fixes #339821.
15402
15403         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15404         Added check for serialisation of NULL buffers.
15405
15406 2006-04-28  Wim Taymans  <wim@fluendo.com>
15407
15408         * gst/gstminiobject.c: (gst_value_take_mini_object):
15409         Taking a NULL miniobject is valid, fix the case where
15410         we try to unref the NULL miniobject.
15411
15412 2006-04-28  Wim Taymans  <wim@fluendo.com>
15413
15414         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
15415
15416         * gst/gstbin.c: (gst_bin_handle_message_func):
15417         Update docs.
15418         Don't leak bin refcount when a state recalc is
15419         in progress and we delay another one #339808.
15420
15421 2006-04-28  Wim Taymans  <wim@fluendo.com>
15422
15423         * docs/design/part-TODO.txt:
15424         Mention QoS as an ongoing work item.
15425
15426         * docs/design/part-buffering.txt:
15427         New doc about buffering that needs to be fleshed out
15428         at some point.
15429
15430         * docs/design/part-qos.txt:
15431         More QoS policy for decoders/demuxers/transforms
15432
15433         * docs/design/part-trickmodes.txt:
15434         Small update.
15435
15436 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15437
15438         * configure.ac:
15439           back to HEAD
15440
15441 === release 0.10.5 ===
15442
15443 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
15444
15445         * configure.ac:
15446           releasing 0.10.5, "Fogo"
15447
15448 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15449
15450         patch by: Wim Taymans
15451
15452         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15453         (gst_pad_configure_src), (gst_pad_push):
15454         * gst/gstpipeline.c: (gst_pipeline_init):
15455           Fix internal data flow errors.  Fixes #338711.
15456
15457 2006-04-12  Wim Taymans  <wim@fluendo.com>
15458
15459         * tests/check/gst/gstelement.c: (GST_START_TEST):
15460         Don't leak the factory.
15461
15462 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15463
15464         * configure.ac:
15465         * win32/common/config.h:
15466           prerelease
15467
15468 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
15469
15470         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15471         (gst_controller_unset_all):
15472           Free allocated GstTimedValues when freeing list nodes.
15473           Should fix leaks 'make check-valgrind' complains about.
15474
15475         * win32/common/libgstcontroller.def:
15476           Add gst_controller_unset_all.
15477
15478 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
15479
15480         * docs/libs/gstreamer-libs-sections.txt:
15481         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15482         (gst_controller_unset_all):
15483         * libs/gst/controller/gstcontroller.h:
15484         API: Added new method gst_controller_unset_all()
15485         fixed gst_controller_unset()
15486         * tests/check/libs/controller.c: (GST_START_TEST),
15487         (gst_controller_suite):
15488         Added two testcases for new and fixed method
15489
15490 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
15491
15492         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
15493           MSG_DONTWAIT is not defined on Cygwin, so work
15494           around that (fixes #317048).
15495           
15496 2006-04-11  Wim Taymans  <wim@fluendo.com>
15497
15498         * gst/gstelementfactory.c: (gst_element_register),
15499         (gst_element_factory_create), (gst_element_factory_make):
15500         Some cleanups.
15501         Fixed a FIXME.
15502         Updated docs (Fixes #131079)
15503
15504         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15505         Small cleanups.
15506
15507         * tests/check/gst/gstelement.c: (GST_START_TEST),
15508         (gst_element_suite):
15509         Added testcase for elementfactory class field.
15510
15511 2006-04-10  Wim Taymans  <wim@fluendo.com>
15512
15513         * gst/gstsegment.c:
15514         Added some more docs.
15515
15516         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
15517         (gst_base_sink_reset_qos):
15518         Calculate more accurate rate values.
15519
15520 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
15521
15522         * gst/gst_private.h:
15523           add a new #ifdef to use __declspec(dllimport) only for
15524           other modules and not for gstreamer core
15525         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
15526           use gst_guint64_to_gdouble for conversion
15527         * win32/common/libgstreamer.def:
15528           add new exported functions
15529         * win32/vs6/gst_inspect.dsp:
15530         * win32/vs6/gst_launch.dsp:
15531         * win32/vs6/libgstbase.dsp:
15532         * win32/vs6/libgstcontroller.dsp:
15533         * win32/vs6/libgstcoreelements.dsp:
15534         * win32/vs6/libgstdataprotocol.dsp:
15535         * win32/vs6/libgstnet.dsp:
15536           update project files
15537
15538 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15539
15540         * gst/gstbuffer.c: (gst_subbuffer_class_init):
15541         * gst/gstclock.c: (gst_clock_class_init):
15542         * gst/gstelement.c: (gst_element_class_init):
15543         * gst/gstindex.c: (gst_index_class_init):
15544         * gst/gstindexfactory.c: (gst_index_factory_class_init):
15545         * gst/gstobject.c: (gst_object_class_init),
15546         (gst_signal_object_class_init):
15547         * gst/gstpad.c: (gst_pad_class_init):
15548         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
15549         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
15550         * gst/gstregistry.c: (gst_registry_class_init):
15551         * gst/gstsystemclock.c: (gst_system_clock_class_init):
15552         * gst/gsttask.c: (gst_task_class_init):
15553         * gst/gstxml.c: (gst_xml_class_init):
15554         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15555         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15556         (gst_base_src_loop):
15557         * libs/gst/controller/gstcontroller.c:/
15558         (_gst_controller_class_init):
15559         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15560         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
15561         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
15562         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15563         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15564         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
15565
15566 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
15567
15568         * gst/gstpad.c: (gst_pad_link):
15569           Must set peer pads before calling the link function, otherwise
15570           a task started from a link function might get a flow-not-linked
15571           result when trying to push because the other thread where the
15572           linking happens hasn't had a chance to set the peers yet. This
15573           might happen for example when a queue gets linked to a downstream
15574           element, as queue starts a streaming task when its source pad
15575           gets linked. Happens in real life when playing back flac/musepack
15576           files in playbin (#332390).
15577           
15578 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15579
15580         * gst/gstindex.h:
15581         * gst/gstxml.h:
15582         * libs/gst/base/gstadapter.h:
15583         * libs/gst/base/gstbasesink.h:
15584         * libs/gst/base/gstbasesrc.h:
15585         * libs/gst/base/gstbasetransform.h:
15586         * libs/gst/base/gstcollectpads.h:
15587         * libs/gst/base/gstpushsrc.h:
15588         Fix broken GObject macros
15589
15590 2006-04-07  Wim Taymans  <wim@fluendo.com>
15591
15592         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15593         Initialize start and stop times, thanks valgrind.
15594
15595 2006-04-07  Wim Taymans  <wim@fluendo.com>
15596
15597         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15598         Be a bit nicer to badly behaving upstream elements that expect
15599         us to deal with non TIME segments and timestamps (such as fakesrc
15600         in the testsuite).
15601
15602 2006-04-07  Wim Taymans  <wim@fluendo.com>
15603
15604         * gst/gstbus.c:
15605         Small documentation clarification about the signal watch.
15606
15607         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15608         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
15609         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15610         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15611         (gst_base_sink_get_position_last),
15612         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
15613         Convert and store timestamps in stream time and running time, the
15614         raw timestamps are not useful, also document this better.
15615         Use different window sizes for good and bad QoS observations so
15616         we react to badness a little quicker.
15617         Keep track of the amount of rendered and dropped buffers.
15618         Send QoS timestamps in running time.
15619
15620         * libs/gst/base/gstbasetransform.c:
15621         (gst_base_transform_sink_eventfunc),
15622         (gst_base_transform_handle_buffer):
15623         Compare QoS timestamps against running time.
15624
15625 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
15626
15627         * gst/gstpad.c:
15628           Typo fixes in docs.
15629
15630 2006-04-06  Michael Smith  <msmith@fluendo.com>
15631
15632         * gst/gstpad.c: (gst_pad_set_property):
15633           Use g_value_get_object() instead of g_value_dup_gst_object(),
15634           to avoid double-reffing the pad template (which we then sink,
15635           so this worked previously if (and only if) the pad template
15636           was floating.
15637
15638         * gst/gstpadtemplate.c: (gst_pad_template_init),
15639         (gst_pad_template_pad_created):
15640           Never return floating references to pad templates, create
15641           them as initially-sunken.
15642
15643           Document an extra function (and make this stop sinking our
15644           pad template, since that is now guaranteed to do nothing,
15645           since we created it sunken).
15646
15647         * gst/gstghostpad.c:
15648           Fix docs typo.
15649
15650 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
15651
15652         * gst/gstinfo.c: (__gst_in_valgrind):
15653           Add some newlines.
15654
15655         * plugins/elements/gsttypefindelement.c:
15656         (gst_type_find_element_chain):
15657           Don't leak buffer caps.
15658
15659 2006-04-06  Michael Smith  <msmith@fluendo.com>
15660
15661         * gst/parse/grammar.y:
15662           Fix a leak in parse-launch for any source-or-sink named element 
15663           references used.
15664
15665         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
15666           Unref the pipeline if it exists after we've failed parsing.
15667
15668 2006-04-05  Michael Smith  <msmith@fluendo.com>
15669
15670         * gst/gstpipeline.c: (gst_pipeline_init):
15671           When we create a pipeline bus, initially create it in flushing mode.
15672           Fixes leaks in at least one test, and makes a new pipeline work the
15673           same as one that has gone to READY and then back to NULL.
15674
15675         * gst/gstelement.c:
15676           Typo fix in docs.
15677
15678 2006-04-05  Michael Smith  <msmith@fluendo.com>
15679
15680         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15681           Unref a pad we reffed.
15682         * tests/check/gst/gstutils.c: (GST_START_TEST):
15683           Unref bins
15684
15685 2006-04-05  Michael Smith  <msmith@fluendo.com>
15686
15687         * gst/gstquery.c: (gst_query_set_formats),
15688         (gst_query_set_formatsv):
15689           Fix leaking GValues in queries, as shown by valgrind/testsuite.
15690
15691 2006-04-05  Michael Smith  <msmith@fluendo.com>
15692
15693         * tests/check/generic/sinks.c: (GST_START_TEST):
15694           Fix a variety of memleaks in sinks check, which are only sometimes 
15695           shown by running the tests under valgrind (weird?).
15696
15697 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
15698
15699         * docs/version.entities.in:
15700           Fix the substituted entity name after thomas' changes on the
15701           weekend.
15702
15703 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
15704
15705         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
15706         VALGRIND_PRINTF
15707         
15708 2006-04-05  Andy Wingo  <wingo@pobox.com>
15709
15710         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
15711
15712         * libs/gst/base/gstbasetransform.c
15713         (gst_base_transform_sink_eventfunc): When resetting our segment on
15714         FLUSH_STOP, also update the flag saying we haven't seen a
15715         newsegment.
15716
15717 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
15718
15719         Patch by: Paolo Borelli  <pborelli at katamail dot com>
15720
15721         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
15722         (gst_plugin_check_license):
15723           minor clean-ups: G_DEFINE_TYPE already takes care of the
15724           parent_class stuff, no need to do it twice. Mark array of
15725           license strings as constant. (#337103)
15726           
15727 2006-04-04  Michael Smith  <msmith@fluendo.com>
15728
15729         * tools/gst-inspect.c: (print_element_list):
15730           Free the right plugin list; fixes a memory leak.
15731
15732 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
15733
15734         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
15735
15736         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
15737           Don't error out on empty buffers (#336945).
15738           
15739 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
15740
15741         * docs/libs/gstreamer-libs-sections.txt:
15742         * gst/gsttaglist.c:
15743         * libs/gst/base/gstbasesink.c:
15744         * libs/gst/base/gstbasesink.h:
15745         * libs/gst/base/gstbasesrc.c:
15746         * libs/gst/base/gstbasesrc.h:
15747           Documentation updates. Make BaseSink and BaseSrc docs contain the
15748           class structure so that people can actually see the prototypes for
15749           virtual functions they're supposed to be overriding.
15750
15751 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
15752
15753         * plugins/elements/gsttypefindelement.c:
15754         (gst_type_find_element_chain):
15755           More debug info; when skipping typefinding, send cached
15756           events in all cases.
15757
15758 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
15759
15760         * configure.ac:
15761           use new AS_VERSION and AS_NANO macros
15762         * gst/gst-i18n-lib.h:
15763         * gst/gst.c:
15764         * gst/gsterror.c:
15765         * gst/gstversion.h.in:
15766         * win32/common/config.h:
15767         * win32/common/config.h.in:
15768           update accordingly
15769
15770 2006-03-31  Michael Smith  <msmith@fluendo.com>
15771
15772         * plugins/elements/gsttypefindelement.c:
15773         (gst_type_find_element_chain):
15774           Do not typefind content if the buffers already have caps.
15775           Neccesary for icydemux (#333657), and the right thing to do anyway.
15776
15777 2006-03-30  Wim Taymans  <wim@fluendo.com>
15778
15779         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
15780         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
15781         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
15782         (gst_base_sink_record_qos_observation),
15783         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15784         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
15785         (gst_base_sink_change_state):
15786         More QoS measurements as described in the design doc.
15787         Get rid of ringbuffer with observations, running average is
15788         more simple and equally good.
15789         Calculates valid proportion now.
15790         Added beginning of flood measurement.
15791
15792 2006-03-29  Wim Taymans  <wim@fluendo.com>
15793
15794         * docs/design/part-qos.txt:
15795         * gst/gstclock.c:
15796         Small documentation updates and additions.
15797
15798 2006-03-29  Wim Taymans  <wim@fluendo.com>
15799
15800         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
15801         (gst_base_src_send_event), (gst_base_src_loop),
15802         (gst_base_src_change_state):
15803         Perform the EOS logic when we reach the segment stop position.
15804         Fix compilation on gcc4.1
15805
15806 2006-03-29  Wim Taymans  <wim@fluendo.com>
15807
15808         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
15809
15810         * plugins/elements/gstqueue.c: (gst_queue_init),
15811         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
15812         (gst_queue_set_property):
15813         * plugins/elements/gstqueue.h:
15814         In queue, when EOS is received, if minimum threshold > max_size -
15815         current_level, there is chance that queue blocks forever in conditional
15816         item del wait. This is because the queue is not emptied completely due
15817         to minimum threshold.  Here is another approach. Instead of setting
15818         cur_levels to max in EOS, just zero all minimum threshold levels. This
15819         should make sure that queue gives out all data. When going to READY
15820         (stop) state, just reset the original minimum threshold levels.
15821         Fixes #336336.
15822
15823 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
15824
15825         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
15826         (gst_type_find_element_handle_event),
15827         (gst_type_find_element_send_cached_events),
15828         (gst_type_find_element_change_state):
15829         * plugins/elements/gsttypefindelement.h:
15830           When typefinding is done in push mode, we should cache
15831           events we receive during typefinding instead of just
15832           dropping them (e.g. newsegment, custom events from
15833           dvdreadsrc etc.) and then send them out once we've
15834           determined the type of the stream (and decodebin
15835           has had a chance to plug in a decoder/demuxer).
15836           
15837 2006-03-27  Wim Taymans  <wim@fluendo.com>
15838
15839         * docs/design/part-qos.txt:
15840         First QoS ideas.
15841
15842 2006-03-27  Wim Taymans  <wim@fluendo.com>
15843
15844         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
15845
15846         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
15847         (gst_base_src_send_event), (gst_base_src_change_state):
15848         Handle element seek correctly when we are streaming.
15849         Fixes #326998.
15850
15851 2006-03-24  Michael Smith  <msmith@fluendo.com>
15852
15853         * docs/faq/gst-uninstalled:
15854           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
15855           allow you to correctly run intalled applications built against old 
15856           core, using plugins that require updated core (e.g. running
15857           installed totem against a full uninstalled gstreamer stack)
15858
15859 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
15860
15861         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
15862         more debug details
15863
15864 2006-03-24  Wim Taymans  <wim@fluendo.com>
15865
15866         * docs/gst/gstreamer-sections.txt:
15867         Rearrange the order of the methods so that related methods
15868         are grouped together in sections.
15869
15870 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
15871
15872         * gst/gstelement.c:
15873           Little clarification in the docs
15874
15875 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
15876
15877         * docs/README:
15878         formatting fix
15879         * plugins/elements/gstidentity.c:
15880         * plugins/elements/gstqueue.c:
15881         * plugins/elements/gsttee.c:
15882         * plugins/elements/gsttypefindelement.c:
15883         GST_ELEMENT_DETAILS formatting
15884
15885 2006-03-24  Wim Taymans  <wim@fluendo.com>
15886
15887         * libs/gst/base/gstbasesink.h:
15888         Only add fields, not insert or we break ABI.
15889
15890 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
15891
15892         * win32/common/libgstbase.def:
15893         * win32/common/libgstreamer.def:
15894           Update, add recently added functions.
15895
15896 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
15897
15898         * docs/gst/gstreamer-sections.txt:
15899         * gst/gstutils.c: (gst_pad_query_peer_position),
15900         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
15901         * gst/gstutils.h:
15902           API: add some new utility functions:
15903            - gst_pad_query_peer_position()
15904            - gst_pad_query_peer_duration()
15905            - gst_pad_query_peer_convert()
15906           
15907 2006-03-23  Wim Taymans  <wim@fluendo.com>
15908
15909         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
15910         (gst_base_sink_init), (gst_base_sink_finalize),
15911         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
15912         (gst_base_sink_set_property), (gst_base_sink_get_property),
15913         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
15914         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
15915         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
15916         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15917         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
15918         (gst_base_sink_preroll_object), (gst_base_sink_event),
15919         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
15920         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
15921         (gst_base_sink_query), (gst_base_sink_change_state):
15922         Decouple max-lateness and the fact that QoS messages are generated
15923         with a new property (qos).
15924         added API: GstBaseSink::async_play()
15925         Add vmethod so subclasses can be notified of ASYNC playing
15926         state changes.
15927         Collect timestamp start and stop to report better current
15928         position in EOS/PLAYING/PAUSED/READY/NULL.
15929         Refactor QoS/frame dropping and other measurements.
15930         API: GstBaseSrc::qos
15931         Fixes #326311
15932
15933         * libs/gst/base/gstbasesink.h:
15934         Added Private struct.
15935         API: gst_base_sink_set_qos_enabled()
15936         API: gst_base_sink_is_qos_enabled()
15937
15938 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
15939
15940         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15941           If compiling against GLib-2.8 or newer, try to read the
15942           registry file using GMappedFile first before falling back
15943           to fopen() + fread() (#332151).
15944
15945 2006-03-22  Wim Taymans  <wim@fluendo.com>
15946
15947         * gst/gstinfo.c: (gst_debug_set_active),
15948         (gst_debug_category_set_threshold):
15949         Disable debugging unless explicitly activated.
15950         Fixes #335480.
15951
15952 2006-03-22  Wim Taymans  <wim@fluendo.com>
15953
15954         * gst/gstelement.c: (gst_element_set_locked_state),
15955         (gst_element_dispose):
15956         Cleanup the error case.
15957
15958         * gst/gstobject.c: (gst_object_dispose):
15959         print a critical when some object was disposed with
15960         a parent, also revive the object since it might
15961         crash the parent.
15962
15963 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
15964
15965         * tools/gst-launch.1.in:
15966           Fix another typo.
15967
15968 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15969
15970         * configure.ac:
15971         * tests/check/Makefile.am:
15972           disable some tests when we don't have a registry
15973         * tests/check/gst/gstutils.c: (gst_utils_suite):
15974           don't build the part that needs parsing
15975
15976 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15977
15978         * gst/Makefile.am
15979         * tests/examples/Makefile.am:
15980           fix --disable-parse build
15981
15982 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
15983
15984         * tools/gst-feedback.1.in:
15985           Fix typo: s/feeback/feedback/ (#133494).
15986
15987 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
15988
15989         * tools/Makefile.am:
15990         * tools/gst-launch.1.in:
15991           Add FILES section and correct entry about GST_REGISTRY_PATH
15992           environment variable (#133495; #133494).
15993
15994 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
15995
15996         * tools/Makefile.am:
15997         * tools/gst-md5sum.1.in:
15998         * tools/gst-md5sum.c:
15999           Remove gst-md5sum and man page (the md5sink element
16000           required was removed ages ago)
16001
16002 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16003
16004         * gst/gststructure.c: (gst_structure_id_set_value):
16005           Make sure that string fields in structures/taglists
16006           contain valid UTF-8 - we don't want to pass rubbish to
16007           applications because of a buggy plugin (cp. #334167).
16008
16009 2006-03-21  Edward Hervey  <edward@fluendo.com>
16010
16011         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16012         (gst_bin_handle_message_func):
16013         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
16014         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
16015         (gst_element_set_bus_func):
16016         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
16017         * gst/gstminiobject.c: (gst_value_set_mini_object),
16018         (gst_value_take_mini_object):
16019         * gst/gstpad.c: (gst_pad_set_pad_template):
16020         * gst/gstpipeline.c: (gst_pipeline_dispose),
16021         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16022         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
16023         (gst_collect_pads_chain):
16024         * libs/gst/net/gstnettimeprovider.c:
16025         (gst_net_time_provider_set_property):
16026         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
16027         It's in fact all issues with gst_*object_replace().
16028
16029 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16030
16031         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
16032         
16033         * pkgconfig/gstreamer-check-uninstalled.pc.in:
16034         * pkgconfig/gstreamer-check.pc.in:
16035           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
16036
16037 2006-03-21  Edward Hervey  <edward@fluendo.com>
16038
16039         * gst/gstbuffer.h:
16040         * gst/gstevent.h:
16041         * gst/gstmessage.h:
16042         gst_[buffer|event|message]_ref() macros are replaced by a static
16043         inline functions because gcc-4.1 will about if the return value
16044         isn't used.
16045         * tests/check/gst/gstevent.c: (event_probe):
16046         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
16047
16048 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
16049
16050         * gst/gstutils.h:
16051         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16052         the type' case. (Closes: #335195 for now). In the future, when we
16053         depend on GLib 2.10, we could also intern the type name using
16054         g_intern_static_string()
16055
16056 2006-03-20  Wim Taymans  <wim@fluendo.com>
16057
16058         * gst/gstbin.c: (gst_bin_handle_message_func),
16059         (bin_query_max_init), (bin_query_position_fold),
16060         (bin_query_position_done), (gst_bin_query):
16061         Position query should also take max of all streams.
16062
16063 2006-03-20  Wim Taymans  <wim@fluendo.com>
16064
16065         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16066         (gst_fake_src_finalize):
16067         Fix leaks in fakesrc.
16068
16069         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
16070         Fix leaks in the testcase.
16071
16072 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
16073
16074         * gst/gst_private.h:
16075           add win32 specific import decoration(__declspec(dllimport)) 
16076           for all extern GstDebugCategory * variables
16077         * win32/common/libgstbase.def:
16078         * win32/common/libgstcontroller.def:
16079         * win32/common/libgstreamer.def:
16080           Add some exports, remove empty lines
16081         * win32/common/libgstdataprotocol.def:
16082         * win32/common/libgstdataprotocol.dsp:
16083         * win32/common/libgstnet.def:
16084         * win32/common/libgstnet.dsp:
16085           new project files and exportation files added
16086         
16087 2006-03-19  Wim Taymans  <wim@fluendo.com>
16088
16089         * tests/check/libs/basesrc.c: (eos_event_counter):
16090         Use proper return value for probe.
16091
16092 2006-03-17  Wim Taymans  <wim@fluendo.com>
16093
16094         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16095         (gst_pad_push):
16096         Don't leak buffers, caps and pads on negotiation errors.
16097
16098 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
16099
16100         * docs/faq/cvs.xml:
16101         * docs/faq/dependencies.xml:
16102         * docs/faq/developing.xml:
16103         * docs/faq/faq.xml:
16104         * docs/faq/general.xml:
16105         * docs/faq/getting.xml:
16106         * docs/faq/legal.xml:
16107         * docs/faq/troubleshooting.xml:
16108         * docs/faq/using.xml:
16109         Faq review and update.
16110
16111 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
16112
16113         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16114         (gst_pad_push):
16115         Don't pound the cpu to pieces by checking get_caps when accept_caps
16116         is called with the same caps as the pad already has.
16117         Use GST_DEBUG_OBJECT when outputting caps change information.
16118
16119 2006-03-15  Wim Taymans  <wim@fluendo.com>
16120
16121         * gst/gstclock.c: (gst_clock_class_init):
16122         Fix docs.
16123
16124 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
16125
16126         * gst/gstbuffer.h:
16127         Documentation fix.
16128
16129         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
16130         (gst_pad_accept_caps), (gst_pad_configure_sink),
16131         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
16132         Make the default acceptcaps behaviour be to check the requested 
16133         caps against the gst_pad_get_caps output. 
16134
16135         Ensure that gst_pad_accept_caps is used to check caps when a pad
16136         doesn't have a setcaps function, so that pads automatically refuse 
16137         caps that they don't allow in their pad template. (Fixes #332986)
16138
16139         When a buffer with attached caps is pushed, ensure that the source 
16140         pad receives those caps even if the element didn't call
16141         gst_pad_set_caps first.
16142
16143 2006-03-15  Wim Taymans  <wim@fluendo.com>
16144
16145         * libs/gst/base/gstadapter.c:
16146         Add some docs.
16147
16148 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
16149
16150         * win32/common/libgstbase.def:
16151         * win32/common/libgstcontroller.def:
16152         * win32/common/libgstreamer.def:
16153           Add a whole bunch of missing functions (#334434).
16154
16155 2006-03-14  Wim Taymans  <wim@fluendo.com>
16156
16157         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
16158         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16159         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
16160         Better debug info when we receive a segment event.
16161         Reorganize a bit so we can pass the get_times() results around.
16162         Use the segment format when calculating the running time.
16163         Don't do QoS is sync is disabled or we have no clock or the
16164         element does not want us to sync to the clock.
16165         Don't drop buffers if QoS is disabled for now.
16166
16167 2006-03-14  Wim Taymans  <wim@fluendo.com>
16168
16169         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
16170         Marked the stats property as unimplemented so people don't get
16171         wild ideas.
16172         Add debug message when regression goes wrong.
16173         Added some more docs.
16174
16175 2006-03-14  Wim Taymans  <wim@fluendo.com>
16176
16177         * gst/gstsegment.c: (gst_segment_to_stream_time):
16178         Return correct return type in case of errors.
16179
16180 2006-03-14  Wim Taymans  <wim@fluendo.com>
16181
16182         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
16183           Don't segfault on invalid formats.
16184
16185 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16186
16187         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16188           Can't use gst_segment_to_running_time() when the segment
16189           is not in GST_TIME_FORMAT (like with filesink, for example).
16190           Stops flac encoding pipelines from spewing critical warnings
16191           at EOS (#331248).
16192           
16193 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16194
16195         * gst/gstpipeline.c: (gst_pipeline_class_init):
16196           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
16197
16198         * plugins/elements/gsttypefindelement.c:
16199         (gst_type_find_element_handle_event):
16200           Don't try to typefind empty streams.
16201
16202 2006-03-14  Wim Taymans  <wim@fluendo.com>
16203
16204         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16205         (gst_base_sink_do_qos):
16206         Separate QoS calculation.
16207         Only drop buffers when lateness is bigger than the 
16208         duration of the buffer.
16209
16210 2006-03-13  Wim Taymans  <wim@fluendo.com>
16211
16212         * gst/gstpipeline.c: (gst_pipeline_set_property),
16213         (gst_pipeline_get_property), (do_pipeline_seek),
16214         (gst_pipeline_change_state), (gst_pipeline_set_delay),
16215         (gst_pipeline_get_delay):
16216         Don't deadlock when reading properties.
16217
16218 2006-03-13  Wim Taymans  <wim@fluendo.com>
16219
16220         * libs/gst/base/gstbasetransform.c:
16221         (gst_base_transform_class_init), (gst_base_transform_init),
16222         (gst_base_transform_sink_event),
16223         (gst_base_transform_sink_eventfunc),
16224         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
16225         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16226         (gst_base_transform_set_property),
16227         (gst_base_transform_get_property),
16228         (gst_base_transform_change_state), (gst_base_transform_update_qos),
16229         (gst_base_transform_set_qos_enabled),
16230         (gst_base_transform_is_qos_enabled):
16231         * libs/gst/base/gstbasetransform.h:
16232         Make basetransform virtual method for src events too.
16233         Handle QOS in basetransform.
16234         API: gst_base_transform_update_qos()
16235         API: gst_base_transform_set_qos_enabled()
16236         API: gst_base_transform_is_qos_enabled()
16237
16238 2006-03-13  Wim Taymans  <wim@fluendo.com>
16239
16240         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16241         (gst_base_sink_do_sync):
16242         Small cleanups.
16243         Use QOS debug category.
16244
16245 2006-03-13  Wim Taymans  <wim@fluendo.com>
16246
16247         * plugins/elements/gstqueue.c:
16248         Very small doc update.
16249
16250 2006-03-13  Wim Taymans  <wim@fluendo.com>
16251
16252         * gst/gst_private.h:
16253         * gst/gstinfo.c: (_gst_debug_init):
16254         Added QOS debug category
16255
16256 2006-03-13  Wim Taymans  <wim@fluendo.com>
16257
16258         * docs/gst/gstreamer-sections.txt:
16259         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
16260         * gst/gstbin.h:
16261         * gst/gstbus.c: (gst_bus_class_init):
16262         * gst/gstbus.h:
16263         * gst/gstclock.c:
16264         * gst/gstelement.c: (gst_element_set_locked_state):
16265         * gst/gstsegment.c:
16266         Documentation updates.
16267
16268         * gst/gstpipeline.c: (gst_pipeline_get_type),
16269         (gst_pipeline_class_init), (gst_pipeline_init),
16270         (gst_pipeline_dispose), (gst_pipeline_set_property),
16271         (gst_pipeline_get_property), (do_pipeline_seek),
16272         (gst_pipeline_send_event), (gst_pipeline_change_state),
16273         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
16274         (gst_pipeline_get_delay):
16275         * gst/gstpipeline.h:
16276         Added methods for setting the delay.
16277         API: gst_pipeline_set_delay()
16278         API: gst_pipeline_get_delay()
16279         Add pipeline debug category
16280         Various cleanups.
16281         Updated docs.
16282         Don't reset stream time when seek failed.
16283
16284 2006-03-13  Wim Taymans  <wim@fluendo.com>
16285
16286         * docs/design/draft-klass.txt:
16287         * docs/design/part-clocks.txt:
16288         * docs/design/part-events.txt:
16289         * docs/design/part-gstbin.txt:
16290         * docs/design/part-gstpipeline.txt:
16291         * docs/design/part-messages.txt:
16292         * docs/design/part-negotiation.txt:
16293         * docs/design/part-overview.txt:
16294         * docs/design/part-preroll.txt:
16295         * docs/design/part-seeking.txt:
16296         * docs/design/part-states.txt:
16297         * docs/design/part-streams.txt:
16298         Documentation updates.
16299
16300 2006-03-12  Julien MOUTTE  <julien@moutte.net>
16301
16302         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
16303         us to leak strings...
16304
16305 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16306
16307         * libs/gst/net/gstnettimeprovider.c:
16308           fix docs
16309         * win32/common/config.h:
16310           update
16311
16312 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
16313
16314         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
16315
16316         * configure.ac:
16317           Don't check for libgnomeui (leftover from old examples
16318           that aren't built or disted any longer) (#334303).
16319           
16320 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
16321
16322         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
16323         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16324           Emit RESOURCE_NO_SPACE_LEFT error here as well when
16325           there's no space left on the device.
16326
16327 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
16328
16329         * gst/gstclock.h:
16330           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
16331           to cast the input to GstClockTime before comparing with
16332           another GstClockTime value.
16333
16334 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16335
16336         * configure.ac:
16337           back to trunk
16338
16339 === release 0.10.4 ===
16340
16341 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
16342
16343         * configure.ac:
16344           releasing 0.10.4, "Light"
16345
16346 2006-03-10  Michael Smith  <msmith@fluendo.com>
16347
16348         * libs/gst/dataprotocol/dataprotocol.c:
16349           Fix docs for dataprocotol to not get the return types completely
16350           wrong for a few functions.
16351
16352 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16353
16354         * docs/gst/gstreamer-sections.txt:
16355         * gst/gstpipeline.c: (gst_pipeline_class_init),
16356         (gst_pipeline_init), (gst_pipeline_set_property),
16357         (gst_pipeline_get_property), (gst_pipeline_change_state),
16358         (gst_pipeline_set_auto_flush_bus),
16359         (gst_pipeline_get_auto_flush_bus):
16360         * gst/gstpipeline.h:
16361           Add new API: gst_pipeline_set_auto_flush_bus() and
16362           gst_pipeline_get_auto_flush_bus() to disable automatic
16363           flushing of the pipeline's GstBus when going from READY
16364           to NULL state (#332045).
16365
16366 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16367
16368         * docs/gst/gstreamer-sections.txt:
16369         * gst/gsturi.c: (gst_uri_has_protocol):
16370         * gst/gsturi.h:
16371            Add new API: gst_uri_has_protocol() (#333779).
16372
16373 2006-03-09  Wim Taymans  <wim@fluendo.com>
16374
16375         * gst/gstclock.c: (gst_clock_entry_new),
16376         (gst_clock_id_compare_func), (gst_clock_id_wait),
16377         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
16378         (gst_clock_init), (gst_clock_get_internal_time),
16379         (gst_clock_set_master), (do_linear_regression),
16380         (gst_clock_add_observation), (gst_clock_set_property):
16381         * gst/gstclock.h:
16382         Review docs.
16383         Small cleanups.
16384         Fix a possible segfault when the window-size is made smaller.
16385         Calculate jitter before performing the clock wait. Ideally
16386         the clock implementation should calculate jitter but we need
16387         API breakage for that.
16388
16389         * gst/gstsystemclock.c: (gst_system_clock_init):
16390         Docs review.
16391         
16392         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16393         Remove leftover else
16394
16395         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
16396         (gst_systemclock_suite):
16397         Added check to test GST_CLOCK_DIFF.
16398
16399 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16400
16401         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
16402         (gst_type_find_helper_get_range):
16403           If we are provided with the size, we should implement
16404           GstTypeFind::get_length, so that typefind functions who
16405           want to can actually peek at the middle of a file.
16406
16407 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
16408
16409         * docs/manual/advanced-dataaccess.xml:
16410           Add some very very basic error checking.
16411
16412         * docs/pwg/appendix-checklist.xml:
16413           Some updates to the list of things to check when writing an element.
16414
16415 2006-03-08  Wim Taymans  <wim@fluendo.com>
16416
16417         * docs/design/part-element-transform.txt:
16418         Added some docs about the design of tranform elements.
16419
16420         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16421         (gst_base_src_loop), (gst_base_src_change_state):
16422         Mark buffers with the DISCONT flag.
16423
16424 2006-03-08  Michael Smith  <msmith@fluendo.com>
16425
16426         * gst/gstregistry.h:
16427         * gst/gstregistryxml.c: (gst_registry_save),
16428         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
16429         (gst_registry_xml_save_pad_template),
16430         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
16431         (gst_registry_xml_write_cache):
16432           Rewrite registry-saving to avoid race conditions and check for
16433           failed writes.
16434
16435 2006-03-08  Wim Taymans  <wim@fluendo.com>
16436
16437         * libs/gst/base/gstbasetransform.c:
16438         (gst_base_transform_transform_caps),
16439         (gst_base_transform_transform_size),
16440         (gst_base_transform_prepare_output_buffer),
16441         (gst_base_transform_get_unit_size),
16442         (gst_base_transform_buffer_alloc),
16443         (gst_base_transform_handle_buffer),
16444         (gst_base_transform_change_state):
16445         Cleanups, separate normal flow from errors, add sensible
16446         DEBUG lines.
16447         Don't try to renegotiate when allocating an output buffer.
16448         Also copy DISCONT buffer flag when copying a buffer.
16449         Reset the transform after we finish streaming, not during.
16450
16451 2006-03-08  Wim Taymans  <wim@fluendo.com>
16452
16453         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16454         Use last buffer timestamp in qos message.
16455
16456 2006-03-07  Wim Taymans  <wim@fluendo.com>
16457
16458         Patch by: Christophe Fergeau
16459
16460         * docs/pwg/advanced-tagging.xml:
16461         * docs/pwg/building-pads.xml:
16462           fixes #333416
16463
16464 2006-03-07  Wim Taymans  <wim@fluendo.com>
16465
16466         * docs/libs/gstreamer-libs-sections.txt:
16467         Added basesink new methods.
16468
16469         * gst/gstevent.c:
16470         * gst/gstevent.h:
16471         Docs updates. Flesh out the QoS docs.
16472
16473         * libs/gst/base/gstadapter.c:
16474         Small doc clarification about ownership and flushing.
16475
16476         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
16477         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
16478         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
16479         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16480         * libs/gst/base/gstbasesink.h:
16481         API additions: 
16482         Added new methods to allow subclass to control max-lateness 
16483         and sync.
16484         Generate very basic QoS events based on last sync observation.
16485         Updated docs, fix typo, added some QoS blurb.
16486
16487         * libs/gst/base/gstbasesrc.c:
16488         Remove obsolete _get_state() calls from docs.
16489
16490 2006-03-07  Wim Taymans  <wim@fluendo.com>
16491
16492         * docs/libs/gstreamer-libs-sections.txt:
16493         * libs/gst/base/gstbasetransform.h:
16494         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
16495         Fix docs for GstBaseSrc.
16496
16497 2006-03-07  Wim Taymans  <wim@fluendo.com>
16498
16499         * docs/gst/gstreamer-sections.txt:
16500         * gst/gstbuffer.h:
16501         * gst/gstvalue.c:
16502         * libs/gst/base/gstbasetransform.h:
16503         Small documentation fixes.
16504
16505 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16506
16507         * gst/gstvalue.c:
16508           Document thread-unsafety of gst_value_register_foo_func()
16509           when used at the same time as gst_value_foo() (#322628).
16510
16511 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16512
16513         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
16514         (gst_push_src_check_get_range):
16515           Push sources don't support pull mode by default.
16516
16517 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16518
16519         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16520         (gst_base_src_init), (gst_base_src_pad_check_get_range),
16521         (gst_base_src_default_check_get_range):
16522         * libs/gst/base/gstbasesrc.h:
16523           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
16524           provide default implementation, and rename
16525           gst_base_src_check_get_range() to
16526           gst_base_src_pad_check_get_range() for clarity.
16527
16528 2006-03-06  Wim Taymans  <wim@fluendo.com>
16529
16530         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16531         Make property overridable.
16532
16533 2006-03-06  Wim Taymans  <wim@fluendo.com>
16534
16535         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16536         (gst_base_sink_init), (gst_base_sink_set_property),
16537         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16538         * libs/gst/base/gstbasesink.h:
16539         API addition: Make max-lateness a property.
16540
16541 2006-03-06  Wim Taymans  <wim@fluendo.com>
16542
16543         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
16544         (gst_base_sink_do_sync), (gst_base_sink_render_object):
16545         Don't ever draw a frame that is >10ms late.
16546
16547 2006-03-06  Michael Smith  <msmith@fluendo.com>
16548
16549         * gst/gstmessage.c: (_gst_message_copy):
16550           When copying a message, set the parent_refcount of the enclosed
16551           structure to point at the copy, not the original message.
16552
16553 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16554
16555         Patch by: Christophe Fergeau
16556
16557         * gst/gstutils.h:
16558           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
16559           usable in c++ code (#333417)
16560
16561 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16562
16563         * gst/gstclock.h:
16564           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
16565
16566 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
16567
16568         * libs/gst/base/gstbasetransform.c:
16569         (gst_base_transform_transform_caps):
16570           Make sure caps are writable before passing them to
16571           gst_caps_append().
16572
16573 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
16574
16575         * gst/gsterror.h:
16576           Fix some minor docs errors.
16577
16578 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
16579
16580           Patch by: Ross Burton <ross at burtonini dot com>
16581
16582         * gst/gsterror.c: (_gst_resource_errors_init):
16583         * gst/gsterror.h:
16584           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
16585
16586 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
16587
16588         * gst/gst.c:
16589         Add a check and output a g_warning when GStreamer is built
16590         against GLib 2.6 but running against 2.8 or higher, and vice 
16591         versa. (Closes: #323542)
16592
16593 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
16594
16595         * gst/parse/parse.l:
16596           Commit patch for parse_launch syntax from #331255. Removes 
16597           support for quoted strings and mimetypes when writing filtered 
16598           caps. See the bug report for more details - I'm pretty sure this
16599           obscure feature is not in use by _anyone_ anywhere.
16600
16601           With this simple change, the size of the gstreamer.so here 
16602           drops from 2193KB to 1565KB.
16603
16604 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16605
16606         * plugins/elements/gsttypefindelement.h:
16607         * plugins/elements/gsttypefindelement.c:
16608         (gst_type_find_element_src_event), (start_typefinding),
16609         (stop_typefinding), (gst_type_find_element_handle_event),
16610         (gst_type_find_element_chain),
16611         (gst_type_find_element_chain_do_typefinding):
16612           Use gst_type_find_helper_for_buffer() for chain-based
16613           typefinding.
16614
16615 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16616
16617         * plugins/elements/gsttypefindelement.c:
16618         (gst_type_find_element_class_init),
16619         (gst_type_find_element_set_property),
16620         (gst_type_find_element_get_property):
16621           Deprecate "maximum" property (not only was it only taken into
16622           account for typefinding in push-mode anyway, it also was never
16623           actually possible to set it in the first place because the
16624           property was registered with the numeric property ID for the
16625           "minimum" property). Register "maximum" property correctly,
16626           for the sake of future copy'n'pasters. Remove some cruft
16627           from property get/set functions.
16628
16629 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16630
16631         * plugins/elements/gsttypefindelement.c:
16632         (gst_type_find_element_activate):
16633           Use gst_type_find_helper_get_range() here, so we
16634           can honour the "minimum" property and also emit
16635           the signal with the correct probability of the found caps.
16636
16637 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
16638
16639         * docs/libs/gstreamer-libs-sections.txt:
16640         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
16641         (helper_find_suggest), (gst_type_find_helper_get_range),
16642         (gst_type_find_helper):
16643         * libs/gst/base/gsttypefindhelper.h:
16644           New API: gst_type_find_helper_get_range() (#333042).
16645
16646 2006-03-02  Michael Smith  <msmith@fluendo.com>
16647
16648         * gst/gstregistryxml.c: (load_feature):
16649           Asserting on a failure to read part of the registry is Not Cool.
16650           Just log a warning and return NULL (which is already handled)
16651
16652 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
16653
16654         * win32/common/libgstbase.def:
16655           added export of gst_type_find_helper_for_buffer
16656         * win32/common/libgstbase.def:
16657           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
16658           gst_ghost_pad_get_target
16659
16660 2006-02-28  Wim Taymans  <wim@fluendo.com>
16661
16662         * docs/design/draft-klass.txt:
16663         We use Filter now.
16664         Added Connector to mark elements that are only used to
16665         allow pipeline connections.
16666         Moved Debug to extra feature since most of them are 
16667         functionally something else.
16668
16669 2006-02-28  Wim Taymans  <wim@fluendo.com>
16670
16671         * docs/design/draft-klass.txt:
16672         Some updates and clarifications.
16673
16674 2006-02-28  Wim Taymans  <wim@fluendo.com>
16675
16676         * docs/design/draft-klass.txt:
16677         Proposal for klass field values.
16678
16679         * docs/design/part-streams.txt:
16680         Start of a doc describing stream anatomy.
16681
16682 2006-02-28  Wim Taymans  <wim@fluendo.com>
16683
16684         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
16685         Help the compiler a bit with type registration.
16686         Use existing forward cod path instead of duplicating it when 
16687         handling a message.
16688         
16689         * gst/gstbus.c: (gst_bus_get_type):
16690         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
16691         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
16692         * gst/gstclock.c: (gst_clock_get_type):
16693         * gst/gstelement.c: (gst_element_get_type),
16694         * gst/gstelementfactory.c: (gst_element_factory_get_type):
16695         * gst/gstindexfactory.c: (gst_index_factory_get_type):
16696         * gst/gstminiobject.c: (gst_mini_object_get_type):
16697         * gst/gstpad.c: (gst_pad_get_type):
16698         * gst/gstsegment.c: (gst_segment_get_type):
16699         * gst/gststructure.c: (gst_structure_get_type):
16700         * gst/gstsystemclock.c: (gst_system_clock_get_type):
16701         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
16702         * gst/gstvalue.c:
16703         Help compiler with type registration.
16704
16705         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
16706         Small doc update.
16707
16708 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16709
16710         * plugins/elements/gsttypefindelement.c:
16711         (gst_type_find_element_handle_event):
16712           When we get an EOS event and have not found a type yet
16713           (most likely because we had not yet accumulated
16714           TYPE_FIND_MIN_SIZE of data yet), try to determine the
16715           type given the data we have so far. Fixes typefinding
16716           for very short streams again, most notably quicktime
16717           redirections as used on Apple's trailer site (#331701).
16718
16719 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16720
16721         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
16722         (gst_type_find_helper):
16723           Try typefinding factories with the highest rank first.
16724
16725 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16726
16727         * docs/libs/gstreamer-libs-docs.sgml:
16728         * docs/libs/gstreamer-libs-sections.txt:
16729         * libs/gst/base/gsttypefindhelper.c:
16730           Add section for typefind helper and add documentation
16731           for the old and the new function.
16732
16733 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16734
16735         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
16736         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
16737         (gst_type_find_helper_for_buffer):
16738         * libs/gst/base/gsttypefindhelper.h:
16739           New API: gst_type_find_helper_for_buffer() (#332723).
16740           
16741 2006-02-27  Michael Smith  <msmith@fluendo.com>
16742
16743         Patch by: Loïc Minier
16744
16745         * configure.ac:
16746         * docs/Makefile.am:
16747         * docs/slides/Makefile.am:
16748           prevent CVS directories getting disted.
16749
16750 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16751
16752         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
16753           Use the REFCOUNTING category for caps refcounting.
16754           
16755 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
16756
16757         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
16758           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
16759
16760 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
16761
16762         * plugins/elements/gsttypefindelement.c:
16763         (gst_type_find_element_activate):
16764           Use gst_pad_check_pull_range() before _activate_pull()
16765           to avoid unnecessary open/close (see #331690).
16766
16767 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
16768
16769         * gst/gstutils.c:
16770           Docs enhancement: make it crystal clear what the
16771           gst_pad_add_*_probe() callbacks should look like.
16772
16773 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
16774
16775         * libs/gst/base/gstbasesrc.c:
16776           Document how applications can stop recording from
16777           live sources (see #330996).
16778
16779 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
16780
16781         * tests/check/Makefile.am:
16782         * tests/check/libs/basesrc.c: (eos_event_counter),
16783         (basesrc_eos_events_pull), (basesrc_eos_events_push),
16784         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
16785         (gst_basesrc_suite), (main):
16786           ... and add some tests for the base source EOS stuff.
16787
16788 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
16789
16790         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
16791           Test case originally showed the problem fixed below,
16792           but was then amended. Add checks back at the place
16793           where they used to be.
16794
16795 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
16796
16797         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16798         (gst_base_src_init), (gst_base_src_loop),
16799         (gst_base_src_activate_push), (gst_base_src_activate_pull),
16800         (gst_base_src_change_state):
16801         * libs/gst/base/gstbasesrc.h:
16802           Don't unconditionally send EOS when going from PAUSED to
16803           READY state, esp. make sure we don't send two EOS events
16804           in some cases (e.g. one when reaching EOS and one when
16805           going from PAUSED to READY). Also, we don't want to send
16806           EOS events when operating in pull mode. However, we do
16807           want to send an EOS event when shutting down a live
16808           source explicitly, for example (fixes #330996).
16809           
16810 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
16811
16812         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
16813           Update src->read_position after a seek when not using mmap.
16814           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
16815
16816 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
16817
16818         * gst/Makefile.am:
16819         * gst/gstparse.h:
16820         * gst/gstutils.c:
16821         * gst/gstutils.h:
16822         Make things work with --disable-parse as they do with 
16823         --disable-load-save - the symbols involved disappear, but the
16824         header is still installed and GST_DISABLE_PARSE is included via
16825         gstconfig.h
16826
16827 2006-02-20  Julien MOUTTE  <julien@moutte.net>
16828
16829         * libs/gst/base/gstbasetransform.c:
16830         (gst_base_transform_change_state): Fix a stupid bug. I was 
16831         sure I compiled that.
16832
16833 2006-02-20  Julien MOUTTE  <julien@moutte.net>
16834
16835         * gst/gstpad.c: (gst_pad_set_blocked_async):
16836         * gst/gstutils.c: (gst_pad_add_data_probe),
16837         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
16838         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
16839         (gst_pad_remove_buffer_probe): Make those function act on the
16840         ghostpad target when it's a ghostpad. (Closes #331727)
16841
16842 2006-02-20  Julien MOUTTE  <julien@moutte.net>
16843
16844         * libs/gst/base/gstbasetransform.c:
16845         (gst_base_transform_change_state): Make basetransform reusable.
16846         (Closes #331898)
16847
16848 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
16849
16850         * docs/random/release:
16851         Move the current documentation of how to do a release to the top
16852         of the file.
16853
16854         * gst/gstbin.c: (gst_bin_class_init),
16855         (gst_bin_handle_message_func):
16856         Allow multiple state-recalculation threads. (Closes #328873)
16857
16858 2006-02-19  Julien MOUTTE  <julien@moutte.net>
16859
16860         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
16861         * gst/gstpad.c: (gst_pad_set_event_function),
16862         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
16863         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
16864         2 strings. You can't use the STR_NULL macro on that.
16865
16866 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
16867
16868         * gst/gstpad.c: (gst_pad_set_event_function),
16869         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
16870         (gst_pad_set_getcaps_function)
16871         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
16872           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
16873           So now, we can use --gst-debug-level=5 on Windows
16874         * win32/common/libgstcontroller.def:
16875           Added export of gst_controller_init
16876         * win32/vs6/libgstcontroller.dsp:
16877           Fixed Release post build configuration
16878
16879 2006-02-17  Wim Taymans  <wim@fluendo.com>
16880
16881         * tests/check/gst/gstquery.c: (GST_START_TEST):
16882         Added another check.
16883
16884 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
16885
16886         * plugins/elements/gsttypefindelement.c: (find_peek):
16887           We can do peeks at non-zero offsets, as long as they
16888           fall within the buffer we have.
16889
16890 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
16891
16892         * tests/check/Makefile.am:
16893         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
16894         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
16895         (parse_suite), (main):
16896           Add testsuite for parse launch syntax
16897
16898 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
16899
16900         * plugins/elements/gsttypefindelement.c:
16901         (gst_type_find_element_chain):
16902           When typefinding is unsuccessful in the chain function, don't
16903           error out immediately. Only error out with NO_CAPS_FOUND if
16904           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
16905           otherwise simply wait for more data so we can try typefinding
16906           again with more data later. Also, don't attempt to typefind
16907           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
16908           this should improve typefinding from network sources where the
16909           size of the first buffer can be somewhat random.
16910
16911 2006-02-14  Wim Taymans  <wim@fluendo.com>
16912
16913         * docs/gst/gstreamer-sections.txt:
16914         * gst/gstpadtemplate.c:
16915         * gst/gstpadtemplate.h:
16916         Fix padtemplate docs, fixes #328805.
16917
16918 2006-02-14  Wim Taymans  <wim@fluendo.com>
16919
16920         * tools/gst-launch.c: (main):
16921         NO_PREROLL is not an ERROR so don't send confusing messages
16922         to the user.
16923
16924 2006-02-14  Wim Taymans  <wim@fluendo.com>
16925
16926         Patch by: Torsten Schoenfeld
16927
16928         * gst/gstregistry.c: (gst_registry_get_default),
16929         (_gst_registry_cleanup):
16930         Protect default registry with lock and ref/sink it.
16931         Fixes #324818
16932
16933 2006-02-14  Wim Taymans  <wim@fluendo.com>
16934
16935         * gst/gstbuffer.c:
16936         * gst/gstquery.c: (gst_query_list_add_format),
16937         (gst_query_set_formatsv), (gst_query_parse_formats_length),
16938         (gst_query_parse_formats_nth):
16939         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16940         Docs fixes.
16941
16942 2006-02-14  Wim Taymans  <wim@fluendo.com>
16943
16944         * docs/gst/gstreamer-sections.txt:
16945         Reworked query docs.
16946
16947         * gst/gstquery.c: (gst_query_new_formats),
16948         (gst_query_list_add_format), (gst_query_set_formats),
16949         (gst_query_set_formatsv), (gst_query_parse_formats_length),
16950         (gst_query_parse_formats_nth):
16951         * gst/gstquery.h:
16952         Flesh out formats query, added some new methods.
16953         Fix part of #324398.
16954
16955         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
16956         Added query creation tests.
16957
16958 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
16959
16960         * gst/gstpad.c: (fixate_value):
16961         Add a default fixation for fraction lists.
16962
16963 2006-02-13  Wim Taymans  <wim@fluendo.com>
16964
16965         * gst/gsttask.c: (gst_task_init), (gst_task_func),
16966         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
16967         (gst_task_join):
16968         * gst/gsttask.h:
16969         Detect and warn for obvious deadlocks. fixes #320340
16970         Fix error case where lock was not released.
16971
16972         * tests/check/Makefile.am:
16973         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
16974         (task_func), (gst_element_suite), (main):
16975         Add task check.
16976
16977 2006-02-13  Wim Taymans  <wim@fluendo.com>
16978
16979         * docs/gst/gstreamer-sections.txt:
16980         * gst/gstbus.c:
16981         Add new functions to docs.
16982
16983 2006-02-13  Wim Taymans  <wim@fluendo.com>
16984
16985         * docs/design/part-TODO.txt:
16986         Updated TODO list, basesrc supports seeking to non-bytes
16987         formats.
16988
16989         * docs/design/part-element-sink.txt:
16990         Update docs.
16991
16992         * gst/gstbin.c: (bin_replace_message),
16993         (gst_bin_handle_message_func):
16994         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
16995         * gst/gstevent.c: (gst_event_finalize):
16996         * gst/gstpad.c: (gst_pad_event_default_dispatch),
16997         (gst_pad_send_event):
16998         Use shiny new _TYPE_NAME macros.
16999
17000         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17001         Move debug statement up.
17002
17003         * gst/gstelement.c: (gst_element_set_locked_state):
17004         Add some debugging.
17005
17006 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
17007
17008         * docs/gst/gstreamer-sections.txt:
17009         * gst/gstmessage.h:
17010         * gst/gstquery.h:
17011           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
17012           macros (#330906). Also, document the already existing
17013           GST_QUERY_TYPE macro.
17014
17015 2006-02-13  Wim Taymans  <wim@fluendo.com>
17016
17017         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
17018         (event_probe), (GST_START_TEST):
17019         Only events up to the pipeline EOS are counted, there are
17020         some more when going to NULL currently which we don't care
17021         about for now.
17022
17023 2006-02-13  Wim Taymans  <wim@fluendo.com>
17024
17025         * gst/gstpad.c: (gst_pad_send_event):
17026         Correctly check flushing and emit probes. fixes #330125
17027
17028 2006-02-10  Andy Wingo  <wingo@pobox.com>
17029
17030         * gst/gstbus.c (gst_bus_class_init): Declare our private data
17031         structure.
17032         (gst_bus_init): Cache the location of the private data in the
17033         instance structure.
17034         (gst_bus_enable_sync_message_emission) 
17035         (gst_bus_disable_sync_message_emission): Implement new public
17036         functions.
17037         (gst_bus_post): Emit the sync-message signal if the user asked for
17038         it. Fixes #330684.
17039
17040         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
17041         location of the bus-private structure.
17042         (gst_bus_enable_sync_message_emission)
17043         (gst_bus_disable_sync_message_emission): API addition
17044
17045 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
17046
17047         Patch by: Vincent Torri
17048
17049         * docs/pwg/building-boiler.xml:
17050         PWG patch from #326800
17051
17052 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
17053
17054         * configure.ac:
17055         * docs/Makefile.am:
17056         * docs/design/Makefile.am:
17057           Dist design docs.
17058
17059 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17060
17061         * configure.ac:
17062           back to CVS
17063
17064 === release 0.10.3 ===
17065
17066 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
17067
17068         * configure.ac:
17069           releasing 0.10.3, "Like a virgin"
17070
17071 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17072
17073         * configure.ac:
17074           2nd prerelease of 0.10.3
17075           Bump libtool versioning.
17076
17077 2006-02-07  Andy Wingo  <wingo@pobox.com>
17078
17079         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
17080         update last_stop if we're in TIME format and the timestamp is
17081         valid.
17082
17083         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
17084         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
17085         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
17086         If we get a new newsegment with a different format, adapt
17087         accordingly.
17088
17089         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
17090         of 0. Not a problem, really.
17091
17092         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
17093         warn if sync=true.
17094
17095 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
17096
17097         * configure.ac:
17098           Prelease of 0.10.3
17099
17100 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
17101
17102         * win32/vs7:
17103           project files updated to the default vs7 configuration
17104         * win32/common/libgstbase.def:
17105         * win32/common/libgstreamer.def:
17106           added new symbols,
17107           removed empty lines,
17108           sorted all exported symbols alphabetically
17109         * win32/common/dirent.c:
17110         * win32/common/dirent.h:
17111         * win32/common/gchar.h:
17112           use windows line end.
17113           
17114 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17115
17116         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
17117           Send EOS event when stopping.
17118
17119 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17120
17121         * docs/README:
17122           Tell folks what to do if the plugin-foobar.xml file
17123           hasn't been generated for a newly-added plugin.
17124
17125 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17126
17127         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
17128         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
17129         (gst_collect_pads_start), (gst_collect_pads_stop),
17130         (gst_collect_pads_event): Collectpads now holds a reference
17131         to the GstPad that was added. Indeed we don't want to look
17132         at pads that might just go away with no warning...
17133
17134 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17135
17136         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17137         (gst_collect_pads_start), (gst_collect_pads_stop),
17138         (gst_collect_pads_event), (gst_collect_pads_chain):
17139         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
17140         Mark Nauwelaerts's patch on bug #328491.
17141
17142 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17143
17144         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
17145         (gst_utils_suite):
17146           Add some simple tests for gst_parse_bin_from_description() and
17147           gst_bin_find_unconnected_pad() (#329069).
17148
17149 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17150
17151         * tools/gst-launch.c: (event_loop), (main):
17152           Catch errors during preroll (#320084).
17153
17154 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
17155
17156         * plugins/elements/gsttypefindelement.c:
17157         (gst_type_find_element_activate):
17158           Post TYPE_NOT_FOUND error message when typefinding
17159           is unsuccessful in the activate function as well.
17160
17161 2006-02-02  Wim Taymans  <wim@fluendo.com>
17162
17163         * docs/design/part-element-sink.txt:
17164         Updated doc.
17165
17166 2006-02-02  Wim Taymans  <wim@fluendo.com>
17167
17168         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
17169         (gst_base_sink_render_object),
17170         (gst_base_sink_queue_object_unlocked):
17171         Only keep track of prerollable items when we are 
17172         prerolling.
17173         Before rendering after preroll, always check if we
17174         have queued items.
17175         Added some more debugging.
17176
17177 2006-02-02  Wim Taymans  <wim@fluendo.com>
17178
17179         * gst/gstelement.c: (gst_element_continue_state),
17180         (gst_element_set_state_func), (gst_element_change_state):
17181         Fixed #326576, been running this for quite some time with
17182         no regressions at all.
17183
17184 2006-02-02  Wim Taymans  <wim@fluendo.com>
17185
17186         * common/gst.supp:
17187         Added more suppressions
17188
17189 2006-02-02  Wim Taymans  <wim@fluendo.com>
17190
17191         * docs/design/part-element-sink.txt:
17192         Updated document.
17193
17194         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17195         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
17196         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
17197         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
17198         (gst_base_sink_do_sync), (gst_base_sink_render_object),
17199         (gst_base_sink_preroll_object),
17200         (gst_base_sink_queue_object_unlocked),
17201         (gst_base_sink_queue_object), (gst_base_sink_event),
17202         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
17203         (gst_base_sink_loop), (gst_base_sink_activate_pull),
17204         (gst_base_sink_get_position), (gst_base_sink_change_state):
17205         * libs/gst/base/gstbasesink.h:
17206         Totally refactored matching the design doc.
17207         Use two segments, one to clip incomming buffers and another to
17208         perform sync.
17209         Handle queueing correctly, bypass the queue when playing.
17210         Make EOS cancelable.
17211         Handle errors correctly when operating in pull based mode.
17212
17213         * tests/check/elements/fakesink.c: (GST_START_TEST),
17214         (fakesink_suite):
17215         Added new check for sinks.
17216
17217 2006-02-02  Wim Taymans  <wim@fluendo.com>
17218
17219         * gst/gstsegment.c: (gst_segment_clip):
17220         No reason to refuse to clip when start == -1
17221
17222 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
17223
17224         * docs/README:
17225         * docs/manual/intro-basics.xml:
17226         * docs/manual/intro-preface.xml:
17227         * docs/manual/manual.xml:
17228         * docs/pwg/advanced-dparams.xml:
17229         * docs/pwg/intro-basics.xml:
17230         * docs/pwg/intro-preface.xml:
17231         * docs/pwg/pwg.xml:
17232           describe dparams (controller) for plugins
17233           unify docs a little more
17234
17235 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
17236
17237         * docs/gst/gstreamer-sections.txt:
17238         * gst/gstutils.c: (element_find_unconnected_pad),
17239         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
17240         * gst/gstutils.h:
17241           Add new API: gst_parse_bin_from_description() and
17242           gst_bin_find_unconnected_pad() (#329069).
17243
17244 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
17245
17246         * docs/manual/README:
17247           uncover a nasty detail of the docs build
17248
17249 2006-01-31  Wim Taymans  <wim@fluendo.com>
17250
17251         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
17252         Don't cache duration messages if we're not going to use or
17253         free them.
17254
17255 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
17256
17257         * docs/manual/advanced-dparams.xml:
17258         * docs/pwg/advanced-dparams.xml:
17259           more dparam docs
17260         * gst/gstindex.c:
17261           fix docs
17262         * libs/gst/controller/lib.c: (gst_controller_init):
17263           init just once
17264
17265 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
17266
17267         * gst/gstelement.c: (gst_element_message_full):
17268           also show file/line/func if no additional debug was given
17269
17270 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
17271         
17272         * win32/vs7/grammar.vcproj:
17273           activate copy of autogenerated files for Release mode
17274
17275 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17276         
17277         * win32/common/libgstreamer.def:
17278           export gst_value_compare
17279
17280 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
17281
17282         * plugins/elements/Makefile.am:
17283         * plugins/elements/gstelements.c:
17284         * plugins/elements/gstfdsink.c: (_do_init),
17285         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17286         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
17287         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
17288         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
17289         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
17290         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17291         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
17292         * plugins/elements/gstfdsink.h:
17293         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
17294
17295 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
17296
17297         * docs/manual/advanced-dparams.xml:
17298           describe controller
17299         * docs/manual/advanced-position.xml:
17300         * docs/manual/basics-init.xml:
17301         * docs/manual/manual.xml:
17302         * docs/manual/titlepage.xml:
17303         * docs/pwg/pwg.xml:
17304         * docs/pwg/titlepage.xml:
17305           cleanup xml (more to come)
17306         * libs/gst/controller/gstcontroller.c:
17307           fix typo
17308
17309 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17310         
17311         * win32/vs6/grammar.dsp:
17312           add autogen of gstmarshal.c,h for Release mode
17313                 
17314 2006-01-30  Wim Taymans  <wim@fluendo.com>
17315
17316         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17317         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
17318         (gst_base_sink_handle_object), (gst_base_sink_event),
17319         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
17320         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17321         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
17322         (gst_base_sink_deactivate), (gst_base_sink_activate),
17323         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17324         (gst_base_sink_query), (gst_base_sink_change_state):
17325         Basesink cleanups, remove some old code.
17326         Handle the case where a subclass can preroll in the render
17327         method (mostly audiosinks).
17328         Handle more events.
17329         Remove some locks around variables that are now protected
17330         with the PREROLL_LOCK (clock_id, flushing, ..).
17331         Optimize position query some more, do correct locking.
17332         Remove old code to push queue in state change, this is not
17333         needed anymore since preroll blocks on all prerollable items 
17334         now.
17335         Almost implemented as described in design doc.
17336
17337 2006-01-30  Wim Taymans  <wim@fluendo.com>
17338
17339         * tests/check/gst/gstbin.c: (GST_START_TEST):
17340         Wait for refcount to settle down before checking.
17341
17342 2006-01-30  Wim Taymans  <wim@fluendo.com>
17343
17344         * docs/design/part-element-sink.txt:
17345         Pseudo code overview of desired sink behaviour regarding
17346         preroll.
17347
17348 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17349         * win32/vs6/grammar.dsp:
17350           fix some bugs in Release mode for autogenerated files
17351                 
17352 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17353         * win32/common/libgstbase.def:
17354         * win32/common/libgstreamer.def:
17355           export some new symbols: gst_base_src_set_format,
17356           gst_iterator_next, gst_structure_set_valist
17357
17358 2006-01-29  Julien MOUTTE  <julien@moutte.net>
17359
17360         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17361         Set pad functions unconditionally. Fixes #329105.
17362
17363 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17364         * win32/vs8:
17365           add vs8 project files created by Sergey Scobich
17366
17367 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
17368
17369         * gst/gstutils.c: (gst_element_unlink_pads):
17370         Don't leak pad references.
17371
17372         * tests/check/elements/fakesink.c: (GST_START_TEST):
17373         * tests/check/generic/sinks.c: (GST_START_TEST):
17374         * tests/check/generic/states.c: (GST_START_TEST):
17375         * tests/check/gst/gstbin.c: (GST_START_TEST):
17376         * tests/check/gst/gstcaps.c: (GST_START_TEST):
17377         * tests/check/gst/gstelement.c: (GST_START_TEST):
17378         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
17379         * tests/check/gst/gstiterator.c: (GST_START_TEST):
17380         * tests/check/gst/gstvalue.c: (GST_START_TEST):
17381         Fix a bunch of leaks. Make generic/sinks.c
17382         use a bit less cpu by slowing the buffer rate
17383         between fakesrc and fakesink.
17384         
17385 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
17386         * gst/gstcaps.c:
17387         * gst/gstelement.c: (gst_element_send_event):
17388         * gst/gstevent.c:
17389         * gst/gstinfo.c:
17390         * gst/gstiterator.c:
17391         * gst/gstiterator.h:
17392         * gst/gstpad.c: (gst_pad_send_event):
17393         * gst/gststructure.c:
17394         * gst/gsturi.c:
17395         * gst/gstutils.c:
17396         * gst/gstvalue.c:
17397         * libs/gst/base/gstadapter.c:
17398           doc fixes, to link to function, just write gst_cool_function(), don't
17399           prefix with '#'
17400
17401 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17402
17403         * plugins/elements/gsttee.c: (gst_tee_do_push),
17404         (gst_tee_handle_buffer):
17405         Always prefer an actual return value from a src
17406         pad in place of NOT_LINKED. This means we return
17407         WRONG_STATE when all src pads are WRONG_STATE
17408         instead of NOT_LINKED.
17409
17410         Lock when replacing the last message to prevent
17411         racing with the get_property method.
17412
17413         Add debug output
17414
17415 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17416
17417         * tests/check/Makefile.am:
17418         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
17419         (main):
17420         Add a very simple check that should have caught the memleak I fixed
17421         last night (if not for the slice allocator hiding it)
17422
17423 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17424
17425         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17426         (gst_bin_remove_func), (gst_bin_handle_message_func),
17427         (bin_query_duration_fold), (bin_query_generic_fold):
17428         Clean up references to the clock provider when disposed or when
17429         handling a clock-lost message from it.
17430
17431         Unref sinks when performing a query via gst_iterator_fold, as the
17432         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
17433
17434         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
17435         (gst_clock_set_master):
17436         Drop our reference to the master clock, if any, when we are disposed.
17437
17438         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
17439         Chain up in dispose. 
17440
17441 2006-01-26  Wim Taymans  <wim@fluendo.com>
17442
17443         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17444         Add some debugging.
17445
17446 2006-01-26  Julien MOUTTE  <julien@moutte.net>
17447
17448         * plugins/elements/gsttee.c: (gst_tee_do_push),
17449         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
17450         handles pad being NOT_LINKED or in WRONG_STATE.
17451
17452 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17453
17454         * win32/MANIFEST:
17455           more updating
17456
17457 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17458
17459         * win32/MANIFEST:
17460           remove obsolete entry
17461
17462 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17463
17464         * docs/gst/gstreamer-sections.txt:
17465         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
17466         (gst_bin_iterate_sources), (gst_bin_send_event):
17467         * gst/gstbin.h:
17468         * gst/gstelement.c: (gst_element_send_event):
17469         * gst/gstevent.c:
17470         * gst/gstpad.c: (gst_pad_send_event):
17471           added code for downstream events, reviewed docs in gstevent.c
17472
17473 2006-01-25  Julien MOUTTE  <julien@moutte.net>
17474
17475         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17476         We only query position using the clock in the playing state.
17477         Query peer in the other cases.
17478         * win32/common/config.h: Updates.
17479
17480 2006-01-24  Wim Taymans  <wim@fluendo.com>
17481
17482         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17483         A clock entry that is scheduled for the exact time of the
17484         clock is still in time.
17485
17486         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17487         (gst_base_sink_do_sync):
17488         Add some more debug info.
17489
17490 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17491
17492         * win32/vs7:
17493           Add new vs7 project files and solution.
17494
17495 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17496
17497         * win32/vs7:
17498           all files removed as they were out-dated.
17499
17500 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17501
17502         * docs/random/release:
17503           update notes
17504         * gst/gstbin.c: (gst_bin_init):
17505         * gst/gstbus.c: (gst_bus_new):
17506         * gst/gstbus.h:
17507         * gst/gstpipeline.c: (gst_pipeline_init):
17508           use gst_bus_new(), improve logging, fix docs
17509         * win32/common/config.h:
17510           update for cvs build
17511
17512 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17513
17514         * autogen.sh:
17515           up required version of automake to 1.7
17516
17517 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
17518
17519         * win32/common/libgstreamer.def:
17520           export gst_buffer_is_metadata_writable
17521
17522 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
17523
17524         * docs/gst/gstreamer-sections.txt:
17525         * gst/gstevent.h:
17526           Add gst_event_replace() (#327001)
17527
17528 2006-01-20  Wim Taymans  <wim@fluendo.com>
17529
17530         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
17531         Make it actually compile too..
17532
17533 2006-01-20  Wim Taymans  <wim@fluendo.com>
17534
17535         * gst/gstcaps.c:
17536         Clarify behaviour of _is_equal() when passing NULL parameters.
17537
17538         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17539         (gst_pad_set_caps):
17540         Cleanups. Don't unref NULL caps.
17541         When setting the same caps, protect caps of the pad with
17542         proper lock.
17543         Use full functionality of _is_equal() when comparing caps.
17544
17545 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17546
17547         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
17548         Don't loop infinitely if there are no buffers to present. Partially
17549         fixes #327197, but collectpads is just broken for reusing elements
17550         to do multiple encodes atm.
17551
17552 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17553
17554         * tools/gst-inspect.c: (print_element_features):
17555         * tools/gst-xmlinspect.c: (main):
17556         URL_HANDLER is not a plugin feature we can search for in
17557         the registry.
17558
17559 2006-01-19  Edward Hervey  <edward@fluendo.com>
17560
17561         * gst/gstelement.c: (gst_element_pads_activate): 
17562         When activating, do src pads first, then sink pads.
17563         When de-activating, do sink pads first, then src pads.
17564
17565 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17566
17567         * docs/gst/gstreamer-sections.txt:
17568         Add gst_index_add_associationv to the docs
17569
17570 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17571
17572         * gst/gstevent.c:
17573           Fix docs typo
17574
17575         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
17576         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
17577           Do some refactoring. Doesn't actually change functionality,
17578           but makes landing the DRAIN event easier later.
17579
17580 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
17581
17582         * docs/pwg/advanced-scheduling.xml:
17583           Update from 0.9.x to 0.10 API and make example a bit
17584           clearer.
17585
17586 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17587
17588         * docs/gst/gstreamer-sections.txt:
17589         Add gst_buffer_(is|make)_metadata_writable methods.
17590
17591 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17592
17593         * docs/design/part-sparsestreams.txt:
17594         Update sparse streams doc, hopefully for greater clarity
17595
17596 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
17597
17598         * docs/design/part-events.txt:
17599         Remove mention of FILLER events.
17600         Add DRAIN event.
17601
17602         * docs/design/part-sparsestreams.txt:
17603         Write some things about using NEWSEGMENT to keep sparse streams
17604         flowing.
17605
17606 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
17607
17608         * gst/gstbin.c: (gst_bin_dispose):
17609           Guard gst_object_unref call against a NULL object (dispose
17610           can theoretically be called multiple times).
17611           
17612 2006-01-18  Wim Taymans  <wim@fluendo.com>
17613
17614         * gst/gstbin.c: (gst_bin_element_set_state):
17615         * gst/gstclock.c: (gst_clock_id_wait):
17616         Added some more debug info.
17617
17618         * libs/gst/base/gstadapter.c:
17619         Added more docs.
17620
17621         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17622         (gst_base_sink_do_sync), (gst_base_sink_chain):
17623         Added some comments.
17624
17625 2006-01-18  Wim Taymans  <wim@fluendo.com>
17626
17627         * tests/check/Makefile.am:
17628         * tests/check/elements/fakesink.c: (chain_async_buffer),
17629         (chain_async), (chain_async_return), (GST_START_TEST),
17630         (fakesink_suite), (main):
17631         Added fakesink test that checks prerolling and clipping
17632         behaviour.
17633
17634         * tests/check/gst/gstutils.c: (GST_START_TEST):
17635         Make check run faster so that buildbots don't timeout.
17636
17637 2006-01-18  Wim Taymans  <wim@fluendo.com>
17638
17639         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17640         (gst_base_sink_do_sync):
17641         Some cleanups.
17642         When the sink finishes blocking on the preroll buffer, it can
17643         immediatly render it instead of rendering when the next buffer
17644         arrives.
17645
17646 2006-01-18  Wim Taymans  <wim@fluendo.com>
17647
17648         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
17649         (gst_base_sink_get_property), (gst_base_sink_do_sync),
17650         (gst_base_sink_chain):
17651         Small cleanups.
17652         GST_ELEMENT_CLOCK and sync are protected with LOCK.
17653         Don't store _last_stop if the buffer is dropped.
17654
17655 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
17656
17657         * plugins/elements/gsttypefindelement.c:
17658         (gst_type_find_element_class_init):
17659           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
17660           object method handler that sets the caps on the pad and we want
17661           that to happen before we emit the signal (fixes e.g. feeding a
17662           plain text file to decodebin).
17663
17664 2006-01-18  Christian Schaller  <Christian@fluendo.com>
17665
17666         * gst/gstplugin.c: Add MPL and Proprietary as license options
17667
17668 2006-01-18  Andy Wingo  <wingo@pobox.com>
17669
17670         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
17671         symbol was exported before, it appears this was just an oversight.
17672         Fixes #168703.
17673         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
17674
17675         * gst/gstindex.c (gst_index_add_associationv): Changed int in
17676         prototype to gint. OK since this prototype was not in the header.
17677
17678 2006-01-17  Andy Wingo  <wingo@pobox.com>
17679
17680         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
17681         registry while we remove plugins.
17682
17683         * tools/gst-inspect.c (print_element_info): Don't unref the
17684         factory arg, that should be the responsibility of whatever code
17685         received the ref. Fixes a double-free when called from
17686         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
17687         (main): Unref the factory if we have one.
17688         (print_element_list): No change -- relies on the
17689         plugin_feature_list_free to free the list of features.
17690
17691 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
17692
17693         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
17694         (gst_buffer_make_metadata_writable):
17695         * gst/gstbuffer.h:
17696         * libs/gst/base/gstbasetransform.c:
17697         (gst_base_transform_prepare_output_buf):
17698         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17699         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17700           Replace gst_buffer_(make|is)_metadata_writable patch now
17701           that the release is out.
17702
17703 2006-01-17  Andy Wingo  <wingo@pobox.com>
17704
17705         * gst/gstregistry.c: Reflow design comment. Update so as to speak
17706         in the present tense without reference to versions.
17707
17708         * gst/gstregistry.c (gst_registry_add_plugin)
17709         (gst_registry_remove_plugin, gst_registry_remove_feature)
17710         (gst_registry_find_feature, gst_registry_get_feature_list)
17711         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
17712         (gst_registry_lookup, gst_registry_scan_path)
17713         (_gst_registry_remove_cache_plugins)
17714         (gst_registry_get_feature_list_by_plugin): Add argument
17715         validation.
17716
17717 === release 0.10.2 ===
17718
17719 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
17720
17721         * configure.ac:
17722           releasing 0.10.2, "If man is five"
17723
17724 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
17725
17726         * gst/gstbuffer.c:
17727         * gst/gstbuffer.h:
17728         * libs/gst/base/gstbasetransform.c:
17729         (gst_base_transform_prepare_output_buf):
17730         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17731         * tests/check/gst/gstbuffer.c: (gst_test_suite):
17732           Back out patch until after the release.
17733
17734 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
17735
17736         * gst/gstminiobject.c:
17737           Spelling fix in docs.
17738         * ChangeLog - remove conflict indicator
17739
17740 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
17741
17742         Reviewed By: Andy Wingo
17743
17744         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
17745         (gst_buffer_make_metadata_writable):
17746         * gst/gstbuffer.h:
17747           Add gst_buffer_(is|make)_metadata_writable as analogues of
17748           gst_buffer_(is|make)_writable.
17749
17750         * libs/gst/base/gstbasetransform.c:
17751         (gst_base_transform_prepare_output_buf):
17752         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17753           Use name gst_buffer_(is|make)_metadata_writable functions.
17754
17755         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17756           Test gst_buffer_(is|make)_metadata_writable
17757         
17758           (Closes: #324162)
17759
17760 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
17761
17762         * docs/manual/Makefile.am:
17763           don't do parallel make
17764         * configure.ac:
17765           AC_SUBST HOST_CPU
17766         * win32/common/config.h.in:
17767           add generations for HOST_CPU and GST_MAJORMINOR
17768         * win32/common/config.h:
17769           commit generated result
17770
17771 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
17772
17773         * docs/manual/appendix-integration.xml:
17774           Update GNOME integration section to use gst_init_get_option_group()
17775           instead of the old popt stuff (#322911). Also, GNOME applications
17776           should  now use gconf*sink and gconf*src instead of the old gconf
17777           helper lib we had.
17778
17779 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
17780
17781
17782         * docs/gst/gstreamer-docs.sgml:
17783         * docs/gst/gstreamer-sections.txt:
17784         * docs/libs/gstreamer-libs-sections.txt:
17785           add new API entries to the docs
17786         * libs/gst/controller/Makefile.am:
17787         * libs/gst/controller/gstcontroller.c:
17788         * libs/gst/controller/gstcontroller.h:
17789         * libs/gst/controller/gstcontrollerprivate.h:
17790         * libs/gst/controller/gsthelper.c:
17791         * libs/gst/controller/gstinterpolation.c:
17792           move private structs to private header
17793         * po/README:
17794           gstreamer-0.7 -> gstreamer-0.10
17795         * tests/check/libs/struct_i386.h:
17796           remove private structs
17797
17798 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17799
17800         * plugins/indexers/Makefile.am:
17801           Fixes as part of #317048
17802
17803 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17804
17805         * plugins/indexers/Makefile.am:
17806           fix #316086 - compilation when mmap is missing
17807
17808 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
17809
17810         * libs/gst/base/gstbasesink.c:
17811           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
17812           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
17813         * win32/common/config.h:
17814           added some defines GST_MAJORMINOR and HOST_CPU
17815         * win32/common/libgstbase.def:
17816         * win32/common/libgstreamer.def:
17817           added some exported functions.
17818
17819 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
17820
17821         * libs/gst/controller/gstcontroller.c:
17822         (gst_controlled_property_set_interpolation_mode),
17823         (gst_controlled_property_new):
17824         * libs/gst/controller/gstcontroller.h:
17825         * libs/gst/controller/gstinterpolation.c:
17826         (interpolate_none_get_string_value_array):
17827           make G_TYPE_STRING controlable
17828
17829 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
17830
17831         * tools/README:
17832         * tools/gst-feedback.1.in:
17833         * tools/gst-inspect.1.in:
17834         * tools/gst-launch.1.in:
17835         * tools/gst-md5sum.1.in:
17836         * tools/gst-typefind.1.in:
17837         * tools/gst-xmlinspect.1.in:
17838         * tools/gst-xmllaunch.1.in:
17839           cleanup man-pages, remove reference to gst-register, document env-vars
17840
17841 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
17842
17843         * gst/gstbuffer.c: (gst_buffer_span):
17844           gst_buffer_span should copy the timestamp of the first buffer
17845           if they were both originally overlapping subbuffers of the 
17846           same parent, using the same logic as the 'slow copy' case.
17847
17848 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
17849
17850         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
17851           Need to awaken ALL the pads when we pop a buffer, otherwise
17852           collectpads only works when there is 2 input streams.
17853
17854 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
17855
17856         * docs/random/ensonic/media-device-daemon.txt:
17857           more ideas (dbus)
17858         * gst/gstbuffer.c:
17859           fix doc example, add clarification
17860         * tools/gst-launch.1.in:
17861           add initial info about GST_PLUGIN_PATH, needs more work
17862
17863 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
17864
17865         * docs/manual/basics-bins.xml:
17866         * docs/manual/basics-elements.xml:
17867         * docs/manual/intro-basics.xml:
17868           Some more minor docs additions and updates.
17869
17870 2006-01-11  Wim Taymans  <wim@fluendo.com>
17871
17872         * docs/manual/basics-bins.xml:
17873         * docs/manual/basics-elements.xml:
17874         Some small fixes as pointed out by Ser-ver on IRC.
17875
17876 2006-01-10  Edward Hervey  <edward@fluendo.com>
17877
17878         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
17879         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
17880         the single-segment mode.
17881
17882 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
17883
17884         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17885
17886         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
17887         (gst_base_src_perform_seek), (gst_base_src_send_event),
17888         (gst_base_src_set_property), (gst_base_src_get_property),
17889         (gst_base_src_loop), (gst_base_src_start),
17890         (gst_base_src_activate_push):
17891         * libs/gst/base/gstbasesrc.h:
17892           Name (private) union; makes Sun's Forte compiler happy (#324900).
17893
17894 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
17895
17896         * README:
17897           gst-register is gone.
17898
17899 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
17900
17901         * gst/gstvalue.c: (_gst_value_initialize):
17902           make the G_TYPE_DATE instantiation work if debug is disabled
17903
17904 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
17905
17906         * gst/gstmessage.c: (gst_message_parse_tag),
17907         (gst_message_parse_error), (gst_message_parse_warning):
17908           Don't crash when return location for error/warning debug
17909           string is NULL; add fact that return locations can be
17910           NULL to docs where appropriate.
17911
17912 2006-01-05  Wim Taymans  <wim@fluendo.com>
17913
17914         * gst/gstplugin.c: (gst_plugin_load_file):
17915         Replace strdup by g_strdup.
17916
17917 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17918
17919         * docs/pwg/advanced-types.xml:
17920           fix doc borkage
17921
17922 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17923
17924         submitted by: Abel Cheung
17925
17926         * po/LINGUAS:
17927         * po/zh_TW.po:
17928           Added Chinese (traditional) translation
17929
17930 2006-01-04  Wim Taymans  <wim@fluendo.com>
17931
17932         * docs/manual/basics-pads.xml:
17933         * docs/plugins/Makefile.am:
17934         * docs/plugins/gstreamer-plugins-docs.sgml:
17935         * docs/plugins/gstreamer-plugins-sections.txt:
17936         * docs/pwg/advanced-clock.xml:
17937         * docs/pwg/advanced-scheduling.xml:
17938         * docs/pwg/advanced-types.xml:
17939         * plugins/elements/gstfdsink.c:
17940         * plugins/elements/gstfdsrc.c:
17941         * plugins/elements/gstfdsrc.h:
17942         * plugins/elements/gstidentity.c: (gst_identity_class_init):
17943         * plugins/elements/gstidentity.h:
17944         * plugins/elements/gstqueue.h:
17945         * plugins/elements/gsttee.c:
17946         * plugins/elements/gsttee.h:
17947         * plugins/elements/gsttypefindelement.c:
17948         (gst_type_find_element_class_init):
17949         * plugins/elements/gsttypefindelement.h:
17950         Small updates to various docs.
17951         Added core plugins to docs.
17952
17953 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17954
17955         * common/gst.supp:
17956           add a suppression for liboil's uninitialized variable
17957
17958 2006-01-02  James Livingston  <jrl at ids dot org dot au>
17959
17960         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17961
17962         * gst/gstutils.h:
17963           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
17964           macro, so that gcc doesn't complain if the -Wmissing-prototypes
17965           compiler switch is being used (#325429).
17966
17967 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
17968
17969         * gst/gstbin.c: (gst_bin_query):
17970           Disable duration query caching in bins until it gets
17971           fixed (see #324807).
17972
17973 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
17974
17975         * tools/gst-inspect.c: (print_element_properties_info):
17976           Handle properties of POINTER and BOXED type.
17977
17978 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
17979
17980         * gst/gst.c: (init_post):
17981           Init tags stuff and some other things before loading
17982           any static plugins (there may be other static plugins
17983           than just the GStreamer ones, and they may want to
17984           register their own tags or formats or whatever, and
17985           preferably without segfaulting).
17986
17987         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
17988           Print at least a warning in the debug logs if we drop a
17989           query just because we don't know how to adjust the value
17990           in the particular format.
17991
17992 2005-12-24  David Schleef  <ds@schleef.org>
17993
17994         * tools/gstreamer-completion:
17995           Replacement for gst-complete written in sh and sed.  Only
17996           completes names of features, but that's 90% of what I want
17997           it for.  Properties are not available in registry.xml.  (Maybe
17998           they should be...)
17999
18000 === release 0.10.1 ===
18001
18002 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
18003
18004         * configure.ac:
18005           releasing 0.10.1, "Nollaig chridheil"
18006
18007 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
18008
18009         * docs/faq/cvs.xml:
18010           Add missing quote, should be make ERROR_CFLAGS="".
18011
18012 2005-12-20  Wim Taymans  <wim@fluendo.com>
18013
18014         * docs/design/part-trickmodes.txt:
18015         More documentation on trickmodes.
18016
18017 2005-12-20  Edward Hervey  <edward@fluendo.com>
18018
18019         * gst/gstcaps.c: (gst_static_caps_get_type):
18020         * gst/gstcaps.h:
18021           API addition: GST_TYPE_STATIC_CAPS
18022         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
18023         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
18024         * gst/gstpadtemplate.h:
18025           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
18026         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
18027         bindings.
18028
18029 2005-12-18  Wim Taymans  <wim@fluendo.com>
18030
18031         * libs/gst/base/gstadapter.c:
18032         * libs/gst/base/gstadapter.h:
18033         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
18034         (gst_base_sink_get_position):
18035         * libs/gst/base/gstbasesink.h:
18036         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18037         (gst_base_src_default_query), (gst_base_src_default_do_seek),
18038         (gst_base_src_do_seek), (gst_base_src_perform_seek),
18039         (gst_base_src_send_event), (gst_base_src_update_length),
18040         (gst_base_src_get_range), (gst_base_src_loop),
18041         (gst_base_src_start):
18042         * libs/gst/base/gstbasesrc.h:
18043         * libs/gst/base/gstbasetransform.h:
18044         * libs/gst/base/gstcollectpads.h:
18045         * libs/gst/base/gstpushsrc.c:
18046         * libs/gst/base/gstpushsrc.h:
18047         * libs/gst/dataprotocol/dataprotocol.c:
18048         * libs/gst/dataprotocol/dataprotocol.h:
18049         * libs/gst/net/gstnetclientclock.h:
18050         * libs/gst/net/gstnettimeprovider.h:
18051         Documentation updates.
18052
18053 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
18054
18055         * docs/manual/basics-helloworld.xml:
18056           Remove superfluous closing bracket in helloworld example.
18057
18058 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
18059
18060         * tools/gst-launch.1.in:
18061           Update gst-launch man page; add a section with useful
18062           environment variables. Fixes #323882.
18063
18064 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
18065
18066         * gst/gst.c:
18067         * gst/gst_private.h:
18068           change some char* into char[]
18069
18070 2005-12-16  Wim Taymans  <wim@fluendo.com>
18071
18072         * gst/gstregistryxml.c: (load_feature):
18073         Cleanups.
18074         Don't use g_object_unref on GstObjects so that we avoid
18075         leaks on unsafe glibs.
18076
18077 2005-12-16  Wim Taymans  <wim@fluendo.com>
18078
18079         * gst/gstbin.c: (gst_bin_recalc_state):
18080         Small doc updates.
18081
18082 2005-12-16  Wim Taymans  <wim@fluendo.com>
18083
18084         * common/check.mak:
18085         Added make forever target for check.
18086
18087 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18088
18089         * gst/gst.c: (init_post):
18090           make the registry cache file HOST_CPU-dependent
18091
18092 2005-12-16  Andy Wingo  <wingo@pobox.com>
18093
18094         * plugins/elements/gstbufferstore.c
18095         (gst_buffer_store_cleared_func): Pay attention to g_list_append
18096         return value.
18097
18098         * tests/check/gst/gstobject.c
18099         (test_fake_object_name_threaded_unique): Pay attention to
18100         g_list_sort return value.
18101
18102 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
18103
18104         * tools/gst-feedback-m.m:
18105           Update for 0.9/0.10 (fixes #323870).
18106
18107 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
18108
18109         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
18110           Fix lcopy for mini objects, the mini object needs to be ref'ed.
18111           
18112         * tests/check/gst/gstminiobject.c: (my_foo_init),
18113         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
18114         (test_value_collection), (gst_mini_object_suite):
18115           Add test to ensure refcounts end up as expected when passing
18116           GstMiniObjects through g_object_get() and g_object_set().
18117
18118 2005-12-14  Julien MOUTTE  <julien@moutte.net>
18119
18120         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18121         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
18122         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
18123         of collectpads. This version removes a lot of races without
18124         touching API/ABI. Yay !
18125
18126 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
18127
18128         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
18129           Don't allow activation of a srcpad in pull_range if it has no
18130           getrange function.
18131           Change some debug statements to be a little clearer
18132
18133         * plugins/elements/gsttypefindelement.c:
18134         (gst_type_find_handle_src_query):
18135           Check that we have a peer before executing queries thereupon.
18136
18137         * tests/examples/metadata/read-metadata.c: (message_loop):
18138           Use gst_bus_pop instead of gst_bus_poll when we just want it to
18139           immediately return us any available message with 0 timeout.
18140
18141 2005-12-12  Michael Smith  <msmith@fluendo.com>
18142
18143         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
18144           Don't unref factories after calling them.
18145         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
18146         * plugins/elements/gsttypefindelement.c:
18147         (gst_type_find_element_chain):
18148           Free lists of factories after using them. Fixing typefinding memory
18149           leaks.
18150
18151 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18152
18153         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
18154         (gst_plugin_feature_load):
18155           more meaningful debug output
18156         * configure.ac:
18157         * tests/Makefile.am:
18158         * tests/old/examples/Makefile.am:
18159           make make distcheck happy again
18160
18161 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18162
18163         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
18164           Catch the special case where we are operating chain-based,
18165           but the downstream peer pad has no chain function. Emit a
18166           custom error message in this case instead of letting the
18167           core generate one implying that this is some sort of core
18168           bug. It's not, it just means that whatever got plugged
18169           into the pipeline downstream when we announced the type
18170           can only operate pull-based, while our source can only
18171           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
18172           Error string has not been marked for translation yet, as
18173           it probably needs some more work first.
18174
18175         (gst_type_find_element_get_best_possibility):
18176           Add helper function to find the best of all available
18177           found possibilities that qualify given the min. threshold.
18178
18179         (gst_type_find_element_handle_event):
18180           Fix the case where we get an EOS while still in TYPEFIND
18181           mode (we want to chose the best of all possible types,
18182           not just the first type that happens to be in our unsorted
18183           list of possible types).
18184
18185         (gst_type_find_element_chain):
18186           Make sure we return GST_FLOW_ERROR when we errored out
18187           in stop_typefinding(); also, don't just find the best of
18188           all found type entries and then use the last examined
18189           type entry, but actually use the best entry.
18190
18191 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18192
18193         * tests/examples/typefind/typefind.c: (type_found):
18194         * tests/examples/xml/runxml.c: (xml_loaded):
18195           More gcc4 fixes and a mem leak fix.
18196
18197 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18198
18199         * tests/examples/xml/createxml.c: (object_saved):
18200           gcc 4 fixes
18201
18202 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18203
18204         * tests/Makefile.am:
18205           enable the examples even more
18206
18207 2005-12-12  Andy Wingo  <wingo@pobox.com>
18208
18209         * libs/gst/net/gstnettimeprovider.c
18210         (gst_net_time_provider_class_init, gst_net_time_provider_init)
18211         (gst_net_time_provider_set_property)
18212         (gst_net_time_provider_get_property):
18213         API addition: Export "active" as a GObject property.
18214         (gst_net_time_provider_thread): Only respond to time queries if
18215         the time provider is active.
18216
18217         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
18218         NetTimeProvider, preserving binary compat.
18219
18220 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18221
18222         * tests/examples/controller/audio-example.c: (main):
18223         * tests/examples/launch/Makefile.am:
18224           convert comments again
18225
18226 2005-12-12  Wim Taymans  <wim@fluendo.com>
18227
18228         * libs/gst/base/gstpushsrc.c:
18229         Fix typo.
18230
18231 2005-12-12  Wim Taymans  <wim@fluendo.com>
18232
18233         * docs/libs/gstreamer-libs-sections.txt:
18234         Added new symbol to docs.
18235
18236         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18237         (gst_base_src_init), (gst_base_src_set_format),
18238         (gst_base_src_default_query), (gst_base_src_query),
18239         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
18240         (gst_base_src_perform_seek), (gst_base_src_send_event),
18241         (gst_base_src_default_event), (gst_base_src_event_handler),
18242         (gst_base_src_set_property), (gst_base_src_get_property),
18243         (gst_base_src_wait), (gst_base_src_do_sync),
18244         (gst_base_src_update_length), (gst_base_src_get_range),
18245         (gst_base_src_check_get_range), (gst_base_src_loop),
18246         (gst_base_src_default_negotiate), (gst_base_src_start),
18247         (gst_base_src_activate_push), (gst_base_src_activate_pull),
18248         (gst_base_src_change_state):
18249         * libs/gst/base/gstbasesrc.h:
18250         Implement seeking to other formats than _BYTES.
18251         Implement more seeking methods correctly.
18252         Doc updates.
18253         Added query vmethod.
18254         Added do_seek vmethod to make life easier for subclasses
18255         when seeking.
18256         API addition: gst_base_src_set_format()
18257
18258 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18259
18260         * tests/examples/Makefile.am:
18261           added that too
18262
18263 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18264
18265         * configure.ac:
18266         * docs/random/ensonic/media-device-daemon.txt:
18267         * tests/examples/controller/.cvsignore:
18268         * tests/examples/controller/Makefile.am:
18269         * tests/examples/controller/audio-example.c: (main):
18270         * tests/examples/helloworld/.cvsignore:
18271         * tests/examples/helloworld/Makefile.am:
18272         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
18273         * tests/examples/launch/.cvsignore:
18274         * tests/examples/launch/Makefile.am:
18275         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
18276         * tests/examples/metadata/.cvsignore:
18277         * tests/examples/metadata/Makefile.am:
18278         * tests/examples/metadata/read-metadata.c: (message_loop),
18279         (make_pipeline), (print_tag), (main):
18280         * tests/examples/queue/.cvsignore:
18281         * tests/examples/queue/Makefile.am:
18282         * tests/examples/queue/queue.c: (event_loop), (main):
18283         * tests/examples/typefind/.cvsignore:
18284         * tests/examples/typefind/Makefile.am:
18285         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
18286         (main):
18287         * tests/examples/xml/.cvsignore:
18288         * tests/examples/xml/Makefile.am:
18289         * tests/examples/xml/createxml.c: (object_saved), (main):
18290         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
18291         * tests/old/examples/Makefile.am:
18292         * tests/old/examples/TODO:
18293         * tests/old/examples/controller/.cvsignore:
18294         * tests/old/examples/controller/Makefile.am:
18295         * tests/old/examples/controller/audio-example.c:
18296         * tests/old/examples/helloworld/.cvsignore:
18297         * tests/old/examples/helloworld/Makefile.am:
18298         * tests/old/examples/helloworld/helloworld.c:
18299         * tests/old/examples/launch/.cvsignore:
18300         * tests/old/examples/launch/Makefile.am:
18301         * tests/old/examples/launch/mp3parselaunch.c:
18302         * tests/old/examples/launch/mp3play:
18303         * tests/old/examples/manual/Makefile.am:
18304         * tests/old/examples/metadata/Makefile.am:
18305         * tests/old/examples/metadata/read-metadata.c:
18306         * tests/old/examples/queue/.cvsignore:
18307         * tests/old/examples/queue/Makefile.am:
18308         * tests/old/examples/queue/queue.c:
18309         * tests/old/examples/typefind/.cvsignore:
18310         * tests/old/examples/typefind/Makefile.am:
18311         * tests/old/examples/typefind/typefind.c:
18312         * tests/old/examples/xml/.cvsignore:
18313         * tests/old/examples/xml/Makefile.am:
18314         * tests/old/examples/xml/createxml.c:
18315         * tests/old/examples/xml/runxml.c:
18316           applied some simple fixing to some examples
18317           re-enabled the working examples
18318
18319 2005-12-12  Wim Taymans  <wim@fluendo.com>
18320
18321         * gst/gstsegment.c: (gst_segment_init),
18322         (gst_segment_set_last_stop), (gst_segment_set_seek),
18323         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18324         (gst_segment_to_running_time):
18325         Added more documentation.
18326         Make sure the last_pos value is updated properly.
18327         Make sure to_stream_time and to_running_time don't
18328         operate on wrong values.
18329
18330         * tests/check/gst/gstsegment.c: (GST_START_TEST):
18331         Update check.
18332
18333 2005-12-12  Michael Smith  <msmith@fluendo.com>
18334
18335         * plugins/elements/gsttypefindelement.c: (free_entry),
18336         (gst_type_find_element_chain):
18337           Now that we're not leaking factories, make sure we keep references
18338           to them while we need them.
18339
18340 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18341
18342         * tests/check/gst/struct_i386.h:
18343           ifdef out the XML structs
18344
18345 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18346
18347         * gst/gstvalue.c: (gst_value_transform_double_fraction):
18348           floor is not needed, F is always positive; this obviates the
18349           need for adding -lm when building without libxml
18350
18351 2005-12-12  Wim Taymans  <wim@fluendo.com>
18352
18353         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18354         Take current playback rate into account when reporting
18355         the position.
18356
18357 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18358
18359         * docs/manual/mime-world.fig:
18360           Let's try this again, this time with a file that is
18361           actually in XFig format.
18362
18363 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18364
18365         * docs/manual/mime-world.fig:
18366           Add audioconvert element to diagram so that it
18367           matches the text and the code (fixes #319526).
18368
18369 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18370
18371         * docs/pwg/building-chainfn.xml:
18372         * docs/pwg/building-pads.xml:
18373         * docs/pwg/building-state.xml:
18374         * docs/pwg/other-source.xml:
18375           Update state change stuff for 0.10 (fixes #322969).
18376
18377 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18378
18379         * docs/manual/advanced-dataaccess.xml:
18380         * docs/manual/appendix-checklist.xml:
18381         * docs/manual/appendix-programs.xml:
18382         * docs/manual/basics-pads.xml:
18383         * docs/manual/highlevel-components.xml:
18384         * docs/manual/manual.xml:
18385           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
18386           add converters in front of pipelines; remove curly
18387           brackets for threads stuff, they no longer exist; use
18388           GST_TYPE_FRACTION for framerates; update some pieces of
18389           code to 0.10, but there's plenty more to do.
18390
18391         * docs/manual/appendix-porting.xml:
18392           Expand on asynchroneous state changes; s/0.9/0.10/;
18393           mention disappearance of gst_init_get_popt_table()
18394           (fixes #322916).
18395
18396 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18397
18398         * docs/faq/using.xml:
18399           Spider no longer exists, and neither does gst-launch-ext.
18400           Update examples to use decodebin and playbin and put
18401           converters in front of sinks (fixes #323726).
18402
18403 2005-12-09  Michael Smith  <msmith@fluendo.com>
18404
18405         * plugins/elements/gsttypefindelement.c: (find_peek),
18406         (gst_type_find_element_chain):
18407           Fix leaking element factories in typefinding.
18408           Fix problem where we forgot about a probable type on non-seekable
18409           files, and thus later mis-typefound it.
18410
18411 2005-12-09  Michael Smith  <msmith@fluendo.com>
18412
18413         * common/m4/gst-makecontext.m4:
18414         * common/m4/gst-mcsc.m4:
18415         * configure.ac:
18416         * win32/common/config.h:
18417         * win32/common/config.h.in:
18418           Remove makecontext stuff; not used in 0.10 and causes problems on
18419           HPUX according to bug #322441
18420
18421 2005-12-07  Wim Taymans  <wim@fluendo.com>
18422
18423         * tests/check/Makefile.am:
18424         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
18425         (main):
18426         * tests/check/libs/struct_i386.h:
18427         Added ABI check for libs
18428
18429 2005-12-07  Wim Taymans  <wim@fluendo.com>
18430
18431         * tests/check/Makefile.am:
18432         And add the struct_i386.h to dist.
18433
18434 2005-12-07  Wim Taymans  <wim@fluendo.com>
18435
18436         * tests/check/Makefile.am:
18437         * tests/check/gst/.cvsignore:
18438         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
18439         (main):
18440         * tests/check/gst/struct_i386.h:
18441         Added check for ABI compatibility.
18442
18443 2005-12-07  Wim Taymans  <wim@fluendo.com>
18444
18445         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18446         (gst_fake_src_get_times), (gst_fake_src_create):
18447         Fix broken sync option, fixes #323259
18448
18449 2005-12-07  Wim Taymans  <wim@fluendo.com>
18450
18451         * gst/gstbuffer.c:
18452         Small docs update.
18453
18454         * gst/gstcaps.c: (gst_caps_is_equal):
18455         Don't assert on NULL <--> X. Fixes #323260
18456
18457         * gst/gstminiobject.c: (gst_mini_object_replace):
18458         If we're doing atomic operations, we might just as well use
18459         the proper way to get an atomic pointer.
18460
18461         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18462         Clean up debugging.
18463
18464 2005-12-07  Michael Smith  <msmith@fluendo.com>
18465
18466         * gst/parse/grammar.y:
18467           Remove handling of { } for threads.
18468
18469 2005-12-06  David Schleef  <ds@schleef.org>
18470
18471         * libs/gst/base/gstbasetransform.c: speling fix.
18472
18473 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18474
18475         * docs/libs/tmpl/gstdataprotocol.sgml:
18476         * docs/random/omega/testing/gstobject.c:
18477         * gst/gst.c:
18478         * gst/gstclock.c:
18479         * gst/gstelement.c:
18480         * gst/gstelementfactory.c:
18481         * gst/gsterror.c:
18482         * gst/gstevent.c:
18483         * gst/gstghostpad.c:
18484         * gst/gstinfo.c:
18485         * gst/gstpadtemplate.c:
18486         * gst/gstregistryxml.c:
18487         * gst/gsttaglist.c:
18488         * gst/gsttagsetter.c:
18489         * gst/gsttypefind.c:
18490         * gst/gstvalue.c:
18491         * libs/gst/base/gstbasesrc.c:
18492         * libs/gst/net/gstnetclientclock.c:
18493         * libs/gst/net/gstnettimeprovider.c:
18494         * plugins/elements/gstfakesrc.c:
18495         * plugins/elements/gstfdsrc.c:
18496         * plugins/elements/gstfilesrc.c:
18497         * plugins/elements/gstidentity.c:
18498         * plugins/elements/gstqueue.c:
18499         * plugins/elements/gsttypefindelement.c:
18500         * plugins/indexers/gstfileindex.c:
18501         * plugins/indexers/gstmemindex.c:
18502         * tests/check/gst/gsttag.c:
18503         * tests/old/examples/cutter/cutter.c:
18504         * tests/old/examples/mixer/mixer.c:
18505         * tests/old/examples/xml/runxml.c: (main):
18506         * tests/old/testsuite/caps/normalisation.c:
18507         * tests/old/testsuite/debug/global.c:
18508         * tests/old/testsuite/parse/parse1.c:
18509         * tools/gst-xmlinspect.c:
18510         * win32/common/dirent.c:
18511           expand tabs
18512
18513 === release 0.10.0 ===
18514
18515 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18516
18517         * configure.ac:
18518           releasing 0.10.0, "Maroilles"
18519
18520 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18521
18522         submitted by: Funda Wang <fundawang@linux.net.cn>
18523
18524         * po/LINGUAS:
18525         * po/zh_CN.po:
18526           added Chinese (Traditional) translation
18527
18528 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18529
18530         * docs/gst/gstreamer-sections.txt:
18531         * docs/libs/tmpl/gstdataprotocol.sgml:
18532         * docs/random/thomasvs/TODO:
18533         * gst/gstutils.c:
18534         * gst/gstutils.h:
18535           fix docs
18536
18537 2005-12-05  Andy Wingo  <wingo@pobox.com>
18538
18539         patch by: Wim Taymans <wim@fluendo.com>
18540
18541         * libs/gst/base/gstbasetransform.c
18542         (gst_base_transform_prepare_output_buf)
18543         (gst_base_transform_buffer_alloc):
18544         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
18545         alloc_buffer_and_set_caps.
18546
18547         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
18548         set_caps on the source pad.
18549         (gst_pad_alloc_buffer_and_set_caps): New function, does what
18550         alloc_buffer used to do. Fixes #322874.
18551
18552         * docs/gst/gstreamer-sections.txt: 
18553         * docs/design/part-negotiation.txt: 
18554         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
18555         changes.
18556
18557 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18558
18559         patch by: Sebastien Moutte
18560
18561         * win32/MANIFEST:
18562         * win32/common/config.h.in:
18563         * win32/vs6/libgstcontroller.dsp:
18564           win32 build fixes
18565
18566 2005-12-05  Wim Taymans  <wim@fluendo.com>
18567
18568         * gst/gstcaps.c: (gst_caps_is_equal):
18569         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18570         (gst_fake_src_create):
18571         Back out previous code changes, leave doc updates, file bugs 
18572         instead. 
18573
18574 2005-12-05  Wim Taymans  <wim@fluendo.com>
18575
18576         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18577         (gst_fake_src_get_times), (gst_fake_src_create):
18578         * plugins/elements/gstfakesrc.h:
18579         Fix broken sync code.
18580
18581 2005-12-05  Wim Taymans  <wim@fluendo.com>
18582
18583         * gst/gstcaps.c: (gst_caps_is_equal):
18584         Comparing NULL against !NULL yields different caps, not a
18585         failure.
18586
18587 2005-12-05  Wim Taymans  <wim@fluendo.com>
18588
18589         * gst/gstpipeline.c:
18590         Fix small typo in docs.
18591
18592 2005-12-05  Andy Wingo  <wingo@pobox.com>
18593
18594         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
18595
18596         * gst/gst.c (init_post): remove hard-coded 0.9 location for
18597         registries/plugins with a MAJORMINOR one.
18598         (plugin_desc): Rename library from gstcoreleements to
18599         staticelements. Fixes #323222.
18600
18601 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
18602
18603         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
18604           Change debug category to 'collectpads' from 'collect_pads'
18605           (fixes #323250).
18606
18607 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
18608
18609         patch by: Sebastien Moutte
18610
18611         * libs/gst/controller/gstinterpolation.c:
18612           use convert function for uint64/double
18613         * win32/vs6/libgstcontroller.dsp:
18614           link to GLib
18615
18616 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
18617
18618         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
18619         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
18620         * gst/gstutils.h:
18621         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18622           add tests that seem to show that the guint64/gdouble conversions
18623           are correct.
18624
18625 2005-12-02  Wim Taymans  <wim@fluendo.com>
18626
18627         * gst/gstregistry.c: (gst_registry_add_path):
18628         * gst/gstregistry.h:
18629         * gst/gstregistryxml.c:
18630         Fix docs again.
18631
18632 2005-12-02  Wim Taymans  <wim@fluendo.com>
18633
18634         * gst/gstutils.c: (gst_util_uint64_scale_int64),
18635         (gst_util_uint64_scale_int):
18636         Small cleanup.
18637
18638         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18639         Add debug log line.
18640
18641         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
18642         Add FIXME.
18643
18644 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18645
18646         * win32/MANIFEST:
18647         * win32/common/config.h:
18648         * win32/vs6/gstreamer.dsw:
18649         * win32/vs6/libgstcoreelements.dsp:
18650         * win32/vs6/libgstelements.dsp:
18651           renamed core elements plugin
18652
18653 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18654
18655         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
18656         (get_candidates):
18657           do piece-wise major/minor comparison so 0.9 < 0.10
18658           also allow .exe extensions for tools
18659
18660 2005-12-02  Michael Smith  <msmith@fluendo.com>
18661
18662         * gst/gst.c:
18663           Escape a % to make gtkdoc happier; bug 322958.
18664
18665 === release 0.9.7 ===
18666
18667 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18668
18669         * configure.ac:
18670           releasing 0.9.7, "My Dog Has No Nose"
18671
18672 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18673
18674         * common/gst-xmlinspect.py:
18675         * configure.ac:
18676         * docs/libs/tmpl/gstdataprotocol.sgml:
18677         * docs/random/release:
18678         * po/af.po:
18679         * po/az.po:
18680         * po/bg.po:
18681         * po/ca.po:
18682         * po/cs.po:
18683         * po/de.po:
18684         * po/en_GB.po:
18685         * po/fr.po:
18686         * po/it.po:
18687         * po/nb.po:
18688         * po/nl.po:
18689         * po/ru.po:
18690         * po/sq.po:
18691         * po/sr.po:
18692         * po/sv.po:
18693         * po/tr.po:
18694         * po/uk.po:
18695         * po/vi.po:
18696         * win32/common/config.h:
18697         * win32/common/config.h.in:
18698         * win32/vs6/gst_inspect.dsp:
18699         * win32/vs6/gst_launch.dsp:
18700         * win32/vs6/libgstbase.dsp:
18701         * win32/vs6/libgstelements.dsp:
18702         * win32/vs6/libgstreamer.dsp:
18703         * win32/vs7/GStreamer.vcproj:
18704         * win32/vs7/gst-inspect.vcproj:
18705         * win32/vs7/gst-launch.vcproj:
18706         * win32/vs7/libgstbase.vcproj:
18707           bump GST_MAJORMINOR to 0.10
18708           reset libtool version
18709
18710 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18711
18712         * po/LINGUAS:
18713         * po/bg.po:
18714           Added Bulgarian translation by (Alexander Shopov)
18715
18716 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18717
18718         * tests/check/gst/gstplugin.c:
18719           fix test
18720
18721 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18722
18723         * common/gst-xmlinspect.py:
18724         * common/gtk-doc-plugins.mak:
18725         * configure.ac:
18726         * docs/Makefile.am:
18727         * docs/gst/Makefile.am:
18728         * docs/gst/gstreamer-docs.sgml:
18729         * docs/gst/gstreamer-sections.txt:
18730         * docs/gst/gstreamer.types:
18731         * docs/gst/gstreamer.types.in:
18732         * docs/plugins/Makefile.am:
18733         * docs/plugins/gstreamer-plugins-docs.sgml:
18734         * docs/plugins/gstreamer-plugins-sections.txt:
18735         * docs/plugins/gstreamer-plugins.types:
18736         * docs/plugins/inspect.stamp:
18737         * docs/plugins/inspect/plugin-coreelements.xml:
18738         * docs/plugins/inspect/plugin-coreindexers.xml:
18739         * docs/plugins/scanobj-build.stamp:
18740         * gstreamer.spec.in:
18741         * plugins/elements/Makefile.am:
18742         * plugins/elements/gstelements.c:
18743         * plugins/elements/gstfakesink.c:
18744         * plugins/elements/gstfakesrc.c:
18745         * plugins/elements/gstfilesink.c:
18746         * plugins/elements/gstfilesrc.c:
18747         * plugins/elements/gstqueue.c:
18748         * plugins/indexers/Makefile.am:
18749         * plugins/indexers/gstindexers.c:
18750           document core plugins in a separate document just like all the
18751           others
18752           rename these plugins to something starting with core
18753
18754 2005-12-01  Andy Wingo  <wingo@pobox.com>
18755
18756         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
18757         padding here before, but it missed the commit.
18758
18759 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
18760
18761         * libs/gst/controller/gstinterpolation.c:
18762           whitespace prices have crashed, we should feel free to use some now
18763           use gst_guint64_to_gdouble
18764
18765 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
18766
18767         * libs/gst/controller/gstcontroller.c:
18768         * libs/gst/controller/gsthelper.c:
18769         * libs/gst/controller/gstinterpolation.c:
18770         * libs/gst/controller/lib.c:
18771           wrap config.h include
18772
18773 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
18774
18775         * docs/gst/gstreamer-sections.txt:
18776           update docs
18777
18778 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
18779
18780         * plugins/elements/gstelements.c:
18781         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
18782         (gst_fd_sink__class_init), (gst_fd_sink__init),
18783         (gst_fd_sink__chain), (gst_fd_sink__set_property),
18784         (gst_fd_sink__get_property):
18785         * plugins/elements/gstfdsink.h:
18786         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
18787         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
18788         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
18789         (gst_fd_src_unlock), (gst_fd_src_set_property),
18790         (gst_fd_src_get_property), (gst_fd_src_create),
18791         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
18792         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
18793         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
18794         (gst_fd_src_uri_handler_init):
18795         * plugins/elements/gstfdsrc.h:
18796         * plugins/elements/gstqueue.c: (gst_queue_get_type):
18797           more anal cleanup
18798
18799 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18800
18801         * docs/gst/Makefile.am:
18802         * docs/gst/gstreamer.types.in:
18803         * gst/Makefile.am:
18804           fix the docs build
18805
18806 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18807
18808         * configure.ac:
18809         * gst/Makefile.am:
18810         * gst/gst.c:
18811         * gst/gstplugin.h:
18812         * gst/gstregistry.h:
18813         * tests/benchmarks/complexity.c:
18814         * tests/benchmarks/mass-elements.c:
18815         * tests/check/Makefile.am:
18816         * tools/Makefile.am:
18817         * tools/gst-inspect.c:
18818         * tools/gst-xmlinspect.c:
18819           various fixes to make
18820           --disable-nls --disable-registry --disable-loadsave
18821           --disable-parse --disable-gst-debug
18822           work and get the core .so down to 360444 bytes after stripping
18823
18824 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18825
18826         * Makefile.am:
18827         * configure.ac:
18828           descend into tests
18829         * docs/random/thomasvs/TODO:
18830         * tests/Makefile.am:
18831         * tests/README:
18832           add a README
18833
18834 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18835
18836         * win32/GStreamer.vcproj:
18837         * win32/MANIFEST:
18838         * win32/Makefile:
18839         * win32/Makefile.inspect:
18840         * win32/Makefile.launch:
18841         * win32/Makefile.register:
18842         * win32/README.txt:
18843         * win32/gst-inspect.vcproj:
18844         * win32/gst-launch.vcproj:
18845         * win32/gst-register.vcproj:
18846         * win32/gstelements.vcproj:
18847         * win32/gstgetbits.def:
18848         * win32/gstgetbits.vcproj:
18849         * win32/gstreamer-dbg.def:
18850         * win32/gstreamer.def:
18851         * win32/libgstbase.def:
18852         * win32/libgstbase.vcproj:
18853         * win32/link_oldruntime.c:
18854         * win32/mman.c:
18855         * win32/mman.h:
18856         * win32/mman.inl:
18857         * win32/msvc71.sln:
18858           move even more stuff, win32/ is nice and clean now
18859
18860 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18861
18862         * libs/gst/control/.cvsignore:
18863         * win32/MANIFEST:
18864         * win32/config.h:
18865         * win32/dirent.c:
18866         * win32/dirent.h:
18867         * win32/gstbytestream.def:
18868         * win32/gstbytestream.vcproj:
18869         * win32/gstconfig.h:
18870         * win32/gstenumtypes.c:
18871         * win32/gstenumtypes.h:
18872         * win32/gstoptimalscheduler.vcproj:
18873         * win32/gstversion.h:
18874         * win32/gtchar.h:
18875         * win32/testsuite/bins.vcproj:
18876         * win32/testsuite/bytestream.vcproj:
18877         * win32/testsuite/caps.vcproj:
18878         * win32/testsuite/cleanup.vcproj:
18879         * win32/testsuite/clock.vcproj:
18880         * win32/testsuite/debug.vcproj:
18881         * win32/testsuite/dlopen.vcproj:
18882         * win32/testsuite/dynparams.vcproj:
18883         * win32/testsuite/elements.vcproj:
18884         * win32/testsuite/ghostpads.vcproj:
18885         * win32/testsuite/indexers.vcproj:
18886         * win32/testsuite/negotiation.vcproj:
18887         * win32/testsuite/parse.vcproj:
18888         * win32/testsuite/plugin.vcproj:
18889         * win32/testsuite/refcounting.vcproj:
18890         * win32/testsuite/schedulers.vcproj:
18891         * win32/testsuite/states.vcproj:
18892         * win32/testsuite/tags.vcproj:
18893         * win32/testsuite/threads.vcproj:
18894           remove old win32 stuff that isn't maintained and should be
18895           reorganized
18896
18897 2005-11-30  Andy Wingo  <wingo@pobox.com>
18898
18899         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
18900         loading the gst.interfaces python module bork.
18901
18902         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
18903         available since GLib 2.2. Fixes #318031.
18904
18905 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18906
18907         * Makefile.am:
18908         * check/.cvsignore:
18909         * check/Makefile.am:
18910         * check/elements/.cvsignore:
18911         * check/elements/fakesrc.c:
18912         * check/elements/fdsrc.c:
18913         * check/elements/identity.c:
18914         * check/generic/.cvsignore:
18915         * check/generic/states.c:
18916         * check/gst-libs/.cvsignore:
18917         * check/gst-libs/controller.c:
18918         * check/gst-libs/gdp.c:
18919         * check/gst/.cvsignore:
18920         * check/gst/capslist.h:
18921         * check/gst/gst.c:
18922         * check/gst/gstbin.c:
18923         * check/gst/gstbuffer.c:
18924         * check/gst/gstbus.c:
18925         * check/gst/gstcaps.c:
18926         * check/gst/gstelement.c:
18927         * check/gst/gstevent.c:
18928         * check/gst/gstghostpad.c:
18929         * check/gst/gstiterator.c:
18930         * check/gst/gstmessage.c:
18931         * check/gst/gstminiobject.c:
18932         * check/gst/gstobject.c:
18933         * check/gst/gstpad.c:
18934         * check/gst/gstpipeline.c:
18935         * check/gst/gstplugin.c:
18936         * check/gst/gstsegment.c:
18937         * check/gst/gststructure.c:
18938         * check/gst/gstsystemclock.c:
18939         * check/gst/gsttag.c:
18940         * check/gst/gstutils.c:
18941         * check/gst/gstvalue.c:
18942         * check/net/.cvsignore:
18943         * check/net/gstnetclientclock.c:
18944         * check/net/gstnettimeprovider.c:
18945         * check/pipelines/.cvsignore:
18946         * check/pipelines/cleanup.c:
18947         * check/pipelines/simple_launch_lines.c:
18948         * check/pipelines/stress.c:
18949         * check/states/.cvsignore:
18950         * check/states/sinks.c:
18951         * configure.ac:
18952         * examples/Makefile.am:
18953         * examples/appreader/.cvsignore:
18954         * examples/appreader/Makefile.am:
18955         * examples/appreader/appreader.c:
18956         * examples/controller/.cvsignore:
18957         * examples/controller/Makefile.am:
18958         * examples/controller/audio-example.c:
18959         * examples/cutter/.cvsignore:
18960         * examples/cutter/Makefile.am:
18961         * examples/cutter/cutter.c:
18962         * examples/cutter/cutter.h:
18963         * examples/events/Makefile.am:
18964         * examples/events/seek.c:
18965         * examples/helloworld/.cvsignore:
18966         * examples/helloworld/Makefile.am:
18967         * examples/helloworld/helloworld.c:
18968         * examples/helloworld2/.cvsignore:
18969         * examples/helloworld2/Makefile.am:
18970         * examples/helloworld2/helloworld2.c:
18971         * examples/launch/.cvsignore:
18972         * examples/launch/Makefile.am:
18973         * examples/launch/mp3parselaunch.c:
18974         * examples/launch/mp3play:
18975         * examples/manual/.cvsignore:
18976         * examples/manual/Makefile.am:
18977         * examples/manual/extract.pl:
18978         * examples/metadata/Makefile.am:
18979         * examples/metadata/read-metadata.c:
18980         * examples/mixer/.cvsignore:
18981         * examples/mixer/Makefile.am:
18982         * examples/mixer/mixer.c:
18983         * examples/mixer/mixer.h:
18984         * examples/pingpong/.cvsignore:
18985         * examples/pingpong/Makefile.am:
18986         * examples/pingpong/pingpong.c:
18987         * examples/plugins/.cvsignore:
18988         * examples/plugins/Makefile.am:
18989         * examples/plugins/example.c:
18990         * examples/plugins/example.h:
18991         * examples/pwg/.cvsignore:
18992         * examples/pwg/Makefile.am:
18993         * examples/pwg/extract.pl:
18994         * examples/queue/.cvsignore:
18995         * examples/queue/Makefile.am:
18996         * examples/queue/queue.c:
18997         * examples/queue2/.cvsignore:
18998         * examples/queue2/Makefile.am:
18999         * examples/queue2/queue2.c:
19000         * examples/queue3/.cvsignore:
19001         * examples/queue3/Makefile.am:
19002         * examples/queue3/queue3.c:
19003         * examples/queue4/.cvsignore:
19004         * examples/queue4/Makefile.am:
19005         * examples/queue4/queue4.c:
19006         * examples/retag/.cvsignore:
19007         * examples/retag/Makefile.am:
19008         * examples/retag/retag.c:
19009         * examples/retag/transcode.c:
19010         * examples/thread/.cvsignore:
19011         * examples/thread/Makefile.am:
19012         * examples/thread/thread.c:
19013         * examples/typefind/.cvsignore:
19014         * examples/typefind/Makefile.am:
19015         * examples/typefind/typefind.c:
19016         * examples/xml/.cvsignore:
19017         * examples/xml/Makefile.am:
19018         * examples/xml/createxml.c:
19019         * examples/xml/runxml.c:
19020         * tests/Makefile.am:
19021         * tests/check/Makefile.am:
19022         * testsuite/.cvsignore:
19023         * testsuite/Makefile.am:
19024         * testsuite/Rules:
19025         * testsuite/caps/.cvsignore:
19026         * testsuite/caps/Makefile.am:
19027         * testsuite/caps/app_fixate.c:
19028         * testsuite/caps/audioscale.c:
19029         * testsuite/caps/caps.c:
19030         * testsuite/caps/caps.h:
19031         * testsuite/caps/caps_strings:
19032         * testsuite/caps/compatibility.c:
19033         * testsuite/caps/deserialize.c:
19034         * testsuite/caps/enumcaps.c:
19035         * testsuite/caps/eratosthenes.c:
19036         * testsuite/caps/filtercaps.c:
19037         * testsuite/caps/fixed.c:
19038         * testsuite/caps/fraction-convert.c:
19039         * testsuite/caps/fraction-multiply-and-zero.c:
19040         * testsuite/caps/intersect2.c:
19041         * testsuite/caps/intersection.c:
19042         * testsuite/caps/normalisation.c:
19043         * testsuite/caps/random.c:
19044         * testsuite/caps/renegotiate.c:
19045         * testsuite/caps/sets.c:
19046         * testsuite/caps/simplify.c:
19047         * testsuite/caps/string-conversions.c:
19048         * testsuite/caps/structure.c:
19049         * testsuite/caps/subtract.c:
19050         * testsuite/caps/union.c:
19051         * testsuite/debug/.cvsignore:
19052         * testsuite/debug/Makefile.am:
19053         * testsuite/debug/category.c:
19054         * testsuite/debug/commandline.c:
19055         * testsuite/debug/global.c:
19056         * testsuite/debug/output.c:
19057         * testsuite/debug/printf_extension.c:
19058         * testsuite/dlopen/.cvsignore:
19059         * testsuite/dlopen/Makefile.am:
19060         * testsuite/dlopen/dlopen_gst.c:
19061         * testsuite/dlopen/loadgst.c:
19062         * testsuite/elements/.cvsignore:
19063         * testsuite/elements/Makefile.am:
19064         * testsuite/elements/gst-inspect-check.in:
19065         * testsuite/elements/struct_i386.h:
19066         * testsuite/elements/struct_size.c:
19067         * testsuite/indexers/.cvsignore:
19068         * testsuite/indexers/Makefile.am:
19069         * testsuite/indexers/cache1.c:
19070         * testsuite/indexers/indexdump.c:
19071         * testsuite/parse/.cvsignore:
19072         * testsuite/parse/Makefile.am:
19073         * testsuite/parse/parse1.c:
19074         * testsuite/parse/parse2.c:
19075         * testsuite/plugin/.cvsignore:
19076         * testsuite/plugin/Makefile.am:
19077         * testsuite/plugin/README:
19078         * testsuite/plugin/dynamic.c:
19079         * testsuite/plugin/linked.c:
19080         * testsuite/plugin/loading.c:
19081         * testsuite/plugin/registry.c:
19082         * testsuite/plugin/static.c:
19083         * testsuite/plugin/static2.c:
19084         * testsuite/plugin/testplugin.c:
19085         * testsuite/plugin/testplugin2.c:
19086         * testsuite/plugin/testplugin2_s.c:
19087         * testsuite/plugin/testplugin_s.c:
19088         * testsuite/refcounting/.cvsignore:
19089         * testsuite/refcounting/Makefile.am:
19090         * testsuite/refcounting/bin.c:
19091         * testsuite/refcounting/element.c:
19092         * testsuite/refcounting/element_pad.c:
19093         * testsuite/refcounting/mainloop.c:
19094         * testsuite/refcounting/mem.c:
19095         * testsuite/refcounting/mem.h:
19096         * testsuite/refcounting/object.c:
19097         * testsuite/refcounting/pad.c:
19098         * testsuite/refcounting/sched.c:
19099         * testsuite/refcounting/thread.c:
19100         * testsuite/states/.cvsignore:
19101         * testsuite/states/Makefile.am:
19102         * testsuite/states/bin.c:
19103         * testsuite/states/locked.c:
19104         * testsuite/states/parent.c:
19105         * testsuite/threads/.cvsignore:
19106         * testsuite/threads/159566.c:
19107         * testsuite/threads/159852.c:
19108         * testsuite/threads/Makefile.am:
19109         * testsuite/threads/queue.c:
19110         * testsuite/threads/signals.c:
19111         * testsuite/threads/staticrec.c:
19112         * testsuite/threads/thread.c:
19113         * testsuite/threads/threadb.c:
19114         * testsuite/threads/threadc.c:
19115         * testsuite/threads/threadd.c:
19116         * testsuite/threads/threade.c:
19117         * testsuite/threads/threadf.c:
19118         * testsuite/threads/threadg.c:
19119         * testsuite/threads/threadh.c:
19120         * testsuite/threads/threadi.c:
19121           move all of these under tests
19122
19123 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19124
19125         * configure.ac:
19126         * tests/Makefile.am:
19127           fix distcheck
19128
19129 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19130
19131         * docs/gst/gstreamer-sections.txt:
19132         * tests/sched/.cvsignore:
19133         * tests/sched/Makefile.am:
19134         * tests/sched/cases/(fs-fs).xml:
19135         * tests/sched/cases/(fs-i-fs).xml:
19136         * tests/sched/cases/(fs-i-i-fs).xml:
19137         * tests/sched/cases/(fs-i-q[i-fs]).xml:
19138         * tests/sched/dynamic-pipeline.c:
19139         * tests/sched/interrupt1.c:
19140         * tests/sched/interrupt2.c:
19141         * tests/sched/interrupt3.c:
19142         * tests/sched/runtestcases:
19143         * tests/sched/runxml.c:
19144         * tests/sched/sched-stress.c:
19145         * tests/sched/sort.c:
19146         * tests/sched/testcases:
19147         * tests/sched/testcases1.tc:
19148         * tests/seeking/.cvsignore:
19149         * tests/seeking/Makefile.am:
19150         * tests/seeking/seeking1.c:
19151         * tests/threadstate/.cvsignore:
19152         * tests/threadstate/Makefile.am:
19153         * tests/threadstate/test1.c:
19154         * tests/threadstate/test2.c:
19155         * tests/threadstate/threadstate1.c:
19156         * tests/threadstate/threadstate2.c:
19157         * tests/threadstate/threadstate3.c:
19158         * tests/threadstate/threadstate4.c:
19159         * tests/threadstate/threadstate5.c:
19160           remove obsolete tests
19161         * configure.ac:
19162         * tests/bench-complexity.scm:
19163         * tests/bench-mass_elements.scm:
19164         * tests/complexity.c:
19165         * tests/complexity.gnuplot:
19166         * tests/instantiate/.cvsignore:
19167         * tests/instantiate/Makefile.am:
19168         * tests/instantiate/caps.c:
19169         * tests/mass_elements.c:
19170         * tests/network-clock-utils.scm:
19171         * tests/network-clock.scm:
19172         * tests/plot-data:
19173         First pass at cleaning up tests/ dir before moving the rest
19174         Combined with CVS surgery
19175
19176 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19177
19178         * po/POTFILES.in:
19179           queue has moved, update
19180
19181 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19182
19183         * docs/gst/gstreamer-sections.txt:
19184           remove double entries from the docs
19185         * gst/gst_private.h:
19186         * gst/gstinfo.c: (_gst_debug_init):
19187           remove the THREAD debug category
19188         * gst/Makefile.am:
19189         * gst/gstqueue.c:
19190         * gst/gstqueue.h:
19191         * docs/gst/gstreamer.types:
19192         * plugins/elements/gstqueue.c: (gst_queue_get_type),
19193         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19194           completely move queue and fix up debugging categories
19195
19196 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19197
19198         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
19199           make initialization portable, using LL is not
19200
19201 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19202
19203         * win32/common/gstconfig.h:
19204           add large padding
19205
19206 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19207
19208         * win32/common/libgstreamer.def:
19209           rename symbols; sort base section
19210
19211 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19212
19213         * gst/gstclock.c: (do_linear_regression):
19214           remove crack non-portable handrolled DEBUG macro
19215
19216 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19217
19218         * docs/random/release:
19219           update notes
19220         * win32/common/gstenumtypes.c: (register_gst_object_flags),
19221         (gst_object_flags_get_type), (register_gst_bin_flags),
19222         (gst_bin_flags_get_type), (register_gst_buffer_flag),
19223         (gst_buffer_flag_get_type), (register_gst_bus_flags),
19224         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19225         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
19226         (gst_caps_flags_get_type), (register_gst_clock_return),
19227         (gst_clock_return_get_type), (register_gst_clock_entry_type),
19228         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19229         (gst_clock_flags_get_type), (register_gst_state),
19230         (gst_state_get_type), (register_gst_state_change_return),
19231         (gst_state_change_return_get_type), (register_gst_state_change),
19232         (gst_state_change_get_type), (register_gst_element_flags),
19233         (gst_element_flags_get_type), (register_gst_core_error),
19234         (gst_core_error_get_type), (register_gst_library_error),
19235         (gst_library_error_get_type), (register_gst_resource_error),
19236         (gst_resource_error_get_type), (register_gst_stream_error),
19237         (gst_stream_error_get_type), (register_gst_event_type_flags),
19238         (gst_event_type_flags_get_type), (register_gst_event_type),
19239         (gst_event_type_get_type), (register_gst_seek_type),
19240         (gst_seek_type_get_type), (register_gst_seek_flags),
19241         (gst_seek_flags_get_type), (register_gst_format),
19242         (gst_format_get_type), (register_gst_index_certainty),
19243         (gst_index_certainty_get_type), (register_gst_index_entry_type),
19244         (gst_index_entry_type_get_type),
19245         (register_gst_index_lookup_method),
19246         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19247         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19248         (gst_index_resolver_method_get_type), (register_gst_index_flags),
19249         (gst_index_flags_get_type), (register_gst_debug_level),
19250         (gst_debug_level_get_type), (register_gst_debug_color_flags),
19251         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19252         (gst_iterator_result_get_type), (register_gst_iterator_item),
19253         (gst_iterator_item_get_type), (register_gst_message_type),
19254         (gst_message_type_get_type), (register_gst_mini_object_flags),
19255         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19256         (gst_pad_link_return_get_type), (register_gst_flow_return),
19257         (gst_flow_return_get_type), (register_gst_activate_mode),
19258         (gst_activate_mode_get_type), (register_gst_pad_direction),
19259         (gst_pad_direction_get_type), (register_gst_pad_flags),
19260         (gst_pad_flags_get_type), (register_gst_pad_presence),
19261         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19262         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19263         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19264         (gst_plugin_error_get_type), (register_gst_plugin_flags),
19265         (gst_plugin_flags_get_type), (register_gst_rank),
19266         (gst_rank_get_type), (register_gst_query_type),
19267         (gst_query_type_get_type), (register_gst_tag_merge_mode),
19268         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19269         (gst_tag_flag_get_type), (register_gst_task_state),
19270         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19271         (gst_alloc_trace_flags_get_type),
19272         (register_gst_type_find_probability),
19273         (gst_type_find_probability_get_type), (register_gst_uri_type),
19274         (gst_uri_type_get_type), (register_gst_parse_error),
19275         (gst_parse_error_get_type):
19276         * win32/common/gstenumtypes.h:
19277         * win32/common/gstversion.h:
19278           update visual studio generated files
19279
19280 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19281
19282         * win32/vs6/libgstbase.dsp:
19283         * win32/vs6/libgstelements.dsp:
19284           update project files for new locations
19285
19286 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19287
19288         * Makefile.am:
19289           remove some files
19290         * README:
19291           reinstate and update
19292         * DEVEL:
19293         * REQUIREMENTS:
19294           removed
19295         * LICENSE:
19296         * docs/random/LICENSE:
19297           moved to random
19298
19299 2005-11-30  Edward Hervey  <edward@fluendo.com>
19300
19301         * gst/gsttypefind.c: (gst_type_find_register):
19302         * gst/gsttypefind.h:
19303         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19304         (gst_type_find_factory_dispose):
19305         * gst/gsttypefindfactory.h:
19306         Fix memory leak in GstTypeFindFactory.
19307
19308 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19309
19310         * gst/gst.c:
19311         * plugins/elements/Makefile.am:
19312         * plugins/elements/gstelements.c:
19313         * plugins/elements/gstqueue.c:
19314           move queue from core to the elements plugin
19315
19316 2005-11-29  Andy Wingo  <wingo@pobox.com>
19317
19318         * libs/gst/base/gstbasetransform.h: 
19319         * libs/gst/base/gstbasesrc.h: 
19320         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
19321
19322         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
19323         of pointers by which to pad very extensible base classes (like the
19324         ones in libs/gst/base).
19325
19326 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19327
19328         * docs/gst/gstreamer-docs.sgml:
19329         * docs/gst/gstreamer-sections.txt:
19330         * docs/libs/gstreamer-libs-docs.sgml:
19331         * docs/libs/gstreamer-libs-sections.txt:
19332           moving documentation from core to lib
19333
19334 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19335
19336         * check/Makefile.am:
19337         * configure.ac:
19338         * docs/gst/Makefile.am:
19339         * gst/Makefile.am:
19340         * gst/base/.cvsignore:
19341         * gst/base/Makefile.am:
19342         * gst/base/README:
19343         * gst/base/gstadapter.c:
19344         * gst/base/gstadapter.h:
19345         * gst/base/gstbasesink.c:
19346         * gst/base/gstbasesink.h:
19347         * gst/base/gstbasesrc.c:
19348         * gst/base/gstbasesrc.h:
19349         * gst/base/gstbasetransform.c:
19350         * gst/base/gstbasetransform.h:
19351         * gst/base/gstcollectpads.c:
19352         * gst/base/gstcollectpads.h:
19353         * gst/base/gstpushsrc.c:
19354         * gst/base/gstpushsrc.h:
19355         * gst/base/gsttypefindhelper.c:
19356         * gst/base/gsttypefindhelper.h:
19357         * gst/check/Makefile.am:
19358         * gst/check/gstcheck.c:
19359         * gst/check/gstcheck.h:
19360         * gst/net/Makefile.am:
19361         * gst/net/gstnet.h:
19362         * gst/net/gstnetclientclock.c:
19363         * gst/net/gstnetclientclock.h:
19364         * gst/net/gstnettimepacket.c:
19365         * gst/net/gstnettimepacket.h:
19366         * gst/net/gstnettimeprovider.c:
19367         * gst/net/gstnettimeprovider.h:
19368         * libs/gst/Makefile.am:
19369         * libs/gst/base/Makefile.am:
19370         * libs/gst/base/gstbasetransform.c:
19371         * libs/gst/check/Makefile.am:
19372         * plugins/elements/Makefile.am:
19373         * po/POTFILES.in:
19374           CVS surgery + support to move base, check, and net out of gst
19375           and into libs/gst
19376
19377 2005-11-29  Andy Wingo  <wingo@pobox.com>
19378
19379         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
19380
19381         * gst/gststructure.h (struct _GstStructure): Only one pointer of
19382         padding.
19383
19384         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
19385
19386         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
19387
19388         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
19389
19390         * gst/gstobject.h: (struct _GstObject): Only one pointer of
19391         padding; reduces object size by about 30%. We don't expect
19392         anything else to go into gstobject.
19393
19394         * gst/gstminiobject.h (struct _GstMiniObject)
19395         (struct _GstMiniObjectClass): Only one pointer of padding; the
19396         payload is only a pointer and two ints anyway. For the class there
19397         are only two methods as well.
19398         
19399         * gst/gstelement.h (struct _GstElementClass): Removed
19400         the state_changed signal callback, it is not used.
19401
19402 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19403
19404         * docs/gst/gstreamer.types:
19405           fix includes, though they are a little dinky
19406
19407 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19408
19409         * check/Makefile.am:
19410           look in the right place for elements, a lot more chance of
19411           success
19412         * gst/Makefile.am:
19413           remove indexers and elements subdirs
19414         * plugins/Makefile.am:
19415           make indexers conditional
19416
19417 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19418
19419         * Makefile.am:
19420         * configure.ac:
19421         * plugins/elements/Makefile.am:
19422         * plugins/elements/gstcapsfilter.c:
19423         * plugins/elements/gstfilesink.c:
19424         * plugins/elements/gstfilesrc.c:
19425         * plugins/elements/gstidentity.c:
19426         * plugins/indexers/Makefile.am:
19427           do CVS surgery and related build fixery to move elements
19428           and indexers in a new gstreamer/plugins directory, out of the
19429           gst/ directory
19430
19431 2005-11-29  Andy Wingo  <wingo@pobox.com>
19432
19433         * check/Makefile.am:
19434         * pkgconfig/gstreamer-net-uninstalled.pc.in:
19435         * pkgconfig/gstreamer-net.pc.in:
19436         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
19437         #322257.
19438
19439 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19440
19441         * tools/Makefile.am:
19442         * tools/gst-complete.1.in:
19443         * tools/gst-complete.c:
19444         * tools/gst-compprep.1.in:
19445         * tools/gst-compprep.c:
19446           removing -compprep and -complete
19447
19448 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19449
19450         * gst/gstevent.c: (gst_event_new_new_segment),
19451         (gst_event_parse_new_segment):
19452         * gst/gstevent.h:
19453           fix #320529 - clean up new_segment API and structure.
19454           Let's hope everyone was using the methods, and not the structure.
19455
19456 2005-11-29  Edward Hervey  <edward@fluendo.com>
19457
19458         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19459         (gst_base_sink_event), (gst_base_sink_do_sync),
19460         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19461         Properly handle non GST_FORMAT_TIME segment
19462         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19463         Properly handle non GST_FORMAT_TIME segment
19464         * gst/gstsegment.c:
19465         This function is valid if the accumulator is 0 and the format
19466         is different from the requested format.
19467         
19468 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19469
19470         * docs/gst/gstreamer-sections.txt:
19471         Add gst_query_new_seeking and gst_query_parse_seeking to the
19472         docs.
19473
19474 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19475
19476         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
19477           Treat a pad alloc with new caps the same as if we were not
19478           negotiated, in order to allow a changing upstream output
19479           to produce a new format of data.
19480
19481 2005-11-29  Edward Hervey  <edward@fluendo.com>
19482
19483         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19484         (gst_base_transform_event), (gst_base_transform_eventfunc):
19485         The event virtual method is now properly implemented, with a default
19486         handler
19487         Sub classes should call the parent_class event method. They should
19488         return FALSE if they had a problem handling the given event, or don't
19489         want GstBaseTransform to send that even downstream
19490         * gst/elements/gstidentity.c: (gst_identity_class_init),
19491         (gst_identity_init), (gst_identity_event),
19492         (gst_identity_transform_ip), (gst_identity_set_property),
19493         (gst_identity_get_property):
19494         * gst/elements/gstidentity.h:
19495         Added the single-segment boolean property.
19496         If set to TRUE, it will output a single segment of data, starting from
19497         0, will eat up all incoming newsegment, and modify the timestamp of the
19498         buffers accordingly
19499
19500 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
19501
19502         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
19503           Don't ref NULL target pad (#322751). Improve docs.
19504
19505 2005-11-29  Michael Smith  <msmith@fluendo.com>
19506
19507         * gst/gstregistryxml.c: (load_plugin):
19508           Don't crash if we failed to load a feature from a plugin. 
19509
19510 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19511
19512         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19513         (GST_START_TEST):
19514           use more check API and less GLib API
19515
19516 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19517
19518         * Makefile.am:
19519           don't run checks if we don't have check
19520         * common/check.mak:
19521           remove the registry when running make torture
19522         * docs/gst/gstreamer-sections.txt:
19523           remove second multiply
19524         * gst/gstqueue.c: (gst_queue_loop):
19525           fix a compile warning when disabling debug
19526
19527 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19528
19529         * gst/gstinfo.h:
19530         Hey! Let's print the pad name if the pointer != NULL instead
19531         of when it == NULL :-)
19532
19533 2005-11-28  Wim Taymans  <wim@fluendo.com>
19534
19535         * check/gst/gstutils.c: (GST_START_TEST):
19536         Updated check, add some scaling accuracy checking code.
19537
19538         * gst/gstutils.c: (gst_util_div128_64),
19539         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
19540         (gst_util_uint64_scale_int):
19541         Fix 6 times faster division code. Optimize for common 
19542         1/1 and less common X/1 cases.
19543
19544 2005-11-28  Wim Taymans  <wim@fluendo.com>
19545
19546         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19547         More checks.
19548
19549         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
19550         (do_linear_regression), (gst_clock_add_observation):
19551         Cleanups.
19552         Release lock when the clock cannot be slaved.
19553         Catch the case where the regression returned an invalid denominator.
19554
19555         * gst/gstutils.c: (gst_util_div128_64_iterate),
19556         (gst_util_div128_64), (gst_util_uint64_scale_int64),
19557         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19558         Add protentially more performant non-iterative 128/64 divide function
19559         that unfortunatly does not work yet.
19560         Shortcut the trivial 0/X = 0 case.
19561         Remove the warnings on overflow.
19562
19563 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19564
19565         * gst/gstplugin.c: (gst_plugin_register_func):
19566           everything causing a plugin not to load should be at least a WARNING
19567
19568 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
19569
19570         * docs/random/ensonic/dparams.txt:
19571           some TODOs for the next dev cycle
19572         * libs/gst/controller/gstcontroller.c:
19573         (gst_controlled_property_set_interpolation_mode),
19574         (gst_controlled_property_new):
19575         * libs/gst/controller/gstcontroller.h:
19576           use base type to assign acccessor functions
19577
19578 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19579
19580         * check/Makefile.am:
19581         Oops, that should have been top_srcdir
19582
19583 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19584
19585         * check/Makefile.am:
19586         * check/elements/fdsrc.c: (GST_START_TEST):
19587         Use a cmdline define to specify the location of a file to use for
19588         testing, to avoid breaking distcheck.
19589
19590 2005-11-28  Andy Wingo  <wingo@pobox.com>
19591
19592         * gst/gstpad.c (fixate_value): Use array functions for arrays.
19593
19594 2005-11-28  Edward Hervey  <edward@fluendo.com>
19595
19596         * tools/gst-launch.c: (main):
19597         Clarify the output strings, makes it easier to translate.
19598         Fixes #322626
19599
19600 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19601
19602         * gst/Makefile.am:
19603           don't try and build net if we don't even have <sys/socket.h>
19604
19605 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
19606
19607         * check/Makefile.am:
19608         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
19609         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
19610           Add tests for fdsrc seekability
19611
19612         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
19613         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
19614         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
19615         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
19616         * gst/elements/gstfdsrc.h:
19617           fdsrc should not be a 'live' source.
19618           Implement seeking on seekable fd's.
19619
19620         * gst/gstquery.c: (gst_query_new_seeking),
19621         (gst_query_parse_seeking):
19622         * gst/gstquery.h:
19623           Implement SEEKING query functions: 
19624             *_new_seeking and *_parse_seeking
19625
19626 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
19627
19628         * gst/gstelement.c: (gst_element_dispose):
19629           don't loop forever
19630
19631         * gst/gstiterator.c:
19632         * gst/gststructure.c:
19633           doc fixes
19634
19635         * libs/gst/controller/gstcontroller.c:
19636         (gst_controlled_property_set_interpolation_mode):
19637         * libs/gst/controller/gstcontroller.h:
19638         * libs/gst/controller/gstinterpolation.c:
19639         (interpolate_none_get_enum_value_array):
19640           support controlling enums
19641
19642 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
19643
19644         * gst/gstvalue.c:
19645           Improve documentation for gst_value_union().
19646
19647         * gst/gstvalue.h:
19648           Change return value for union, intersect and subtract functions
19649           from gint to gboolean.
19650
19651 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
19652
19653         * gst/gstvalue.c: (gst_value_serialize_any_list),
19654         (gst_value_transform_any_list_string),
19655         (gst_value_deserialize_list), (gst_value_deserialize_array),
19656         (gst_value_set_int_range), (gst_value_deserialize_int_range),
19657         (gst_value_set_double_range), (gst_value_deserialize_double_range),
19658         (gst_value_set_fraction_range_full),
19659         (gst_value_deserialize_fraction_range),
19660         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
19661         (gst_value_deserialize_boolean),
19662         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
19663         (gst_value_serialize_float), (gst_value_deserialize_float),
19664         (gst_string_wrap), (gst_value_deserialize_string),
19665         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
19666         (gst_value_union_int_range_int_range),
19667         (gst_value_intersect_int_range_int_range),
19668         (gst_value_intersect_double_range_double_range),
19669         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
19670         (gst_value_subtract_int_range_int_range),
19671         (gst_value_subtract_double_double_range),
19672         (gst_value_subtract_double_range_double_range),
19673         (gst_value_deserialize_fraction):
19674         * gst/gstvalue.h:
19675           Use gint, gdouble and gchar in our API instead of int, double and
19676           char (and make usage in gstvalue.c more consistent).
19677
19678 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19679
19680         * check/Makefile.am:
19681         * libs/gst/controller/Makefile.am:
19682         * libs/gst/dataprotocol/Makefile.am:
19683           fix up Makefile.am and remove GST_ENABLE_NEW
19684
19685 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19686
19687         * configure.ac:
19688         * gst/Makefile.am:
19689         * gst/base/Makefile.am:
19690         * gst/check/Makefile.am:
19691         * gst/elements/Makefile.am:
19692         * gst/net/Makefile.am:
19693           update LDFLAGS use some more
19694
19695 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19696
19697         * common/m4/gst-doc.m4:
19698           Fixes #312589
19699
19700 2005-11-26  Edward Hervey  <edward@fluendo.com>
19701
19702         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
19703         This shouldn't issue a g_warning since it returns NULL if it
19704         couldn't find the plugin, and all functions using this behave
19705         properly on a NULL return. Switching to a GST_WARNING.
19706
19707 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
19708
19709         * gst/gstbin.c: (gst_bin_handle_message_func):
19710         Don't leak clock messages.
19711
19712 2005-11-25  Wim Taymans  <wim@fluendo.com>
19713
19714         * gst/gstutils.c: (gst_util_uint64_scale_int64),
19715         (gst_util_uint64_scale_int):
19716         Optimisations, remove unneeded vars.
19717
19718 2005-11-25  Wim Taymans  <wim@fluendo.com>
19719
19720         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19721         Added more checks for the high precision uint64 cases.
19722
19723         * gst/gstutils.c: (gst_util_uint64_scale_int64),
19724         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19725         Implement high precision (guint64 * guint64) / guint64.
19726
19727 2005-11-24  Wim Taymans  <wim@fluendo.com>
19728
19729         * gst/base/gstbasesrc.c: (gst_base_src_query):
19730         Fix wrong percentage query.
19731
19732         * gst/gstutils.c: (gst_util_uint64_scale),
19733         (gst_util_uint64_scale_int):
19734         Add some more common cases that can be handled 
19735         efficiently to _scale.
19736
19737 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
19738
19739         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
19740         (gst_mini_object_suite):
19741           don't use check calls from threads; check probably isn't
19742           threadsafe and using a lock to make it threadsafe would
19743           defeat the purpose of this check
19744         * gst/check/gstcheck.c:
19745         * gst/check/gstcheck.h:
19746           use GST_DEBUG some more
19747
19748 2005-11-24  Wim Taymans  <wim@fluendo.com>
19749
19750         * gst/gstutils.c: (gst_util_uint64_scale),
19751         (gst_util_uint64_scale_int):
19752         Chain trivial case to _scale_int.
19753
19754 2005-11-24  Wim Taymans  <wim@fluendo.com>
19755
19756         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19757         Added test for scaling.
19758
19759         * gst/gstclock.h:
19760         Small doc fix.
19761
19762         * gst/gstutils.c: (gst_util_uint64_scale_int):
19763         Implemented high precision scaling code.
19764
19765 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
19766
19767         * gst/gstinfo.h:
19768           do not crash on pad==NULL
19769
19770 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
19771
19772         Patch by: Stefan Kost
19773
19774         * common/gtk-doc.mak:
19775         * docs/gst/Makefile.am:
19776         * docs/libs/Makefile.am:
19777           Fix distcheck issues for the libraries docs build
19778           Closes #319599.
19779
19780 2005-11-24  Michael Smith <msmith@fluendo.com>
19781
19782         * docs/manual/basics-helloworld.xml:
19783           Fix bug #315027: memory leak in example code in docs.
19784
19785 2005-11-24  Michael Smith <msmith@fluendo.com>
19786
19787         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19788           Unlock the PREROLL_LOCK in a failure case.
19789
19790 2005-11-24  Wim Taymans  <wim@fluendo.com>
19791
19792         * docs/gst/gstreamer-sections.txt:
19793         * gst/base/gstadapter.h:
19794         * gst/base/gstbasesink.h:
19795         * gst/base/gstbasesrc.h:
19796         * gst/base/gstbasetransform.h:
19797         * gst/base/gstpushsrc.h:
19798         * gst/elements/gstfakesink.h:
19799         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
19800         * gst/elements/gstfakesrc.h:
19801         * gst/elements/gstfilesink.h:
19802         * gst/elements/gstfilesrc.h:
19803         * gst/gst.c:
19804         * gst/gstbin.c:
19805         * gst/gstbuffer.c: (_gst_buffer_copy):
19806         * gst/gstbus.h:
19807         * gst/gstcaps.c:
19808         * gst/gstchildproxy.c:
19809         * gst/gstclock.c:
19810         * gst/gstelement.c:
19811         * gst/gstelementfactory.c:
19812         * gst/gstelementfactory.h:
19813         * gst/gstevent.c:
19814         * gst/gstghostpad.h:
19815         * gst/gstindex.h:
19816         * gst/gstinterface.h:
19817         * gst/gstminiobject.c:
19818         * gst/gstminiobject.h:
19819         * gst/gstpad.c:
19820         * gst/gstpad.h:
19821         * gst/gstpadtemplate.h:
19822         * gst/gstpipeline.h:
19823         * gst/gstpluginfeature.h:
19824         * gst/gstquery.h:
19825         * gst/gstqueue.h:
19826         * gst/gsttaglist.c:
19827         * gst/gsttaglist.h:
19828         * gst/gsttagsetter.c:
19829         * gst/gsttagsetter.h:
19830         * gst/gsttrace.c:
19831         * gst/gsttrace.h:
19832         * gst/gsttypefind.h:
19833         * gst/gsturi.h:
19834         * gst/gstvalue.c:
19835         * gst/net/gstnetclientclock.c:
19836         * gst/net/gstnetclientclock.h:
19837         * gst/net/gstnettimepacket.c:
19838         * gst/net/gstnettimeprovider.c:
19839         * gst/net/gstnettimeprovider.h:
19840         Doc fixes.
19841
19842 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19843
19844         * configure.ac: back to HEAD
19845
19846 === release 0.9.6 ===
19847
19848 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
19849
19850         * configure.ac:
19851           releasing 0.9.6, "Always On Time"
19852
19853 2005-11-23  Wim Taymans  <wim@fluendo.com>
19854
19855         * docs/gst/gstreamer-sections.txt:
19856         * gst/glib-compat.c:
19857         * gst/gsttagsetter.c:
19858         * gst/gstvalue.c:
19859         * gst/net/gstnetclientclock.c:
19860         * gst/net/gstnettimepacket.h:
19861         Doc updates.
19862
19863 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19864
19865         * docs/faq/using.xml:
19866         * docs/libs/tmpl/gstcontrol.sgml:
19867         * docs/manual/advanced-dparams.xml:
19868         * docs/manual/appendix-checklist.xml:
19869         * docs/manual/basics-elements.xml:
19870         * docs/pwg/other-source.xml:
19871         * docs/random/moving-plugins:
19872         * gst/gstpad.c:
19873         * tools/gst-launch.1.in:
19874           remove mentions of sinesrc
19875
19876 2005-11-23  Michael Smith <msmith@fluendo.com>
19877
19878         * docs/gst/gstreamer-sections.txt:
19879           Update for new API and API changes.
19880         * gst/gstobject.h:
19881           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
19882         * gst/gstvalue.c:
19883           Documentation typo fix.
19884         * gst/net/gstnettimepacket.c:
19885           Documentation fixes for arguments.
19886
19887 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
19888
19889         * gst/gststructure.c: (gst_structure_get_fraction),
19890         (gst_structure_parse_value),
19891         (gst_structure_fixate_field_nearest_fraction):
19892         * gst/gststructure.h:
19893         * gst/gstutils.c: (gst_util_uint64_scale_int):
19894         * gst/gstutils.h:
19895         * scripts/update-funcnames:
19896         API Changes. 
19897         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
19898         Make gst_structure_fixate_field_nearest_fraction take a numerator
19899         and denominator argument instead of a GValue
19900         add gst_structure_get_fraction helper function.
19901
19902 2005-11-23  Wim Taymans  <wim@fluendo.com>
19903
19904         * docs/design/part-TODO.txt:
19905         Update TODO.
19906
19907         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
19908         * gst/net/gstnetclientclock.h:
19909         Use parent fields for timeout and window_size.
19910
19911 2005-11-23  Andy Wingo  <wingo@pobox.com>
19912
19913         * check/net/gstnetclientclock.c (test_functioning): Adjust to
19914         rate_num/rate_denom change.
19915
19916         * gst/net/gstnetclientclock.c
19917         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
19918         OBJECT_LOCK. Don't call add_observation with the lock.
19919
19920         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
19921         fraction.
19922         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
19923         rate fraction.
19924         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
19925         deal with rate as a fraction whose numerator and denominator are
19926         GstClockTime values.
19927         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
19928         master; the other fields are protected by the SLAVE_LOCK.
19929         (do_linear_regression): Note that this must be called with the
19930         SLAVE_LOCK.
19931         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
19932         OBJECT_LOCK. Call set_calibration instead of touching the
19933         variables directly.
19934         (gst_clock_set_property, gst_clock_get_property): Protect
19935         master/slave parameters with the SLAVE_LOCK.
19936
19937         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
19938         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
19939         note that all of the instance variables that add_observation and
19940         the set_master functions use are protected by that lock and not
19941         the OBJECT_LOCK.
19942         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
19943
19944         * gst/gstclock.c (gst_clock_add_observation): No longer requires
19945         the caller to take the object lock.
19946
19947 2005-11-23  Wim Taymans  <wim@fluendo.com>
19948
19949         * gst/gsterror.c: (_gst_core_errors_init):
19950         * gst/gsterror.h:
19951         Add error for clock stuff.
19952
19953         * gst/gstpipeline.c: (gst_pipeline_change_state),
19954         (gst_pipeline_set_clock):
19955         Post clock error when clock cannot be used in a pipeline.
19956
19957 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
19958
19959         * docs/gst/gstreamer-sections.txt:
19960           make two symbols from gstinfo private for the docs
19961         * gst/base/gstcollectpads.h:
19962         * gst/gstutils.c:
19963           fix doc typos, update docs
19964
19965 2005-11-22  Wim Taymans  <wim@fluendo.com>
19966
19967         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
19968         (gst_base_sink_wait), (gst_base_sink_do_sync),
19969         (gst_base_sink_handle_event):
19970         * gst/base/gstbasesink.h:
19971         No need to store the clock, the parent element class already
19972         has it.
19973
19974         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
19975         Updates for clock_set returning a gboolean
19976
19977         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
19978         (gst_clock_id_wait_async), (gst_clock_class_init),
19979         (gst_clock_init), (gst_clock_finalize),
19980         (gst_clock_get_internal_time), (gst_clock_get_time),
19981         (gst_clock_slave_callback), (gst_clock_set_master),
19982         (gst_clock_get_master), (do_linear_regression),
19983         (gst_clock_add_observation), (gst_clock_set_property),
19984         (gst_clock_get_property):
19985         * gst/gstclock.h:
19986         Implement master/slave. When setting a clock as a slave, a
19987         periodic timeout is scheduled to sample master and slave times.
19988         Then the slave clock is recalibrated to match offset and rate
19989         of the master clock.
19990         Update logging a bit.
19991         Add flag so that a clock can state that is cannot be slaved to
19992         another clock.
19993
19994         * gst/gstelement.c: (gst_element_set_clock):
19995         * gst/gstelement.h:
19996         The set clock returns a gboolean for when an element cannot
19997         deal with the selected clock in the pipeline. 
19998
19999         * gst/gstpipeline.c: (gst_pipeline_change_state),
20000         (gst_pipeline_set_clock):
20001         * gst/gstpipeline.h:
20002         Handle the case where the selected clock cannot be set on
20003         the pipeline.
20004
20005         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
20006         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
20007         (gst_net_client_clock_set_property),
20008         (gst_net_client_clock_get_property),
20009         (gst_net_client_clock_observe_times):
20010         * gst/net/gstnetclientclock.h:
20011         Use regression code in GstClock parent, remove duplicated
20012         functionality.
20013
20014 2005-11-22  Michael Smith <msmith@fluendo.com>
20015
20016         * gst/gstutils.c: (gst_util_clock_time_scale):
20017         * gst/gstutils.h:
20018         * docs/gst/gstreamer-sections.txt:
20019           Rename method to have extra underscore.
20020
20021 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20022
20023         * gst/elements/Makefile.am:
20024         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
20025         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20026         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20027         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
20028         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
20029         * gst/elements/gstfakesrc.h:
20030         * gst/gstqueue.c: (queue_leaky_get_type):
20031           correctly fix GEnumValues so that nick is the short lowercase
20032           dashed tag
20033         * tools/gst-inspect.c: (print_element_properties_info):
20034           also show the nick, since it's useful to use from parse_launch
20035           syntax
20036           Fixes #322139
20037
20038 2005-11-22  Michael Smith <msmith@fluendo.com>
20039
20040         * gst/gstutils.c: (gst_util_clocktime_scale):
20041         * gst/gstutils.h:
20042         * docs/gst/gstreamer-sections.txt:
20043           Add util method for scaling a clocktime by a fraction. Useful 
20044           implementation is left as an exercise for the reader.
20045
20046 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20047
20048         * gst/gstvalue.c: (gst_value_collect_fraction_range):
20049         If needed, allocate storage in the destination value during
20050         collection.
20051
20052 2005-11-22  Edward Hervey  <edward@fluendo.com>
20053
20054         * docs/gst/gstreamer-sections.txt:
20055         * gst/Makefile.am:
20056         * gst/gst.h:
20057         * gst/gsturitype.c:
20058         * gst/gsturitype.h:
20059         * gst/gstutils.c: (gst_util_set_object_arg):
20060         * tools/gst-compprep.c: (main):
20061         * tools/gst-inspect.c: (print_element_properties_info):
20062         Removed GstURI, closes bug #321061
20063
20064 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20065
20066         * check/gst/gststructure.c: (GST_START_TEST):
20067         * gst/gststructure.c: (gst_structure_parse_value):
20068           Oops, broke automatic string type parsing.
20069           Add a test to catch it in future.
20070
20071 2005-11-22  Andy Wingo  <wingo@pobox.com>
20072
20073         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
20074         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
20075         Actually rename the function implementations. Grr.
20076
20077 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20078
20079         * check/gst/capslist.h:
20080           Comment test cases
20081         * check/gst/gststructure.c: (GST_START_TEST),
20082         (gst_structure_suite):
20083           Test automatic value type detection in gst_structure_from_string.
20084         * gst/gststructure.c: (gst_structure_parse_value):
20085           Add fraction as a type we try and guess automatically in
20086           caps/structure strings.
20087
20088 2005-11-22  Andy Wingo  <wingo@pobox.com>
20089
20090         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
20091
20092         * gst/gsttagsetter.h:
20093         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
20094         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
20095         (gst_tag_setter_add_tag_valist)
20096         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
20097         _add_values, _add_valist, and _add_valist_values. Since this is an
20098         interface the function suffixes should be more explicit so
20099         language binding don't end up with element.add_valist ->
20100         gst_tag_setter_add_valist, for example. Fixes #322069.
20101
20102 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20103
20104         * check/gst/gstcaps.c: (GST_START_TEST):
20105           Extend caps string tests to check that a caps to string
20106           conversion is reversible and produces the same caps.
20107
20108         * gst/gststructure.c: (gst_structure_value_get_generic_type):
20109           Output "fraction" as the generic type fraction range, so caps
20110           serialisation and deserialisation works.
20111         * check/gst/capslist.h:
20112         * gst/gstvalue.c: (gst_value_deserialize_fraction):
20113           Support 'MIN' and 'MAX' for deserialising fractions.
20114
20115 2005-11-22  Andy Wingo  <wingo@pobox.com>
20116
20117         * gst/gstevent.h (gst_event_new_new_segment)
20118         (gst_event_parse_new_segment, gst_event_new_buffer_size)
20119         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
20120         Renamed from *_newsegment, *_buffersize, *_notarget.
20121
20122         * scripts/update-funcnames: New script, performs the changes
20123         listed above.
20124
20125 2005-11-22  Wim Taymans  <wim@fluendo.com>
20126
20127         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20128         Make sure the GstFlowReturn is returned.
20129
20130         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
20131         (gst_bus_add_signal_watch):
20132         * gst/gstbus.h:
20133         add gst_bus_add_signal_watch_full.
20134
20135         * gst/gstplugin.c: (gst_plugin_load_file):
20136         Small style cleanup.
20137
20138 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20139
20140         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
20141           Block the fakesrc srcpad when we send an event, to avoid
20142           contention on the stream_lock causing random test failures.
20143
20144 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20145
20146         * check/gst/gstvalue.c: (GST_START_TEST):
20147         * gst/gstvalue.c: (gst_value_fraction_subtract):
20148           Fix subtraction.
20149
20150 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
20151
20152         * gst/gst.h:
20153           include "gstchildproxy.h"
20154         * gst/gstchildproxy.h:
20155         * libs/gst/controller/gstcontroller.h:
20156           use G_GNUC_NULL_TERMINATED
20157
20158 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20159
20160         * check/gst/capslist.h:
20161         * check/gst/gstcaps.c: (GST_START_TEST):
20162         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20163         * gst/gststructure.c: (gst_structure_parse_range),
20164         (gst_structure_fixate_field_nearest_fraction):
20165         * gst/gststructure.h:
20166         * gst/gstvalue.c: (gst_value_init_fraction_range),
20167         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
20168         (gst_value_collect_fraction_range),
20169         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
20170         (gst_value_set_fraction_range_full),
20171         (gst_value_get_fraction_range_min),
20172         (gst_value_get_fraction_range_max),
20173         (gst_value_serialize_fraction_range),
20174         (gst_value_transform_fraction_range_string),
20175         (gst_value_compare_fraction_range),
20176         (gst_value_deserialize_fraction_range),
20177         (gst_value_intersect_fraction_fraction_range),
20178         (gst_value_intersect_fraction_range_fraction_range),
20179         (gst_value_subtract_fraction_fraction_range),
20180         (gst_value_subtract_fraction_range_fraction),
20181         (gst_value_subtract_fraction_range_fraction_range),
20182         (gst_value_collect_fraction), (gst_value_fraction_multiply),
20183         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
20184         (gst_value_transform_string_fraction), (_gst_value_initialize):
20185         * gst/gstvalue.h:
20186           Implement fraction ranges and extend GstFraction to support
20187           arithmetic subtraction, as well as deserialization from integer
20188           strings such as "100"
20189           Add a testsuite as for int and double range set operations
20190
20191 2005-11-21  Andy Wingo  <wingo@pobox.com>
20192
20193         * gst/gsttaglist.h: 
20194         * gst/gstcaps.h: 
20195         * gst/gststructure.h: Add glib-compat.h.
20196
20197 2005-11-21  Wim Taymans  <wim@fluendo.com>
20198
20199         * gst/gstbin.c: (gst_bin_change_state_func):
20200         Fix for #321595
20201
20202 2005-11-21  Wim Taymans  <wim@fluendo.com>
20203
20204         * gst/gstsegment.h:
20205         And add a nice define too.
20206
20207 2005-11-21  Wim Taymans  <wim@fluendo.com>
20208
20209         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
20210         (gst_segment_new), (gst_segment_free), (gst_segment_init),
20211         (gst_segment_set_duration), (gst_segment_set_last_stop),
20212         (gst_segment_set_seek), (gst_segment_set_newsegment),
20213         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20214         (gst_segment_clip):
20215         * gst/gstsegment.h:
20216         Make binding friendly.
20217
20218 2005-11-21  Andy Wingo  <wingo@pobox.com>
20219
20220         * gst/gsttagsetter.h: 
20221         * gst/gsttaglist.h: 
20222         * gst/gststructure.h: 
20223         * gst/gstcaps.h: 
20224         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
20225         #319940.
20226
20227         * gst/gsterror.c (_gst_core_errors_init):
20228         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
20229         category.
20230
20231         * gst/Makefile.am (gst_headers): Add glib-compat.h.
20232         (noinst_HEADERS): noinst the -private.
20233
20234 2005-11-21  Michael Smith <msmith@fluendo.com>
20235
20236         * gst/gstplugin.h:
20237         * gst/gstregistry.h:
20238           Remove unimplemented declarations for which we can see no sensible
20239           use.
20240
20241 2005-11-21  Andy Wingo  <wingo@pobox.com>
20242
20243         * gst/gst.h: Include glib-compat.h.
20244
20245         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
20246
20247         * gst/glib-compat.c: Include the public and the private header.
20248
20249         * gst/glib-compat-private.h: Copied here from glib-compat.h.
20250
20251         * gst/gstvalue.c: 
20252         * gst/gstpad.c: 
20253         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
20254
20255         * check/gst/gstevent.c (create_custom_events): Check that
20256         FLUSH_STOP is serialized.
20257
20258         * check/elements/identity.c (event_func): 
20259         * check/elements/fakesrc.c (event_func): No stream lock, the core
20260         takes it.
20261
20262         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
20263         stream lock taking, yay.
20264
20265         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
20266         ensure that core takes the stream lock.
20267
20268         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
20269         lock name change.
20270
20271         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
20272         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
20273         it already. For the flush start we do take it though so we get the
20274         right preroll state change messages.
20275
20276         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
20277         the stream lock here, the core does it for us.
20278
20279         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
20280         GST_STREAM_GET_LOCK.
20281         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
20282         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
20283         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
20284         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
20285         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
20286         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
20287
20288         * gst/gstpad.c: Update for stream lock name change.
20289
20290         * gst/base/gstbasesink.c: Update for preroll lock name change.
20291
20292 2005-11-21  Wim Taymans  <wim@fluendo.com>
20293
20294         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
20295         (gst_clock_get_master):
20296         * gst/gstclock.h:
20297         * gst/gstsystemclock.c: (gst_system_clock_init):
20298         Convert Clock flags to object flags.
20299         Added methods to manage master/slave clocks.
20300
20301 2005-11-21  Wim Taymans  <wim@fluendo.com>
20302
20303         * check/gst/gstsegment.c: (GST_START_TEST):
20304         * docs/design/part-TODO.txt:
20305         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20306         (gst_base_sink_event), (gst_base_sink_do_sync),
20307         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
20308         (gst_base_sink_query), (gst_base_sink_change_state):
20309         * gst/base/gstbasesink.h:
20310         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20311         (gst_base_src_default_newsegment),
20312         (gst_base_src_configure_segment), (gst_base_src_do_seek),
20313         (gst_base_src_get_range), (gst_base_src_loop),
20314         (gst_base_src_change_state):
20315         * gst/base/gstbasesrc.h:
20316         * gst/base/gstbasetransform.c:
20317         (gst_base_transform_prepare_output_buf),
20318         (gst_base_transform_event), (gst_base_transform_change_state):
20319         * gst/base/gstbasetransform.h:
20320         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
20321         (gst_collect_pads_event):
20322         * gst/base/gstcollectpads.h:
20323         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
20324         (gst_fake_src_create):
20325         * gst/elements/gstfakesrc.h:
20326         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20327         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20328         (gst_segment_set_last_stop), (gst_segment_set_seek),
20329         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
20330         (gst_segment_to_running_time), (gst_segment_clip):
20331         * gst/gstsegment.h:
20332         More segment updates, replace code in plugins with segment
20333         helper functions.
20334
20335 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20336
20337         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
20338         Don't ignore sscanf results
20339
20340 2005-11-21  Andy Wingo  <wingo@pobox.com>
20341
20342         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
20343
20344         * *.h:
20345         * *.c: Ran scripts/update-macros. Oh yes.
20346
20347         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
20348         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
20349         GST_GET_LOCK, etc.
20350
20351         * scripts/update-macros: New script. Run it on your files to
20352         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
20353         well.
20354
20355 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20356
20357         * docs/gst/Makefile.am:
20358         * docs/gst/gstreamer-docs.sgml:
20359         * docs/gst/gstreamer-sections.txt:
20360         * docs/gst/gstreamer.types:
20361         * gst/gstinfo.h:
20362           more docs fixes, add new api to the docs
20363
20364 2005-11-21  Andy Wingo  <wingo@pobox.com>
20365
20366         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20367         state_broadcast call.
20368
20369         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
20370
20371 2005-11-21  Julien MOUTTE  <julien@moutte.net>
20372
20373         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
20374         function calls for arrays.
20375
20376 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20377
20378         * docs/random/ensonic/media-device-daemon.txt:
20379           wild idea, can this be done?
20380         * docs/gst/gstreamer-sections.txt:
20381         * gst/gsterror.h:
20382         * gst/gstfilter.c:
20383         * gst/gstfilter.h:
20384         * gst/gstplugin.h:
20385         * gst/gstpluginfeature.c:
20386         * gst/gsttrace.c:
20387         * gst/gstvalue.c:
20388         * gst/gstvalue.h:
20389           doc fixes and additions
20390
20391 2005-11-21  Andy Wingo  <wingo@pobox.com>
20392
20393         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
20394         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
20395         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
20396         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
20397         private to the basesrc implementation.
20398
20399         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
20400         behalf of event function if necessary. It should no longer be
20401         necessary to take the stream lock in pad's event functions. Fixes
20402         #320299.
20403
20404 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20405         * docs/gst/gstreamer-sections.txt:
20406         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
20407         (gst_structure_fixate_field_nearest_double),
20408         (gst_structure_fixate_field_boolean):
20409         * gst/gststructure.h:
20410         * win32/common/libgstreamer.def:
20411         * win32/gstreamer.def:
20412
20413         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
20414         (#322027)
20415
20416 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20417
20418         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
20419         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
20420         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
20421         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
20422         (gst_fdsrc_uri_handler_init):
20423         * gst/elements/gstfdsrc.h:
20424           Port fd:// URI handler from 0.8 to fdsrc
20425
20426 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20427
20428         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
20429         (gst_value_serialize_fourcc):
20430         * gst/gstvalue.h:
20431           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
20432           consistent with our other format defines (#320324).
20433
20434 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20435
20436         * gst/gstvalue.c: (gst_value_is_fixed):
20437           Revert previous commit. Value lists are by definition
20438           not fixed, as they are a list of possible values.
20439
20440 2005-11-21  Andy Wingo  <wingo@pobox.com>
20441
20442         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
20443         during the stable series if we need it. Fixes #319178.
20444
20445         * gst/gstevent.c (gst_event_new_filler): Removed.
20446
20447         * check/gst/gstevent.c: Update comment about filler events.
20448
20449 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20450
20451         * gst/gstvalue.c: (gst_value_is_fixed):
20452           Should handle both value arrays and value lists.
20453
20454 2005-11-21  Andy Wingo  <wingo@pobox.com>
20455
20456         patch by: Alessandro Dessina <alessandro nnva org>
20457
20458         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
20459         functions to access arrays. Fixes #321962.
20460
20461 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20462
20463         * docs/gst/gstreamer.types:
20464           gst_collectpads_get_type => gst_collect_pads_get_type.
20465           
20466         * gst/base/gstbasetransform.c:
20467           Remove unused SIGNAL_HANDOFF enum.
20468
20469 2005-11-21  Andy Wingo  <wingo@pobox.com>
20470
20471         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
20472         the event type (upstream, downstream, serialized). Renamed
20473         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
20474         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
20475         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
20476
20477         * gst/gstevent.c: Update for new CUSTOM event names.
20478
20479         * check/gst/gstevent.c: Update check for new CUSTOM event names.
20480
20481         * gst/gstevent.h:
20482         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
20483         bug #319392.
20484
20485 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20486
20487         * docs/gst/gstreamer-sections.txt:
20488         * win32/common/libgstbase.def:
20489         * win32/libgstbase.def:
20490         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
20491         (gst_collect_pads_class_init), (gst_collect_pads_init),
20492         (gst_collect_pads_finalize), (gst_collect_pads_new),
20493         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
20494         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
20495         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
20496         (gst_collect_pads_start), (gst_collect_pads_stop),
20497         (gst_collect_pads_peek), (gst_collect_pads_pop),
20498         (gst_collect_pads_available), (gst_collect_pads_read),
20499         (gst_collect_pads_flush), (gst_collect_pads_event),
20500         (gst_collect_pads_chain):
20501         * gst/base/gstcollectpads.h:
20502           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
20503           unimplemented functions as unimplemented. Add padding to
20504           GstCollectData. (#320766, #320423)
20505
20506 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20507
20508         * gst/gstmessage.c:
20509           Improve docs for DURATION message (usage of duration parameter)
20510           (#320113)
20511
20512 2005-11-20  Wim Taymans  <wim@fluendo.com>
20513
20514         * check/Makefile.am:
20515         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
20516         (main):
20517         * gst/Makefile.am:
20518         * gst/gst.h:
20519         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20520         (gst_segment_set_seek), (gst_segment_set_newsegment),
20521         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20522         (gst_segment_clip):
20523         * gst/gstsegment.h:
20524         Added segment helper structure and methods. Not fully implemented
20525         yet.
20526         Added segment check.
20527
20528 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
20529
20530         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20531           Add a deserialisation test for fractions
20532         * examples/metadata/read-metadata.c: (message_loop),
20533         (make_pipeline), (main):
20534           Fix up metadata reading sample.
20535         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20536           Debug format fix
20537         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20538           Don't try and fixate empty caps
20539         * gst/gst_private.h:
20540           Wrap in G_BEGIN_DECLS/G_END_DECLS
20541         * gst/gstvalue.c: (gst_value_collect_fraction),
20542         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
20543         (gst_value_transform_string_fraction),
20544         (gst_value_compare_fraction):
20545           Add some extra guards to ensure that we don't end up 
20546           with an invalid denominator of 0 in a gstfraction and
20547           that fractions always get reduced.
20548
20549 2005-11-20  Wim Taymans  <wim@fluendo.com>
20550
20551         * docs/gst/gstreamer-sections.txt:
20552         * gst/gstbuffer.h:
20553         * gst/gstelement.c:
20554         * gst/gstformat.c:
20555         * gst/gstformat.h:
20556         * gst/gstindex.h:
20557         * gst/gstquery.c:
20558         * gst/gstquery.h:
20559         * gst/gstvalue.c:
20560         Doc fixes.
20561
20562 2005-11-20  Wim Taymans  <wim@fluendo.com>
20563
20564         * docs/design/part-TODO.txt:
20565         * gst/gstcaps.h:
20566         Make a proper enum of the flag.
20567
20568 2005-11-19  Wim Taymans  <wim@fluendo.com>
20569
20570         * docs/design/part-TODO.txt:
20571         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
20572         (gst_format_to_quark), (gst_format_register):
20573         * gst/gstformat.h:
20574         * gst/gstquery.c: (_gst_query_initialize),
20575         (gst_query_type_get_name), (gst_query_type_to_quark),
20576         (gst_query_type_register):
20577         * gst/gstquery.h:
20578         Add type to quark and type to string conversions.
20579
20580 2005-11-19  Andy Wingo  <wingo@pobox.com>
20581
20582         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
20583         #320097.
20584
20585 2005-11-19  Wim Taymans  <wim@fluendo.com>
20586
20587         * docs/design/part-TODO.txt:
20588         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
20589         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
20590         (gst_bin_handle_message_func):
20591         * gst/gstbin.h:
20592         Make message handling overridable.
20593
20594 2005-11-19  Andy Wingo  <wingo@pobox.com>
20595
20596         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
20597
20598         * gst/gstclock.h:
20599         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
20600         be a GstClockTime.
20601         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
20602         is a GstClockTime. Fixes #321710.
20603
20604         * gst/gstclock.h (GstClock): Remove offset property. Add
20605         internal_calibration and external_calibration. Fix padding. Pad
20606         also by GstClockTime so we don't run into problems.
20607
20608         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
20609         (gst_clock_get_rate_offset): Remove.
20610         (gst_clock_set_time_adjust): Remove. Fixes #321712.
20611
20612         * gst/gstutils.h:
20613         * gst/gstutils.c (g_static_rec_cond_wait)
20614         (g_static_rec_cond_timed_wait): Removed, no longer needed.
20615
20616         * gst/gstbin.c: Remove terrible continue_state prototype.
20617
20618         * gst/gstelement.h (gst_element_continue_state): Make public.
20619
20620         * gst/gstelement.h:
20621         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
20622         by continue_state. Fixes #319389.
20623
20624         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
20625         Really fixes #168438. However I don't see anywhere where the
20626         filter function is called... stupid GStreamer...
20627         
20628         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
20629         don't have a dispose function, so it won't get called when the
20630         object is unreffed, but oh well!
20631
20632         * gst/gstindex.c (gst_index_set_filter_full): New API function,
20633         allows a destroy function to be set so user_data can be freed.
20634         Fixes #168438.
20635         (gst_index_set_filter): Call gst_index_set_filter_full.
20636
20637         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
20638
20639         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
20640         string should produce an error, given the lack of a way to
20641         represent NULL strings. Fixes #165650.
20642         
20643         * gst/gstvalue.h: 
20644         * gst/gstvalue.c (gst_value_array_append_value) 
20645         (gst_value_array_prepend_value, gst_value_array_get_size) 
20646         (gst_value_array_get_value): New API, copied from
20647         gst_value_list_*, only operates on arrays.
20648         (gst_value_list_append_value, gst_value_list_prepend_value) 
20649         (gst_value_list_concat, gst_value_list_get_size) 
20650         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
20651
20652         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
20653         init_list, because it works on both.
20654         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
20655         (gst_value_copy_list_or_array): Renamed from copy_list.
20656         (gst_value_free_list_or_array): Renamed from free_list.
20657         (gst_value_collect_list_or_array): Renamed from collect_list.
20658         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
20659         (gst_value_list_or_array_peek_pointer): Renamed from
20660         list_peek_pointer.
20661         (_gst_value_array_value_table, _gst_value_list_value_table):
20662         Update value table functions.
20663         (gst_value_compare_list_or_array): Renamed from compare_list.
20664
20665         * gsttaglist.h: Whoops, foreach function returns void. Also fix
20666         some constness.
20667
20668         * gst/gsttaglist.c:
20669         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
20670         GstTagList*. Fixes #143472.
20671
20672         * gst/gststructure.h: Clarify what the foreach/map functions can
20673         or can't do to their arguments.
20674
20675 2005-11-18  Wim Taymans  <wim@fluendo.com>
20676
20677         * gst/gstclock.c: (gst_clock_set_calibration),
20678         (gst_clock_get_calibration):
20679         Doc and API fixes.
20680         Calibration can be set with internal time equal to current
20681         internal time too.
20682
20683 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
20684
20685         * gst/gsterror.c:
20686         * gst/gsterror.h:
20687           document
20688
20689 2005-11-18  Andy Wingo  <wingo@pobox.com>
20690
20691         * configure.ac: 
20692         * pkgconfig/gstreamer-net.pc.in:
20693         * pkgconfig/gstreamer-net-uninstalled.pc.in:
20694         * pkgconfig/Makefile.am: Add net pkgconfig files.
20695
20696 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
20697
20698         * gst/gstcaps.c:
20699         * gst/gstghostpad.c:
20700         * gst/gsttrace.c:
20701         * gst/gstvalue.c:
20702         * gst/gstvalue.h:
20703           docs fixes
20704
20705 2005-11-18  Andy Wingo  <wingo@pobox.com>
20706
20707         * gst/net/gstnetclientclock.c: Turn off debugging.
20708
20709         * check/net/gstnetclientclock.c (test_functioning): Assert that the
20710         times connverge somewhat. Can't make a real test.
20711
20712         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
20713         integer arithmetic. Return the minimum of the domain, which can be
20714         set as "internal" for gst_clock_set_calibration.
20715         (gst_net_client_clock_observe_times): Call _set_calibration.
20716         (gst_net_client_clock_new): Call _set_calibration instead of
20717         rate_offset.
20718
20719         * check/net/gstnetclientclock.c (test_functioning): Use the right
20720         adjustment api.
20721
20722         * gst/gstclock.h:
20723         * gst/gstclock.c (gst_clock_get_calibration) 
20724         (gst_clock_set_calibration): New functions, obsolete the ones I
20725         added yesterday. Doh. Precision issues mean we have to extrapolate
20726         from a point in the more recent past than 1970.
20727         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
20728         obsolete.
20729         (gst_clock_adjust_unlocked): Use the right calibration data.
20730
20731 2005-11-18  Edward Hervey  <edward@fluendo.com>
20732
20733         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
20734         Also reset the ->current_* values in READY->PAUSED
20735
20736 2005-11-18  Andy Wingo  <wingo@pobox.com>
20737
20738         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
20739         Whoops, check the right fd. Also add some debugging.
20740         (gst_net_client_clock_observe_times): Adjust for int64 offset.
20741         (do_linear_regression): Add a crapload of debugging. Subtract off
20742         the minimum values from the input series to discard unneeded bits.
20743         Use only int arithmetic. There is still double arithmetic when
20744         calculating the intercept that needs fixing. Return boolean to
20745         indicate success; FALSE would mean the domain or range is too
20746         great. Still needs fixes.
20747
20748 2005-11-18  Wim Taymans  <wim@fluendo.com>
20749
20750         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
20751         For the current position in stream time, we need to subtract
20752         accumulated time.
20753         
20754         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
20755         Release lock before calling the callback function of async
20756         entries.
20757
20758 2005-11-18  Andy Wingo  <wingo@pobox.com>
20759
20760         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
20761         Port goes all the way to MAXUINT16.
20762
20763         * gst/net/gstnettimeprovider.c: Make the port range the same as
20764         for the kernel: 0 assigns, otherwise ports are less than
20765         MAXUINT16.
20766
20767         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
20768         port change.
20769
20770         * check/net/gstnetclientclock.c (test_functioning): Add the start
20771         of another test. 
20772
20773 2005-11-18  Wim Taymans  <wim@fluendo.com>
20774
20775         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
20776         (gst_bin_remove_func), (bin_bus_handler):
20777         * gst/gstbin.h:
20778         Removing a clock provider from a bin, triggers a clock lost message
20779         so that a new clock will be selected.
20780         Adding a clock to a bin triggers a clock provider message.
20781         Make sure we reselect a clock when we received a clock lost message.
20782         Keep a reference to the element that provided the clock.
20783
20784 2005-11-18  Andy Wingo  <wingo@pobox.com>
20785
20786         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
20787         the clock initially so it produces values around the base time.
20788         (gst_net_client_clock_class_init): Typo fix.
20789         (gst_net_client_clock_thread): Add note on when the socket gets
20790         closed.
20791
20792 2005-11-17  Wim Taymans  <wim@fluendo.com>
20793
20794         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
20795         Free remote and local time arrays.
20796
20797 2005-11-17  Wim Taymans  <wim@fluendo.com>
20798
20799         * gst/net/gstnetclientclock.c: (do_linear_regression),
20800         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
20801         Fix compilation, uninitialized vars and a forgotten continue.
20802
20803 2005-11-17  Andy Wingo  <wingo@pobox.com>
20804
20805         * check/Makefile.am (check_PROGRAMS): 
20806         * check/net/gstnetclientclock.c: Add a most minimal test for the
20807         net client clock. More to come later.
20808
20809         * gst/net/gstnet.h: 
20810         * gst/net/Makefile.am: Add netclientclock.
20811
20812         * gst/net/gstnetclientclock.h:
20813         * gst/net/gstnetclientclock.c: New files, implement an untested
20814         GstClock that takes its time from a network time provider.
20815         Implements the algorithm in network-clock.scm.
20816
20817         * tests/network-clock.scm (*window-size*): Rename from
20818         *queue-length*.
20819         * tests/network-clock.scm (network-time): 
20820         * tests/network-clock-utils.scm (q-push): Update callers.
20821
20822 2005-11-17  Wim Taymans  <wim@fluendo.com>
20823
20824         * gst/gstbin.c: (gst_bin_provide_clock_func),
20825         (gst_bin_sort_iterator_new):
20826         And unref the child too..
20827
20828 2005-11-17  Wim Taymans  <wim@fluendo.com>
20829
20830         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
20831         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
20832         Refactor the sort iterator so it can be used while holding the
20833         LOCK too.
20834         Make clock selection select a clock closest to the source.
20835
20836 2005-11-17  Michael Smith <msmith@fluendo.com>
20837
20838         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
20839         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
20840         * gst/gstclock.h:
20841           Anonymous structs are a gcc (and some other compilers) extension, so
20842           don't use them. Since this is only for ABI-compatibility, and our
20843           API/ABI freeze is over in a few days, this whole thing will only
20844           last a few days, so don't bother trying to think up a meaningful
20845           name for the struct.
20846
20847 2005-11-17  Andy Wingo  <wingo@pobox.com>
20848
20849         * gst/gstclock.h (GstClock): Add rate and offset properties,
20850         preserving ABI stability. Add rate/offset accessors. Will file bug
20851         for the freeze break.
20852
20853         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
20854         and offset, trying to keep precision and avoiding
20855         underflow/overflow.
20856         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
20857         functions. Make gst_clock_set_time_adjust obsolete.
20858         (gst_clock_set_time_adjust): Note that this function is obsolete.
20859         Will file bug soon.
20860
20861         * gst/base/gstbasetransform.h: Make the ABI-stability hack
20862         greppable by using GST_PADDING-1+1.
20863
20864 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
20865
20866         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
20867
20868         * gst/gstmessage.c: (gst_message_parse_clock_lost):
20869           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
20870
20871         * gst/gstpadtemplate.h:
20872         * gst/gstpluginfeature.h:
20873           Don't use c++ style comments in headers (#321638).
20874
20875 2005-11-16  Andy Wingo  <wingo@pobox.com>
20876
20877         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
20878         buffer.
20879
20880         * check/net/gstnettimeprovider.c: Check to see that the time
20881         provider actually provides times. Works, yo!
20882
20883 2005-11-16  Wim Taymans  <wim@fluendo.com>
20884
20885         * check/Makefile.am:
20886         Enable more tests.
20887
20888         * check/elements/fakesrc.c: (GST_START_TEST):
20889         Set element to NULL before disposing it.
20890
20891 2005-11-16  Andy Wingo  <wingo@pobox.com>
20892
20893         * gst/net/Makefile.am:
20894         * gst/net/gstnet.h:
20895         * gst/net/gstnettimeprovider.c: 
20896         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
20897         provider, include it from gstnet.h, and add it to the build.
20898
20899         * gst/net/gstnettimepacket.h: 
20900         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
20901         sending and receiving.
20902
20903 2005-11-16  Wim Taymans  <wim@fluendo.com>
20904
20905         * check/Makefile.am:
20906         Enable valgrind check.
20907
20908         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
20909         (gst_fake_src_alloc_buffer):
20910         Fix memleak.
20911
20912 2005-11-16  Wim Taymans  <wim@fluendo.com>
20913
20914         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
20915         Call parent finalize too.
20916
20917 2005-11-16  Wim Taymans  <wim@fluendo.com>
20918
20919         * check/Makefile.am:
20920         Enable valgrind check that should work fine now.
20921
20922         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
20923         * gst/gstqueue.c: (gst_queue_init):
20924         Fix memleaks in pad allocation.
20925
20926 2005-11-16  Andy Wingo  <wingo@pobox.com>
20927
20928         * gst/net/Makefile.am:
20929         * gst/net/gstnet.h: New part of core to hold network elements and
20930         objects. Put in core because it exposes API that applications want
20931         to use. The library is named libgstnet-tempname right now because
20932         of the existing libgstnet in gst-plugins-base. Solution is
20933         probably to rename the one in plugins-base; will file a bug for
20934         the freeze break.
20935
20936         * gst/net/gstnettimeprovider.c: 
20937         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
20938         get_time call over the network.
20939
20940         * configure.ac: 
20941         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
20942
20943         * check/Makefile.am:
20944         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
20945         get additions shortly.
20946
20947 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20948
20949         * gst/gstpad.c: (gst_pad_new_from_static_template):
20950         * gst/gstpad.h:
20951           add gst_pad_new_from_static_template functions
20952         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
20953         (gst_check_setup_sink_pad):
20954         * gst/elements/gsttee.c: (gst_tee_init):
20955           and use them
20956
20957 2005-11-16  Wim Taymans  <wim@fluendo.com>
20958
20959         * gst/gstpad.c: (gst_pad_pause_task):
20960         Removed warning, it's not really an error either.
20961
20962 2005-11-16  Wim Taymans  <wim@fluendo.com>
20963
20964         * gst/base/gstbasetransform.c:
20965         (gst_base_transform_prepare_output_buf),
20966         (gst_base_transform_event):
20967         Check if the caps are NULL, this can happen if the element
20968         is shutting down and the pad caps are set to NULL.
20969
20970 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20971
20972         * gst/elements/gsttee.c: (gst_tee_init):
20973           fix pad template leak in tee
20974
20975 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20976
20977         * gst/glib-compat.c: (g_value_dup_gst_object):
20978         * gst/glib-compat.h:
20979         * gst/gstpad.c: (gst_pad_set_property):
20980           use gst_object_ref when setting the pad template; this will
20981           trigger the pad template leaks on GLib 2.6 and the slaves
20982
20983 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20984
20985         * gst/glib-compat.c: (gst_flags_get_first_value):
20986         * gst/glib-compat.h:
20987         * gst/gstregistryxml.c:
20988           remove functions copied from GLib 2.6
20989
20990 2005-11-16  Michael Smith <msmith@fluendo.com>
20991
20992         * gst/Makefile.am:
20993           Don't link against VALGRIND_LIBS. That was always the wrong thing to
20994           do, but only breaks with newer valgrind versions. We're not a
20995           valgrind tool, we have no link-time dependencies on libcoregrind.
20996
20997 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20998
20999         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21000           some debug changes
21001         * gst/gstmessage.h:
21002           typo fixes
21003
21004 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21005
21006         * gst/base/gstbasesrc.c: (gst_base_src_init):
21007         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21008         * gst/gstqueue.c: (gst_queue_init):
21009         * gst/gstregistryxml.c: (load_feature):
21010           Revert all these unrefs, they don't even pass make check !
21011
21012 2005-11-15  Johan Dahlin  <johan@gnome.org>
21013
21014         * gst/base/gstbasesrc.c: (gst_base_src_init):
21015         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21016         * gst/gstqueue.c: (gst_queue_init): 
21017         Free pad templates, fixes a couple of leaks.
21018
21019 2005-11-15  Daniel Fischer  <dan at f3c dot com>
21020
21021         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21022
21023         * gst/gstpad.c: (gst_pad_get_property):
21024           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
21025           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
21026           (#321452)
21027
21028 2005-11-15  Wim Taymans  <wim@fluendo.com>
21029
21030         * gst/gstevent.c:
21031         Small doc update.
21032
21033 2005-11-15  Andy Wingo  <wingo@pobox.com>
21034
21035         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
21036
21037         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
21038         using GST_CLOCK_TIME_NONE to disable base time management.
21039         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
21040         time if it was NONE before.
21041         (gst_pipeline_change_state): Only munge the base time if
21042         stream_time != GST_CLOCK_TIME_NONE.
21043
21044         * check/gst/gstpipeline.c (test_base_time): Punt around the
21045         problem of the probe not being called, because that's not the
21046         issue I'm looking at. Add a check that setting stream_time to NONE
21047         disables base time management.
21048         
21049 2005-11-15  Wim Taymans  <wim@fluendo.com>
21050
21051         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21052         segment_stop == -1 at startup.
21053
21054         * gst/base/gstbasetransform.c: (gst_base_transform_event),
21055         (gst_base_transform_change_state):
21056         Init segment values at start.
21057
21058 2005-11-15  Wim Taymans  <wim@fluendo.com>
21059
21060         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21061         0 segment values are 0 in any format.
21062
21063         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21064         * gst/base/gstbasetransform.h:
21065         Parse newsegment correctly in basetransform
21066
21067         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
21068         Sync to clock using updated segment values.
21069
21070 2005-11-15  Andy Wingo  <wingo@pobox.com>
21071
21072         * check/gst/gstpipeline.c (test_base_time): Add check that the
21073         base time and stream time are reset correctly.
21074
21075 2005-11-15  Wim Taymans  <wim@fluendo.com>
21076
21077         * docs/design/part-TODO.txt:
21078         Some more TODO items.
21079
21080 2005-11-15  Andy Wingo  <wingo@pobox.com>
21081
21082         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
21083         error if the user selected "no clock" as the clocking method.
21084
21085         * check/gst/gstpipeline.c (test_base_time): New test for buffer
21086         timestamps with live capture.
21087
21088         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
21089         is 0 but we are a live source, timestamp the buffers using the
21090         element's clock.
21091
21092 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
21093
21094         * docs/gst/gstreamer-sections.txt:
21095         * gst/gsterror.c:
21096         * gst/gstghostpad.c:
21097         * gst/gstobject.h:
21098         * gst/gstxml.c:
21099           more section docs
21100
21101 2005-11-14  Wim Taymans  <wim@fluendo.com>
21102
21103         * common/gst.supp:
21104           add suppressions from Wim's Debian machine
21105
21106 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
21107
21108         * common/gst.supp:
21109           add suppressions from Andy's AMD64 Ubuntu machine
21110
21111 2005-11-14  Andy Wingo  <wingo@pobox.com>
21112
21113         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
21114         STATE_LOCK not necessary. Fixes #311489.
21115
21116         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
21117         #305291.
21118
21119         * gst/gstindex.c (gst_index_add_object): Note in the docs that
21120         this function is not implemented.
21121
21122 2005-11-14  Julien MOUTTE  <julien@moutte.net>
21123
21124         * gst/base/gstbasetransform.c:
21125         (gst_base_transform_prepare_output_buf):
21126         Ref the source pad caps while we need them.
21127         Fixes (#321386)
21128
21129 2005-11-11  Wim Taymans  <wim@fluendo.com>
21130
21131         * docs/gst/gstreamer-sections.txt:
21132         Added some docs for GstCollectData.
21133
21134         * gst/base/gstadapter.c:
21135         Some small code example fix.
21136
21137         * gst/base/gstcollectpads.c:
21138         * gst/base/gstcollectpads.h:
21139         Document some more.
21140
21141 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21142
21143         * configure.ac: back to HEAD
21144
21145 === release 0.9.5 ===
21146
21147 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
21148
21149         * configure.ac:
21150           releasing 0.9.5, "Bike Lunch Day"
21151
21152 2005-11-11  Wim Taymans  <wim@fluendo.com>
21153
21154         * gst/gstbuffer.c: (_gst_buffer_copy):
21155         Copy more flags.
21156
21157         * gst/gstcaps.c: (gst_caps_is_equal):
21158         Fix some docs.
21159         Make _is_equal fast in the trivial cases.
21160
21161         * gst/gstminiobject.c:
21162         * gst/gstminiobject.h:
21163         More docs. Spifify .h file.
21164
21165         * gst/gstutils.c:
21166         Small doc update.
21167
21168 2005-11-11  Wim Taymans  <wim@fluendo.com>
21169
21170         * gst/base/gstbasetransform.c:
21171         (gst_base_transform_prepare_output_buf),
21172         (gst_base_transform_handle_buffer):
21173         Small cleanups.
21174         If we're processing a buffer and need to allocate an output
21175         buffer, we cannot accept a format change. If we did get a 
21176         format change, we have to alloc a buffer ourselves of the 
21177         right size.
21178
21179 2005-11-11  Wim Taymans  <wim@fluendo.com>
21180
21181         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
21182         While checking the flag for reentrancy in the gstcaps function
21183         is nice to detect recursive invocations, it also makes it 
21184         impossible to call getcaps from multiple threads, which must be
21185         possible. So, checking for recursive calls has to go.
21186
21187 2005-11-11  Michael Smith <msmith@fluendo.com>
21188
21189         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21190           Don't sync on buffers that fall partially outside our current
21191           segment. Prevents an assertion failure/abort playing some files.
21192
21193 2005-11-10  Andy Wingo  <wingo@pobox.com>
21194
21195         * check/gst/gstbin.c (test_message_state_changed_children): Style
21196         fix..
21197
21198         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
21199         gst_bus_poll with the signal watch. Ensures that poll and a signal
21200         watch see the same messages.
21201
21202         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
21203         a poll and a watch at the same time get the same messages.
21204
21205 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21206
21207         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
21208         * gst/gstcaps.c: (gst_caps_intersect):
21209           Don't call gst_caps_do_simplify - it doesn't respect order of caps
21210           and it's not needed.
21211
21212 2005-11-10  Wim Taymans  <wim@fluendo.com>
21213
21214         * docs/design/part-TODO.txt:
21215         Updated todo.
21216
21217 2005-11-10  Wim Taymans  <wim@fluendo.com>
21218
21219         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21220         * gst/base/gstbasesrc.c: (gst_base_src_wait),
21221         (gst_base_src_do_sync), (gst_base_src_get_range):
21222         Implement clock sync in base class.
21223
21224 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21225
21226         patch by: Tim-Philipp Müller <tim at centricular dot net>
21227
21228         * gst/gststructure.c: (gst_structure_parse_field),
21229         (gst_structure_from_string):
21230           Forward-port a 0.8 patch to handle escaped spaces in structure string,
21231           so that gst_parse_launch() can deal with spaces in filtered link
21232           caps (fixes #164479)
21233         * check/gst/capslist.h:
21234         * check/gst/gststructure.c: (GST_START_TEST):
21235           add unit tests for this change
21236
21237 2005-11-10  Wim Taymans  <wim@fluendo.com>
21238
21239         * docs/gst/gstreamer-sections.txt:
21240         * gst/gstelement.c:
21241         * gst/gstelement.h:
21242         Fix docs, move some STATE macros to private.
21243
21244 2005-11-10  Wim Taymans  <wim@fluendo.com>
21245
21246         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21247         Added check for bug #317341
21248
21249         * gst/gstbuffer.c:
21250         * gst/gstbuffer.h:
21251         Some more spiffifying.
21252
21253         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
21254         Call peer linkfunction if we are a source pad. Totally fixes
21255         #317341
21256
21257         * gst/gstpad.c:
21258         Update docs, source pads should call the peer linkfunction
21259         so they can atomically perform the pad link.
21260
21261 2005-11-09  Wim Taymans  <wim@fluendo.com>
21262
21263         * gst/gstbuffer.c:
21264         * gst/gstbuffer.h:
21265         Uber-spiffy-spiffify some more.
21266
21267 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
21268
21269         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
21270         * gst/elements/gstfilesink.c: (gst_file_sink_init):
21271         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21272         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
21273         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
21274         * gst/gstpad.c: (gst_pad_init):
21275           Use GST_DEBUG_FUNCPTR() more extensively.
21276
21277 2005-11-09  Wim Taymans  <wim@fluendo.com>
21278
21279         * gst/gstobject.c: (gst_object_class_init):
21280         * gst/gstobject.h:
21281         Documentation fixes.
21282
21283 2005-11-09  Edward Hervey  <edward@fluendo.com>
21284
21285         * gst/gsttypefindfactory.c:
21286         Fix docs.
21287         
21288 2005-11-09  Edward Hervey  <edward@fluendo.com>
21289
21290         * gst/base/gsttypefindhelper.c:
21291         * gst/gsttypefind.c:
21292         * gst/gsttypefind.h:
21293         Fix docs.
21294
21295 2005-11-09  Wim Taymans  <wim@fluendo.com>
21296
21297         * gst/gstiterator.c:
21298         Fix revision data.
21299
21300         * gst/gsttask.c:
21301         * gst/gsttask.h:
21302         Fix docs.
21303
21304 2005-11-09  Wim Taymans  <wim@fluendo.com>
21305
21306         * gst/gstevent.h:
21307         * gst/gsturi.h:
21308         Fix docs.
21309
21310 2005-11-09  Wim Taymans  <wim@fluendo.com>
21311
21312         * docs/gst/gstreamer-sections.txt:
21313         Moved the message async delivery private lock and cond
21314         to the private section.
21315
21316         * gst/gstmessage.c:
21317         * gst/gstmessage.h:
21318         Fixed docs.
21319
21320 2005-11-09  Edward Hervey  <edward@fluendo.com>
21321
21322         * docs/gst/gstreamer-sections.txt:
21323         * gst/gsturi.c:
21324         * gst/gsturi.h:
21325         Document GstURIHandler
21326
21327 2005-11-09  Wim Taymans  <wim@fluendo.com>
21328
21329         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
21330         (gst_iterator_find_custom):
21331         * gst/gstiterator.h:
21332         Fix iterator docs.
21333
21334 2005-11-09  Wim Taymans  <wim@fluendo.com>
21335
21336         * gst/gstbin.h:
21337         Document another field.
21338
21339         * gst/gststructure.c:
21340         * gst/gststructure.h:
21341         Document.
21342
21343 2005-11-09  Wim Taymans  <wim@fluendo.com>
21344
21345         * gst/gstbin.h:
21346         Documented structs.
21347
21348 2005-11-09  Wim Taymans  <wim@fluendo.com>
21349
21350         * docs/gst/gstreamer-sections.txt:
21351         Added some new macros.
21352
21353         * gst/gstclock.c:
21354         * gst/gstclock.h:
21355         * gst/gstobject.h:
21356         Docs updates.
21357
21358 2005-11-09  Wim Taymans  <wim@fluendo.com>
21359
21360         * docs/design/part-TODO.txt:
21361         Some more items for the TODO
21362
21363         * gst/gstcaps.c:
21364         * gst/gstcaps.h:
21365         Document GstCaps.
21366
21367 2005-11-09  Andy Wingo  <wingo@pobox.com>
21368
21369         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
21370         to work on something else now tho...
21371
21372         * gst/base/gstadapter.c: More adapter docs.
21373
21374         * gst/elements/gstfilesink.c (gst_file_sink_start) 
21375         (gst_file_sink_stop): New functions, replace the state change
21376         handler.
21377         (gst_file_sink_class_init): Hook up the start and stop functions.
21378         (gst_file_sink_base_init): Don't set the state change handler any
21379         more. It was a bit ugly too, being set from here...
21380         (gst_file_sink_get_property, gst_file_sink_set_property):
21381         Cleanups...
21382         (gst_file_sink_set_location): More robust check that doesn't call
21383         GST_STATE. Ugggggg.
21384
21385 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
21386
21387         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21388           Hold STREAM_LOCK while pushing newsegment or tag events as well.
21389
21390 2005-11-08  Wim Taymans  <wim@fluendo.com>
21391
21392         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21393         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
21394         (gst_base_sink_chain), (gst_base_sink_change_state):
21395         * gst/base/gstbasesink.h:
21396         * gst/base/gstbasesrc.h:
21397         * gst/gstelement.h:
21398         * gst/gstevent.h:
21399         Avoid excessive typechecking in macros.
21400
21401         * gst/gstminiobject.c: (gst_mini_object_get_type),
21402         (gst_mini_object_init), (gst_mini_object_new),
21403         (gst_mini_object_free):
21404         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
21405         (gst_object_finalize):
21406         Remove cruft code, optimize alloc_trace.
21407
21408 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
21409
21410         * docs/faq/gst-uninstalled:
21411           fix up PS1 for systems that try to reset it
21412
21413 2005-11-07  Wim Taymans  <wim@fluendo.com>
21414
21415         * gst/base/gstbasesrc.c: (gst_base_src_init),
21416         (gst_base_src_get_range):
21417         Set the segment_end to -1 initially. Fixed typefind.
21418
21419 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
21420
21421         * gst/base/gstadapter.c:
21422           Debug category should be 'adapter', not 'GstAdapter'.
21423           
21424         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
21425         (gst_collectpads_class_init), (gst_collectpads_init),
21426         (gst_collectpads_peek), (gst_collectpads_pop),
21427         (gst_collectpads_event), (gst_collectpads_chain):
21428           Add debug category and some debugging output. Use boilerplate
21429           macros. Remove some extraneous words from docs.
21430
21431 2005-11-05  Andy Wingo  <wingo@pobox.com>
21432
21433         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
21434         macro.
21435
21436 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21437
21438         * docs/gst/gstreamer-sections.txt:
21439         * gst/gstcaps.h:
21440         * gst/gstinfo.c:
21441         * gst/gstminiobject.h:
21442         * gst/gstobject.h:
21443         * gst/gstutils.h:
21444           more docs added
21445
21446 2005-11-04  Wim Taymans  <wim@fluendo.com>
21447
21448         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21449         Small update to stop at the configured segment_end
21450         position.
21451
21452 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21453
21454         * gst/gstregistry.c:
21455         * gst/gstregistry.h:
21456           added missing docs
21457
21458 2005-11-04  Edward Hervey  <edward@fluendo.com>
21459
21460         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21461         Check if we are doing a segment seek and have arrived at the
21462         end of that segment.
21463
21464 2005-11-04  Wim Taymans  <wim@fluendo.com>
21465
21466         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
21467         Don't leak a mutex unlock in case of an error.
21468
21469         * gst/gstbus.h:
21470         Doc fixes.
21471
21472 2005-11-04  Wim Taymans  <wim@fluendo.com>
21473
21474         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
21475         (gst_bus_post):
21476         Get the context to wake up only once.
21477
21478 2005-11-03  Wim Taymans  <wim@fluendo.com>
21479
21480         * check/states/sinks.c: (GST_START_TEST):
21481         Uncomment fixed check.
21482
21483         * docs/design/part-TODO.txt:
21484         Updated TODO.
21485
21486         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21487         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21488         (gst_base_sink_get_position):
21489         If we are going to PLAYING, post the right pending state
21490         when we post the intermediate paused message.
21491
21492         * gst/gstelement.c: (gst_element_continue_state),
21493         (gst_element_set_state_func), (gst_element_change_state):
21494         Don't post state changes that were between the same state
21495         and were not ASYNC.
21496
21497 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21498
21499         * docs/gst/gstreamer-sections.txt:
21500         * gst/gstcaps.h:
21501         * gst/gstinfo.c:
21502         * gst/gstminiobject.h:
21503         * gst/gstobject.h:
21504         * gst/gstutils.h:
21505           more docs and doc style fixes
21506
21507 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21508
21509         * docs/gst/gstreamer-sections.txt:
21510         * gst/gstelement.c:
21511         * gst/gstminiobject.c:
21512         doc fixes
21513
21514 2005-11-03  Andy Wingo  <wingo@pobox.com>
21515
21516         * check/states/sinks.c (test_livesrc_sink): Add checks that the
21517         state-changed messages actually have the right order and the right
21518         values.
21519
21520 2005-11-03  Wim Taymans  <wim@fluendo.com>
21521
21522         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21523         Added some more checks. Specifically the case where NO_PREROLL
21524         elements are in the pipeline.
21525
21526         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21527         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21528         (gst_base_sink_get_position):
21529         Post READY->PAUSED state change messages too.
21530         Fix bug where VOID was posted as pending state...
21531
21532         * gst/gstbin.c: (gst_bin_recalc_state):
21533         use _element_continue_state() to continue the state change.
21534
21535         * gst/gstelement.c: (gst_element_continue_state),
21536         (gst_element_commit_state), (gst_element_set_state_func),
21537         (gst_element_change_state), (gst_element_change_state_func):
21538         Lots of state change cleanups, assign the STATE_RETURN in
21539         a new continue_state() function that also propagates the
21540         last return value from a state change to the app.
21541         Update some debug statements with proper category.
21542
21543 2005-11-03  Wim Taymans  <wim@fluendo.com>
21544
21545         * docs/design/part-events.txt:
21546         * docs/design/part-gstpipeline.txt:
21547         * docs/design/part-messages.txt:
21548         * docs/design/part-overview.txt:
21549         * docs/design/part-seeking.txt:
21550         * docs/design/part-states.txt:
21551         * docs/design/part-trickmodes.txt:
21552         * docs/manual/advanced-position.xml:
21553         Small docs updates.
21554
21555         * gst/gstobject.h:
21556         People think !! is ugly, this looks better.
21557
21558         * gst/gstpad.c: (gst_pad_set_blocked_async):
21559         Remove !! since it's fixed elsewhere now.
21560
21561 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21562
21563         * gst/gstminiobject.h:
21564         * gst/gstobject.h:
21565           Add !! to _FLAG_IS_SET macros to make the result boolean.
21566
21567 2005-11-03  Edward Hervey  <edward@fluendo.com>
21568
21569         * gst/gstpad.c: (gst_pad_set_blocked_async):
21570         comparing a flag and a gboolean rarely returns coherent results...
21571         Added two characters (!!) to make that work correctly.
21572         
21573 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21574
21575         * gst/gstbus.c: (gst_bus_class_init):
21576           Fix some typos.
21577           
21578         * gst/gstqueue.c: (gst_queue_loop):
21579           Don't assume a miniobject that isn't a buffer is an
21580           event (it could be that there is a refcounting
21581           problem somewhere and the pointer is stale and
21582           refers to an already destroyed miniobject).
21583
21584 2005-11-03  Julien MOUTTE  <julien@moutte.net>
21585
21586         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
21587
21588 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21589
21590         * docs/manual/advanced-position.xml:
21591           Update seek example and explanations to current 0.9 API.
21592
21593         * gst/elements/gsttypefindelement.c:
21594         (gst_type_find_element_activate):
21595           Remove FIXME comment now that the found caps
21596           are unreffed.
21597
21598 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21599
21600         * gst/gstregistryxml.c: (load_feature):
21601           Add another GST_STR_NULL instance
21602
21603 2005-11-02  Edward Hervey  <edward@fluendo.com>
21604
21605         * gst/gstpad.c: (handle_pad_block):
21606         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
21607         
21608 2005-11-02  Wim Taymans  <wim@fluendo.com>
21609
21610         * gst/gstbin.c:
21611         Fix typo in docs.
21612
21613         * gst/gstelement.c: (gst_element_commit_state):
21614         Remove unused value.
21615
21616         * gst/gstiterator.c:
21617         Mention that the returned element is reffed in the docs.
21618
21619 2005-11-02  Wim Taymans  <wim@fluendo.com>
21620
21621         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
21622         (gst_pad_push), (gst_pad_push_event):
21623         Unlock blocked pads when they are flushed.
21624
21625 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21626
21627         * docs/README:
21628         * docs/gst/gstreamer-sections.txt:
21629         * gst/gstbin.c:
21630           doc updates
21631         * gst/gstregistry.c: (gst_registry_scan_path_level):
21632           fix for a nasty little missed situation where an installed plug-in
21633           which was in the cache did not get overridden by an uninstalled one
21634           which was earlier in the plugin path because the newly created plugin
21635           for the uninstalled one (not in the registry) didn't get its
21636           ->registered set to TRUE
21637
21638 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
21639
21640         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
21641         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
21642         (gst_collectpads_is_active), (gst_collectpads_collect),
21643         (gst_collectpads_collect_range), (gst_collectpads_start),
21644         (gst_collectpads_stop), (gst_collectpads_peek),
21645         (gst_collectpads_pop), (gst_collectpads_available),
21646         (gst_collectpads_read), (gst_collectpads_flush):
21647           Guard public API with assertions.
21648         
21649         * gst/gstpad.c:
21650           Fix docs for gst_pad_set_link_function().
21651
21652 2005-11-02  Johan Dahlin  <johan@gnome.org>
21653
21654         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
21655         Unref found_caps after we used it.
21656
21657 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
21658
21659         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
21660           Don't try to ref NULL.
21661
21662 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21663
21664         * win32/common/config.h.in:
21665           provide a GST_FUNCTION that just gives a string for now
21666
21667 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21668
21669         * win32/common/gstenumtypes.c: (register_gst_object_flags),
21670         (gst_object_flags_get_type), (register_gst_bin_flags),
21671         (gst_bin_flags_get_type), (register_gst_buffer_flag),
21672         (gst_buffer_flag_get_type), (register_gst_bus_flags),
21673         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
21674         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
21675         (gst_clock_return_get_type), (register_gst_clock_entry_type),
21676         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
21677         (gst_clock_flags_get_type), (register_gst_state),
21678         (gst_state_get_type), (register_gst_state_change_return),
21679         (gst_state_change_return_get_type), (register_gst_state_change),
21680         (gst_state_change_get_type), (register_gst_element_flags),
21681         (gst_element_flags_get_type), (register_gst_core_error),
21682         (gst_core_error_get_type), (register_gst_library_error),
21683         (gst_library_error_get_type), (register_gst_resource_error),
21684         (gst_resource_error_get_type), (register_gst_stream_error),
21685         (gst_stream_error_get_type), (register_gst_event_type),
21686         (gst_event_type_get_type), (register_gst_seek_type),
21687         (gst_seek_type_get_type), (register_gst_seek_flags),
21688         (gst_seek_flags_get_type), (register_gst_format),
21689         (gst_format_get_type), (register_gst_index_certainty),
21690         (gst_index_certainty_get_type), (register_gst_index_entry_type),
21691         (gst_index_entry_type_get_type),
21692         (register_gst_index_lookup_method),
21693         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
21694         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
21695         (gst_index_resolver_method_get_type), (register_gst_index_flags),
21696         (gst_index_flags_get_type), (register_gst_debug_level),
21697         (gst_debug_level_get_type), (register_gst_debug_color_flags),
21698         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
21699         (gst_iterator_result_get_type), (register_gst_iterator_item),
21700         (gst_iterator_item_get_type), (register_gst_message_type),
21701         (gst_message_type_get_type), (register_gst_mini_object_flags),
21702         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
21703         (gst_pad_link_return_get_type), (register_gst_flow_return),
21704         (gst_flow_return_get_type), (register_gst_activate_mode),
21705         (gst_activate_mode_get_type), (register_gst_pad_direction),
21706         (gst_pad_direction_get_type), (register_gst_pad_flags),
21707         (gst_pad_flags_get_type), (register_gst_pad_presence),
21708         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
21709         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
21710         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
21711         (gst_plugin_error_get_type), (register_gst_plugin_flags),
21712         (gst_plugin_flags_get_type), (register_gst_rank),
21713         (gst_rank_get_type), (register_gst_query_type),
21714         (gst_query_type_get_type), (register_gst_tag_merge_mode),
21715         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
21716         (gst_tag_flag_get_type), (register_gst_task_state),
21717         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
21718         (gst_alloc_trace_flags_get_type),
21719         (register_gst_type_find_probability),
21720         (gst_type_find_probability_get_type), (register_gst_uri_type),
21721         (gst_uri_type_get_type), (register_gst_parse_error),
21722         (gst_parse_error_get_type):
21723         * win32/common/gstversion.h:
21724           update win32 copies
21725
21726 2005-11-01  Luca Ognibene  <luogni@tin.it>
21727
21728         * gst/gst.c:
21729           fix docs. popt is dead, long live GOption.
21730
21731 2005-10-31  Wim Taymans  <wim@fluendo.com>
21732
21733         * gst/gstbuffer.h:
21734         Small doc fix.
21735
21736 2005-10-31  Andy Wingo  <wingo@pobox.com>
21737
21738         * Boo!
21739
21740         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
21741
21742         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
21743         need to serialize property notifications on GLib 2.8. GLib 2.6 has
21744         the possibility of deadlocks here if code calling notify() or
21745         set() has a lock that can be taken in another notify handler (ABBA
21746         with class lock and e.g. python GIL state lock).
21747
21748 2005-10-28  Julien MOUTTE  <julien@moutte.net>
21749
21750         * gst/gstbus.c: Doc updates.
21751
21752 2005-10-28  Wim Taymans  <wim@fluendo.com>
21753
21754         * docs/design/part-TODO.txt:
21755         * gst/gstiterator.c:
21756         * gst/gstsystemclock.c:
21757         * gst/gstsystemclock.h:
21758         Doc updates.
21759
21760 2005-10-28  Edward Hervey  <edward@fluendo.com>
21761
21762         * docs/gst/gstreamer-docs.sgml:
21763         * docs/gst/gstreamer-sections.txt:
21764         the GstURIType documentation page is private, it only defines GstURIType
21765         which should be defined in the GstURIHandler page
21766         
21767 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
21768
21769         * gst/gstbin.c: (gst_bin_class_init):
21770         * gst/gstbin.h:
21771         * gst/gstutils.c:
21772         Documentation updates.
21773
21774 2005-10-28  Wim Taymans  <wim@fluendo.com>
21775
21776         * docs/gst/gstreamer-sections.txt:
21777         * gst/gstclock.c:
21778         * gst/gstclock.h:
21779         Documented the clocks.
21780
21781 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
21782
21783         * docs/gst/gstreamer-sections.txt:
21784           move some macros to private sections
21785         * gst/gstminiobject.c:
21786         * gst/gstminiobject.h:
21787           add descriptions provided by ds and some more
21788         * gst/gstpad.h:
21789           mark macro as to be removed
21790
21791 2005-10-28  Wim Taymans  <wim@fluendo.com>
21792
21793         * docs/design/part-TODO.txt:
21794         Add an item to TODO.
21795
21796         * gst/gstiterator.c: (gst_iterator_fold),
21797         (gst_iterator_find_custom):
21798         * gst/gstiterator.h:
21799         Add iterator docs.
21800
21801 2005-10-28  Wim Taymans  <wim@fluendo.com>
21802
21803         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
21804         (gst_base_transform_init):
21805         Don't leak class.
21806
21807         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
21808         An EOS event marks the queue as completely filled.
21809
21810 2005-10-27  Wim Taymans  <wim@fluendo.com>
21811
21812         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21813         (gst_base_sink_do_sync), (gst_base_sink_get_position):
21814         Some more debugging.
21815
21816         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
21817         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
21818         (gst_base_transform_event), (gst_base_transform_getrange),
21819         (gst_base_transform_chain):
21820         * gst/base/gstbasetransform.h:
21821         Fix debugging,
21822         Protect transform and concurrent buffer alloc with a new lock.
21823         Try not to break ABI/API.
21824
21825 2005-10-27  Wim Taymans  <wim@fluendo.com>
21826
21827         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
21828         (gst_base_src_init), (gst_base_src_query),
21829         (gst_base_src_default_newsegment),
21830         (gst_base_src_configure_segment), (gst_base_src_do_seek),
21831         (gst_base_src_send_event), (gst_base_src_event_handler),
21832         (gst_base_src_pad_get_range), (gst_base_src_loop),
21833         (gst_base_src_unlock), (gst_base_src_default_negotiate),
21834         (gst_base_src_start), (gst_base_src_deactivate),
21835         (gst_base_src_activate_push), (gst_base_src_change_state):
21836         Move some stuff around and cleanup things.
21837
21838 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
21839
21840         * gst/base/gstbasesrc.c: (gst_base_src_query):
21841           Add missing break statements.
21842
21843 2005-10-27  Wim Taymans  <wim@fluendo.com>
21844
21845         * check/gst/gstbin.c: (GST_START_TEST):
21846         An extra refcount is taken in basesrc.
21847
21848         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
21849         (gst_base_src_get_range), (gst_base_src_pad_get_range),
21850         (gst_base_src_loop):
21851         Small cleanups, check for flushing after being unlocked from the 
21852         LIVE_LOCK. take refcounts correctly (not yet everywhere).
21853         Don't send out EOS when going to READY.
21854
21855 2005-10-27  Wim Taymans  <wim@fluendo.com>
21856
21857         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21858         (gst_base_sink_get_position):
21859         Some more debug.
21860
21861         * gst/gstbin.c: (message_check), (bin_replace_message),
21862         (bin_remove_messages), (is_eos), (gst_bin_add_func),
21863         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
21864         (bin_query_duration_init), (bin_query_duration_fold),
21865         (bin_query_duration_done), (bin_query_generic_fold),
21866         (gst_bin_query):
21867         * tools/gst-launch.c: (main):
21868         Remove old option.
21869
21870 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
21871
21872         * examples/controller/audio-example.c: (main):
21873         * examples/queue/queue.c: (event_loop):
21874         * gst/base/gstbasetransform.h:
21875         * gst/gstelement.c: (gst_element_send_event):
21876         * gst/gstevent.h:
21877         * gst/gstpad.c: (gst_pad_send_event):
21878           fixing examples
21879           fixing docs typos
21880           changing log priority in error situations
21881
21882 2005-10-25  Wim Taymans  <wim@fluendo.com>
21883
21884         * gst/gstbin.c: (message_check), (bin_replace_message),
21885         (bin_remove_messages), (is_eos), (gst_bin_add_func),
21886         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
21887         (bin_query_duration_init), (bin_query_duration_fold),
21888         (bin_query_duration_done), (bin_query_generic_fold),
21889         (gst_bin_query):
21890         Some doc and debug updates.
21891         Cache previously requested query DURATION for speed. invalidate
21892         cached duration if element posts a DURATION message.
21893
21894 2005-10-25  Wim Taymans  <wim@fluendo.com>
21895
21896         * docs/design/part-TODO.txt:
21897         Update TODO.
21898
21899         * gst/gstbin.c: (message_check), (bin_replace_message),
21900         (bin_remove_messages), (is_eos), (gst_bin_add_func),
21901         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
21902         (bin_query_duration_init), (bin_query_duration_fold),
21903         (bin_query_duration_done), (bin_query_generic_fold),
21904         (gst_bin_query):
21905         Handle SEGMENT_START/DONE messages correctly.
21906         More evolved query algorithm that handles duration queries
21907         correctly.
21908
21909         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
21910         (gst_element_get_state_func), (gst_element_abort_state),
21911         (gst_element_commit_state), (gst_element_lost_state):
21912         Some more debugging.
21913
21914         * gst/gstmessage.h:
21915         Added doc.
21916
21917 2005-10-25  Wim Taymans  <wim@fluendo.com>
21918
21919         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
21920         Don't use invalid stream_time.
21921
21922         * gst/gstevent.c: (gst_event_new_newsegment):
21923         stream_time in newsegment cannot be undefined.
21924
21925 2005-10-24  Wim Taymans  <wim@fluendo.com>
21926
21927         * gst/gstbus.c:
21928         Doc fix.
21929
21930         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
21931         (gst_queue_loop):
21932         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
21933
21934 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
21935
21936         * docs/libs/tmpl/gstdparam.sgml:
21937         * docs/libs/tmpl/gstdplinint.sgml:
21938         * docs/libs/tmpl/gstdpman.sgml:
21939         * docs/libs/tmpl/gstdpsmooth.sgml:
21940         * docs/libs/tmpl/gstunitconvert.sgml:
21941           these are obsolete
21942
21943 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
21944
21945         * configure.ac:
21946           back to HEAD
21947
21948 === release 0.9.4 ===
21949
21950 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
21951
21952         * configure.ac:
21953           releasing 0.9.4, "Tyrannosaurus Rex"
21954
21955 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
21956
21957         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
21958         (gst_file_sink_get_current_offset):
21959           Use fseeko() and ftello() if available. When falling back on
21960           lseek() to get the current offset, fflush() first to make sure
21961           everything is up-to-date and we get the right offset.
21962
21963 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
21964
21965         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21966         * gst/base/gstbasesrc.c: (gst_base_src_loop):
21967         * gst/gsterror.c: (_gst_stream_errors_init):
21968         * gst/gsterror.h:
21969         * gst/gstqueue.c: (gst_queue_loop):
21970         * po/POTFILES.in:
21971           remove prematurely added error category and clean up the instances
21972
21973 2005-10-21  Wim Taymans  <wim@fluendo.com>
21974
21975         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21976         (gst_base_sink_get_position), (gst_base_sink_query),
21977         (gst_base_sink_change_state):
21978         Simply set the right flag when going to playing, that's all
21979         we need to do instead of calling a function inside the object
21980         lock (that could take the lock as well and deadlock)
21981
21982 2005-10-21  Wim Taymans  <wim@fluendo.com>
21983
21984         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
21985         (gst_base_src_loop):
21986         Don't warn, the peer element knows what to do best when
21987         the seek failed, it might try something else.
21988
21989 2005-10-21  Wim Taymans  <wim@fluendo.com>
21990
21991         * gst/base/gstbasesrc.c: (gst_base_src_init),
21992         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
21993         Fix seeking.
21994
21995 2005-10-21  Wim Taymans  <wim@fluendo.com>
21996
21997         * docs/design/part-segments.txt:
21998         More docs.
21999
22000         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
22001         Correctly set caps, even on the subbufer.
22002
22003 2005-10-21  Wim Taymans  <wim@fluendo.com>
22004
22005         * docs/gst/gstreamer-docs.sgml:
22006         * docs/gst/gstreamer-sections.txt:
22007         * gst/gstelement.h:
22008         * gst/gstevent.c:
22009         * gst/gstevent.h:
22010         * gst/gstmessage.h:
22011         * gst/gstpad.h:
22012         * gst/gstparse.h:
22013         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
22014         * gst/gsttask.h:
22015         * gst/gstutils.c:
22016         * gst/gstutils.h:
22017         And 2% more doc coverage.
22018
22019 2005-10-21  Andy Wingo  <wingo@pobox.com>
22020
22021         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
22022         position reporting.
22023
22024 2005-10-20  Wim Taymans  <wim@fluendo.com>
22025
22026         * gst/gsterror.c: (gst_error_get_message):
22027         * gst/gstparse.h:
22028         * gst/gstquery.h:
22029         * gst/gststructure.c:
22030         * gst/gsttrace.c:
22031         * gst/gstutils.c:
22032         More docs.
22033
22034 2005-10-20  Wim Taymans  <wim@fluendo.com>
22035
22036         * gst/gstbuffer.h:
22037         * gst/gstpad.c:
22038         * gst/gstparse.c:
22039         Another 1% more coverage.
22040
22041 2005-10-20  Wim Taymans  <wim@fluendo.com>
22042
22043         * docs/gst/gstreamer-sections.txt:
22044         * gst/gstelement.c: (gst_element_get_state_func),
22045         (gst_element_abort_state), (gst_element_commit_state),
22046         (gst_element_lost_state):
22047         * gst/gstevent.h:
22048         * gst/gstquery.c: (gst_query_set_position),
22049         (gst_query_parse_position), (gst_query_set_duration),
22050         (gst_query_parse_duration), (gst_query_new_convert):
22051         * gst/gstutils.c:
22052         Yay! 1% more docs coverage.
22053
22054 2005-10-20  Wim Taymans  <wim@fluendo.com>
22055
22056         * gst/gstpad.h:
22057         * gst/gstquery.c: (gst_query_set_position),
22058         (gst_query_parse_position), (gst_query_set_duration),
22059         (gst_query_parse_duration), (gst_query_new_convert):
22060         * gst/gstquery.h:
22061         * gst/gstutils.c: (gst_element_query_convert):
22062         * gst/gstutils.h:
22063         Docs and consistency fixes.
22064
22065 2005-10-20  Wim Taymans  <wim@fluendo.com>
22066
22067         * gst/gsttask.c:
22068         * gst/gsttask.h:
22069         More docs.
22070
22071 2005-10-20  Wim Taymans  <wim@fluendo.com>
22072
22073         * gst/gstbin.c: (message_check), (bin_replace_message),
22074         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22075         (update_degree), (gst_bin_sort_iterator_next),
22076         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
22077         Reworked the message handling a bit, cache the messages instead of
22078         only the senders. alows us to do more in the future.
22079
22080 2005-10-20  Wim Taymans  <wim@fluendo.com>
22081
22082         * docs/design/part-TODO.txt:
22083         Update TODO
22084
22085         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22086         (gst_base_sink_query):
22087         Don't use clock time to report position when in EOS.
22088
22089 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
22090
22091         * tools/gst-inspect.c: (print_interfaces),
22092         (print_element_properties_info), (print_element_info):
22093           Fix interface output with gst-inspect -a; don't print
22094           newlines after double/float properties.
22095
22096 2005-10-20  Wim Taymans  <wim@fluendo.com>
22097
22098         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22099         (gst_base_sink_query):
22100         Speed up current position calculation.
22101
22102         * gst/base/gstbasesrc.c: (gst_base_src_query),
22103         (gst_base_src_default_newsegment):
22104         Correctly set stream position in newsegment.
22105
22106         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
22107         (update_degree), (gst_bin_sort_iterator_next),
22108         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
22109         * gst/gstmessage.c: (gst_message_new_custom):
22110         Clean up debugging info
22111
22112         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22113         (gst_queue_loop), (gst_queue_handle_src_query):
22114         Pause task faster.
22115
22116 2005-10-19  Wim Taymans  <wim@fluendo.com>
22117
22118         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22119         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22120         Fix query handling again.
22121
22122 2005-10-19  Wim Taymans  <wim@fluendo.com>
22123
22124         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22125         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22126         * gst/base/gstbasesrc.c: (gst_base_src_query):
22127         * gst/elements/gstfilesink.c: (gst_file_sink_query):
22128         * gst/elements/gsttypefindelement.c:
22129         (gst_type_find_handle_src_query), (find_element_get_length),
22130         (gst_type_find_element_activate):
22131         API change fix.
22132
22133         * gst/gstquery.c: (gst_query_new_position),
22134         (gst_query_set_position), (gst_query_parse_position),
22135         (gst_query_new_duration), (gst_query_set_duration),
22136         (gst_query_parse_duration), (gst_query_set_segment),
22137         (gst_query_parse_segment):
22138         * gst/gstquery.h:
22139         Bundling query position/duration is not a good idea since duration
22140         does not change much and we don't want to recalculate it for every
22141         position query, so they are separated again..
22142         Base value in segment query is not needed.
22143
22144         * gst/gstqueue.c: (gst_queue_handle_src_query):
22145         * gst/gstutils.c: (gst_element_query_position),
22146         (gst_element_query_duration), (gst_pad_query_position),
22147         (gst_pad_query_duration):
22148         * gst/gstutils.h:
22149         Updates for query API change.
22150         Added some docs here and there.
22151
22152 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22153
22154         * check/gst/gstbin.c: (GST_START_TEST):
22155         * check/gst/gstghostpad.c: (GST_START_TEST):
22156         * check/pipelines/cleanup.c: (GST_START_TEST):
22157           wait on thread to die so we can check refcount correctly
22158
22159 2005-10-18  Wim Taymans  <wim@fluendo.com>
22160
22161         * check/pipelines/stress.c: (GST_START_TEST):
22162         Make check a little more time consuming.
22163
22164 2005-10-18  Wim Taymans  <wim@fluendo.com>
22165
22166         * check/Makefile.am:
22167         * check/pipelines/stress.c: (GST_START_TEST),
22168         (simple_launch_lines_suite), (main):
22169         Small state change torture test.
22170
22171         * docs/design/part-states.txt:
22172         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22173         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
22174         (gst_base_sink_change_state):
22175         Never take state lock from streaming thread, clean up ugly
22176         hacks. Unfortunatly core does not yet support nice ways to
22177         async commit state.
22178         
22179         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
22180         (bin_bus_handler):
22181         Start state recalc if a STATE_DIRTY message is posted, but only
22182         on the toplevel bin.
22183
22184         * gst/gstelement.c: (gst_element_sync_state_with_parent),
22185         (gst_element_get_state_func), (gst_element_abort_state),
22186         (gst_element_commit_state), (gst_element_lost_state),
22187         (gst_element_set_state_func), (gst_element_change_state):
22188         * gst/gstelement.h:
22189         State variables are now protected with the LOCK, the state
22190         lock is only used to serialize _set_state().
22191
22192 2005-10-18  Wim Taymans  <wim@fluendo.com>
22193
22194         * check/gst/gstbin.c: (GST_START_TEST):
22195         * check/gst/gstmessage.c: (GST_START_TEST):
22196         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22197         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
22198         (bin_bus_handler):
22199         * gst/gstelement.c: (gst_element_abort_state),
22200         (gst_element_commit_state), (gst_element_lost_state):
22201         * gst/gstmessage.c: (gst_message_new_state_changed),
22202         (gst_message_new_state_dirty), (gst_message_new_segment_start),
22203         (gst_message_new_segment_done), (gst_message_new_duration),
22204         (gst_message_parse_state_changed),
22205         (gst_message_parse_segment_start),
22206         (gst_message_parse_segment_done), (gst_message_parse_duration):
22207         * gst/gstmessage.h:
22208         * tools/gst-launch.c: (event_loop):
22209         Seriously, this is better than a previous commit as we only need
22210         to notify the fact that an element changed state in a streaming
22211         thread, marking the state of the parents dirty, hence the 
22212         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
22213         message.
22214
22215 2005-10-18  Wim Taymans  <wim@fluendo.com>
22216
22217         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
22218         (gst_bin_recalc_func):
22219         * gst/gstelement.c: (gst_element_set_clock),
22220         (gst_element_abort_state), (gst_element_lost_state):
22221         Cleanups, prepare for state change fixes.
22222
22223 2005-10-18  Wim Taymans  <wim@fluendo.com>
22224
22225         * gst/gstbin.h:
22226         * gst/gstelement.c: (gst_element_class_init),
22227         (gst_element_set_state), (gst_element_set_state_func):
22228         * gst/gstelement.h:
22229         Pending ABI changes.
22230         GThreadPool in GstBinClass to monitor async state changes.
22231         state_cookie in GstElement to detect concurrent gst/set state.
22232         set_state is now virtual too in case a very complicated element
22233         has to be constructed.
22234
22235 2005-10-18  Wim Taymans  <wim@fluendo.com>
22236
22237         * check/gst/gstbin.c: (GST_START_TEST):
22238         * check/gst/gstmessage.c: (GST_START_TEST):
22239         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22240         * gst/gstbin.c: (bin_bus_handler):
22241         * gst/gstelement.c: (gst_element_commit_state),
22242         (gst_element_lost_state):
22243         * gst/gstmessage.c: (gst_message_new_state_changed),
22244         (gst_message_new_segment_start), (gst_message_new_segment_done),
22245         (gst_message_new_duration), (gst_message_parse_state_changed),
22246         (gst_message_parse_segment_start),
22247         (gst_message_parse_segment_done), (gst_message_parse_duration):
22248         * gst/gstmessage.h:
22249         * tools/gst-launch.c: (event_loop):
22250         Make messages future proof.
22251         state-change gets a flag if it was a message comming from the
22252         streaming thread.
22253         segment-start/stop can also be specified in other formats.
22254         A message to notify an app that a pipeline changed playback 
22255         duration.
22256         Also fix a GstMessage leak in -launch
22257
22258 2005-10-18  Andy Wingo  <wingo@pobox.com>
22259
22260         * gst/gstelement.c (gst_element_dispose): More helpful message.
22261
22262 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22263
22264         reviewed by: <delete if not using a buddy>
22265
22266         * common/gtk-doc.mak:
22267
22268 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22269
22270         * gst/gstregistry.c: (gst_registry_scan_path_level):
22271           unref a plug-in we get that was already initialized
22272
22273 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
22274
22275         * docs/gst/gstreamer-sections.txt:
22276         * docs/libs/gstreamer-libs-sections.txt:
22277         * gst/gstelement.h:
22278           add new api entries
22279           hide internal macro
22280
22281 2005-10-17  Andy Wingo  <wingo@pobox.com>
22282
22283         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
22284         cleanup.
22285
22286         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
22287
22288         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
22289
22290         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
22291         (gst_element_get_state_func): Better debug message.
22292         (gst_element_commit_state): s/INFO/DEBUG/.
22293         (gst_element_lost_state, gst_element_change_state): 
22294
22295         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
22296         (gst_message_new_custom): s/INFO/LOG/.
22297
22298 2005-10-17  Michael Smith <msmith@fluendo.com>
22299
22300         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
22301           Check if end time is valid using end time, not start time.
22302
22303 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
22304
22305         * check/gst-libs/controller.c: (GST_START_TEST),
22306         (gst_controller_suite):
22307         * libs/gst/controller/gstcontroller.c:
22308         (gst_controlled_property_set_interpolation_mode):
22309         * libs/gst/controller/gstcontroller.h:
22310         * libs/gst/controller/gstinterpolation.c:
22311         * testsuite/controller/.cvsignore:
22312         * testsuite/controller/Makefile.am:
22313         * testsuite/controller/interpolator.c:
22314           merge controller testsuites
22315           fix broken tests
22316           remove mem-chunk from docs
22317
22318 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22319
22320         * gst/gstmemchunk.c:
22321         * gst/gstmemchunk.h:
22322         * gst/gsttrashstack.c:
22323         * gst/gsttrashstack.h:
22324           out.  get out.  you're fired.  to the Attic !
22325
22326 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22327
22328         * gst/gstcaps.c: (gst_caps_intersect):
22329           fix signedness issues in a (hopefully) correct way
22330         * gst/gstelement.c: (gst_element_pads_activate):
22331           some debugging
22332         * gst/gstobject.c: (gst_object_set_parent):
22333           some debugging
22334
22335 2005-10-17  Julien MOUTTE  <julien@moutte.net>
22336
22337         * gst/gstvalue.h: Fix prototypes.
22338
22339 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22340
22341         * docs/gst/gstreamer-sections.txt:
22342         * gst/gst.c: (gst_version_string):
22343         * gst/gst.h:
22344         * gst/gstversion.h.in:
22345         * win32/common/libgstreamer.def:
22346           add gst_version_string ()
22347
22348 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22349
22350         * configure.ac:
22351           clean up further
22352         * gst/gst.c: (init_post):
22353         * win32/common/config.h.in:
22354           it's PLUGINDIR now
22355         * gst/gstcaps.c: (gst_caps_intersect):
22356           use gint64, the range could be bigger than a guint
22357
22358 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22359
22360         * gst/gstclock.h:
22361           document potential problem in 2038
22362
22363 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22364
22365         * gst/gstcaps.c: (gst_caps_intersect):
22366           Fix guint j diving under 0
22367
22368 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22369
22370         * configure.ac:
22371         * win32/common/config.h:
22372         * win32/common/config.h.in:
22373           check for process.h, declares getpid() on Windows
22374         * gst/gstinfo.c:
22375           include process.h if we have it
22376         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
22377         * gst/gstmemchunk.h:
22378           fix signedness issues
22379         * win32/common/libgstreamer.def:
22380           fix get_type's
22381
22382 2005-10-16  Julien MOUTTE  <julien@moutte.net>
22383
22384         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
22385         fix. Because of unsigned ints, caps intersection was going nuts and
22386         trying to access structures with G_MAXUINT index. That fixes
22387         videotestsrc ! ffmpegcolorspace ! fakesink
22388         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
22389         consistency.
22390
22391 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22392
22393         * configure.ac:
22394           use the gettext macro
22395         * gst/elements/gstelements.c:
22396         * gst/gst.c:
22397         * gst/indexers/gstindexers.c:
22398           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
22399         * win32/common/config.h:
22400           updated config.h
22401         * win32/common/config.h.in:
22402           add the template to generate config.h
22403         * win32/common/gstenumtypes.c:
22404         * win32/common/gstversion.h:
22405           updated copies
22406
22407 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22408
22409         * gst/gst.c: (gst_version):
22410         * gst/gstversion.h.in:
22411           add the nano
22412
22413 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22414
22415         * gst/gstevent.h:
22416           Oops, add missing closing bracket.
22417
22418 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22419
22420         * configure.ac:
22421           use common m4's for argument checking
22422
22423 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22424
22425         * docs/gst/gstreamer-sections.txt:
22426         * gst/gstevent.h:
22427           Add GST_EVENT_TYPE_NAME() macro.
22428
22429 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22430
22431         * gst/gstinfo.c:
22432         * gst/gstpluginfeature.c:
22433         * gst/gsttask.c:
22434           privatize more symbols
22435
22436 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22437
22438         * configure.ac:
22439           add srcdir, builddir includes to GST_ALL_CFLAGS, since
22440           everything that uses GStreamer API should have the includes
22441
22442 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22443
22444         * docs/gst/gstreamer-sections.txt:
22445         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
22446         * gst/gstvalue.h:
22447           give each value a _get_type, removes the DATA exports
22448
22449 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22450
22451         * gst/gst.c:
22452         * gst/gst.h:
22453           remove _gst_registry_auto_load, not used anymore
22454         * gst/gstbin.c: (gst_bin_get_type):
22455         * gst/gstbin.h:
22456         * gst/gstelement.c: (gst_element_get_type):
22457         * gst/gstelement.h:
22458         * gst/gstobject.c: (gst_object_get_type):
22459         * gst/gstobject.h:
22460         * gst/gstpad.c: (gst_pad_get_type):
22461         * gst/gstpad.h:
22462           make _get_type functions similar, fixes data export from library
22463
22464 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22465
22466         * configure.ac:
22467           correctly make conditionals
22468         * gst/elements/Makefile.am:
22469         * gst/elements/gstelements.c:
22470           fix typo causing fdsrc not to build
22471
22472 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22473
22474         * testsuite/Makefile.am:
22475         * testsuite/bytestream/.cvsignore:
22476         * testsuite/bytestream/Makefile.am:
22477         * testsuite/bytestream/filepadsink.c:
22478         * testsuite/bytestream/gstbstest.c:
22479         * testsuite/bytestream/test1.c:
22480         * testsuite/bytestream/testfile1:
22481         * testsuite/caps/normalisation.c:
22482         * testsuite/caps/random.c: (main):
22483         * testsuite/cleanup/.cvsignore:
22484         * testsuite/cleanup/Makefile.am:
22485         * testsuite/cleanup/cleanup1.c:
22486         * testsuite/cleanup/cleanup2.c:
22487         * testsuite/cleanup/cleanup3.c:
22488         * testsuite/cleanup/cleanup4.c:
22489         * testsuite/cleanup/cleanup5.c:
22490         * testsuite/controller/interpolator.c:
22491         * testsuite/debug/printf_extension.c: (main):
22492         * testsuite/elements/tee.c:
22493         * testsuite/negotiation/.cvsignore:
22494         * testsuite/negotiation/Makefile.am:
22495         * testsuite/negotiation/pad_link.c:
22496         * testsuite/pad/Makefile.am:
22497         * testsuite/pad/chainnopull.c:
22498         * testsuite/pad/getnopush.c:
22499         * testsuite/pad/link.c:
22500         * testsuite/refcounting/sched.c: (create_pipeline):
22501         * testsuite/registry/Makefile.am:
22502         * testsuite/registry/gst-print-formats.c:
22503         * testsuite/schedulers/.cvsignore:
22504         * testsuite/schedulers/142183-2.c:
22505         * testsuite/schedulers/142183.c:
22506         * testsuite/schedulers/143777-2.c:
22507         * testsuite/schedulers/143777.c:
22508         * testsuite/schedulers/147713.c:
22509         * testsuite/schedulers/147819.c:
22510         * testsuite/schedulers/147894-2.c:
22511         * testsuite/schedulers/147894.c:
22512         * testsuite/schedulers/Makefile.am:
22513         * testsuite/schedulers/group_link.c:
22514         * testsuite/schedulers/queue_link.c:
22515         * testsuite/schedulers/relink.c:
22516         * testsuite/schedulers/unlink.c:
22517         * testsuite/schedulers/unref.c:
22518         * testsuite/schedulers/useless_iteration.c:
22519         * testsuite/states/bin.c:
22520           clean out/remove some stuff from the testsuite directories
22521
22522 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22523
22524         * configure.ac:
22525           check for some headers
22526         * gst/elements/Makefile.am:
22527         * gst/elements/gstelements.c:
22528           don't compile fdsrc without sys/socket.h
22529         * gst/indexers/Makefile.am:
22530         * gst/indexers/gstindexers.c: (plugin_init):
22531           don't compile fileindex without mmap
22532
22533 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22534
22535         * configure.ac:
22536           reorganize
22537           clean up
22538           document more
22539           remove cruft
22540         * check/Makefile.am:
22541         * docs/gst/Makefile.am:
22542         * examples/helloworld/Makefile.am:
22543         * gst/Makefile.am:
22544         * gst/base/Makefile.am:
22545         * gst/check/Makefile.am:
22546         * gst/elements/Makefile.am:
22547         * gst/indexers/Makefile.am:
22548         * gst/parse/Makefile.am:
22549         * libs/gst/controller/Makefile.am:
22550         * libs/gst/dataprotocol/Makefile.am:
22551         * examples/helloworld/helloworld.c: (event_loop):
22552           compile fixes, though it's not being compiled currently
22553
22554 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22555
22556         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
22557           Add some simple tests for the new taglist date API.
22558
22559 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22560
22561         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
22562         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
22563           Beautify 'last-message' output: print 'none' for buffer timestamps
22564           and durations if none is set; improve alignment with next messages.
22565
22566 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22567
22568         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
22569         * gst/gstpluginfeature.h:
22570         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
22571         * gst/gstregistry.h:
22572         * docs/gst/gstreamer-sections.txt:
22573           Add new API to check plugin feature version requirements.
22574
22575         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
22576           Some basic tests for the above.         
22577
22578 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22579
22580         * gst/gststructure.c: (gst_structure_to_string):
22581           guard against NULL printf - happens when for example
22582           a message structure with GstClock gets serialized
22583
22584 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
22585
22586         * gst/base/gstcollectpads.c: (gst_collectpads_event):
22587           Fix presumable copy'n'pasto.
22588
22589 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22590
22591         * gst/elements/gstfakesrc.h:
22592         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
22593         * gst/elements/gsttypefindelement.c:
22594           fix some signedness
22595         * gst/elements/gstfilesink.c: (gst_file_sink_render):
22596           I wonder if this could actually write +2GB files before
22597
22598 2005-10-13  Andy Wingo  <wingo@pobox.com>
22599
22600         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
22601         Fix Timmeke Waymans bug.
22602         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
22603         string of the proper length to gst_caps_from_string. There's a
22604         potential for, before this fix, that this could cause someone
22605         connecting over the network to cause a segfault if the payload is
22606         not NUL-terminated.
22607
22608 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
22609
22610         * docs/design/draft-push-pull.txt:
22611         * docs/design/part-overview.txt:
22612         * docs/random/TODO-pre-0.9:
22613         * docs/random/old/ChangeLog.gstreamer:
22614         * gst/base/gstpushsrc.c:
22615         * gst/gstclock.c:
22616           fixed typos
22617
22618 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22619
22620         * gst/glib-compat.c: (gst_flags_get_first_value):
22621         * gst/glib-compat.h:
22622         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
22623         (gst_value_compare_double), (gst_value_serialize_flags):
22624           GLib 2.6 g_flags_get_first_value has a bug that triggers an
22625           infinite loop
22626
22627 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22628
22629         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22630         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22631           fix up debugging
22632         * tools/gst-launch.c: (event_loop):
22633           print out clock nicely
22634
22635 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
22636
22637         * docs/gst/gstreamer-sections.txt:
22638         * gst/gsttaglist.h:
22639         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
22640         (gst_tag_list_get_date_index):
22641           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
22642           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
22643
22644 2005-10-13  Julien MOUTTE  <julien@moutte.net>
22645
22646         * gst/base/gstcollectpads.c: (gst_collectpads_event),
22647         (gst_collectpads_chain):
22648         * gst/base/gstcollectpads.h: Handle newsegment and store informations
22649         in CollectData.
22650
22651 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
22652
22653         * docs/gst/gstreamer-sections.txt:
22654         * gst/gst.c:
22655         * gst/gsterror.h:
22656         * tools/gst-inspect.c: (main):
22657         * tools/gst-launch.c: (main):
22658         * tools/gst-run.c: (main):
22659         * tools/gst-xmlinspect.c: (main):
22660           fix GOption context leaks
22661           doc fixes
22662
22663 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22664
22665         * gst/gstbus.c:
22666           use HAVE_UNISTD_H
22667         * win32/common/config.h:
22668           update config
22669         * win32/vs6/grammar.dsp:
22670         * win32/vs6/libgstelements.dsp:
22671         * win32/vs6/libgstreamer.dsp:
22672           update vs6 files
22673
22674 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22675
22676         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22677         * gst/base/gstbasesrc.c: (gst_base_src_query):
22678           fix more guint64<->gdouble conversions
22679
22680 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22681
22682         * Makefile.am:
22683           add win32-update target
22684         * win32/common/gstconfig.h:
22685         * win32/common/gstenumtypes.c:
22686         * win32/common/gstenumtypes.h:
22687         * win32/common/gstversion.h:
22688           add files that visual studio can't generate
22689
22690 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22691
22692         * Makefile.am:
22693           add a win32-update target
22694         * configure.ac:
22695
22696 2005-10-12  Wim Taymans  <wim@fluendo.com>
22697
22698         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22699         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
22700         * gst/gstelement.c: (gst_element_commit_state),
22701         (gst_element_set_state):
22702         Protect flags with proper lock.
22703         unref provided cached clock in dispose.
22704
22705 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
22706
22707         * gst/gst.c:
22708         * gst/gstminiobject.h:
22709         * gst/gstpad.h:
22710         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
22711           removed unused flags from miniobject
22712           doc fixes
22713
22714 2005-10-12  Wim Taymans  <wim@fluendo.com>
22715
22716         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22717         (gst_file_sink_event), (gst_file_sink_render):
22718         Flush before seeking.
22719
22720 2005-10-12  Andy Wingo  <wingo@pobox.com>
22721
22722         * gst/gst.c (gst_init_check): Ignore unknown options, as has
22723         always been the case.
22724
22725 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
22726
22727         * check/gst/gstbin.c: (GST_START_TEST):
22728         * docs/gst/gstreamer-sections.txt:
22729         * gst/base/gstbasesink.c: (gst_base_sink_init):
22730         * gst/base/gstbasesrc.c: (gst_base_src_init),
22731         (gst_base_src_get_range), (gst_base_src_check_get_range),
22732         (gst_base_src_start), (gst_base_src_stop):
22733         * gst/base/gstbasesrc.h:
22734         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
22735         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22736         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
22737         (bin_bus_handler):
22738         * gst/gstbin.h:
22739         * gst/gstbuffer.h:
22740         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
22741         * gst/gstbus.h:
22742         * gst/gstelement.c: (gst_element_is_locked_state),
22743         (gst_element_set_locked_state), (gst_element_commit_state),
22744         (gst_element_set_state):
22745         * gst/gstelement.h:
22746         * gst/gstindex.c: (gst_index_init):
22747         * gst/gstindex.h:
22748         * gst/gstminiobject.h:
22749         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
22750         (gst_object_set_parent):
22751         * gst/gstobject.h:
22752         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
22753         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
22754         * gst/gstpad.h:
22755         * gst/gstpadtemplate.h:
22756         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
22757         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
22758         * gst/gstpipeline.h:
22759         * gst/indexers/gstfileindex.c: (gst_file_index_load),
22760         (gst_file_index_commit):
22761         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
22762         * testsuite/pad/link.c: (gst_test_src_init),
22763         (gst_test_filter_init), (gst_test_sink_init):
22764         * testsuite/states/locked.c: (main):
22765           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
22766           moved bitshift from macro to enum definition
22767
22768 2005-10-12  Wim Taymans  <wim@fluendo.com>
22769
22770         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
22771         * gst/elements/gstfilesink.c: (gst_file_sink_event),
22772         (gst_file_sink_render):
22773         Some more debugging info.
22774
22775 2005-10-12  Wim Taymans  <wim@fluendo.com>
22776
22777         * docs/design/part-states.txt:
22778         * tools/gst-launch.c: (main):
22779         Some doc updates.
22780         Revert non-intentional change.
22781
22782 2005-10-12  Wim Taymans  <wim@fluendo.com>
22783
22784         * check/gst/gstbin.c: (GST_START_TEST):
22785         * check/gst/gstelement.c: (GST_START_TEST):
22786         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
22787         * check/gst/gstghostpad.c: (GST_START_TEST):
22788         * check/gst/gstpipeline.c: (GST_START_TEST):
22789         * check/pipelines/simple_launch_lines.c: (run_pipeline):
22790         * check/states/sinks.c: (GST_START_TEST):
22791         * gst/elements/gsttypefindelement.c: (stop_typefinding):
22792         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
22793         (gst_bin_remove_func), (gst_bin_get_state_func),
22794         (gst_bin_recalc_state), (gst_bin_change_state_func),
22795         (bin_bus_handler):
22796         * gst/gstelement.c: (gst_element_get_state_func),
22797         (gst_element_get_state), (gst_element_abort_state),
22798         (gst_element_commit_state), (gst_element_set_state),
22799         (gst_element_change_state), (gst_element_change_state_func):
22800         * gst/gstelement.h:
22801         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
22802         (gst_pipeline_provide_clock_func):
22803         * gst/gstutils.c: (gst_element_link_pads_filtered):
22804         * tools/gst-launch.c: (main):
22805         * tools/gst-typefind.c: (main):
22806         Use GstClockTime in _get_state() instead of GTimeVal.
22807         Remove old code in gstutils.c
22808
22809 2005-10-12  Andy Wingo  <wingo@pobox.com>
22810
22811         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
22812         removed.
22813
22814         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
22815         there is no task. Shouldn't affect any code, as nothing in our
22816         plugins checks this return value.
22817         (gst_pad_stop_task): Also take the stream lock if the pad has no
22818         task. Docs updated.
22819
22820 2005-10-12  Wim Taymans  <wim@fluendo.com>
22821
22822         * gst/gstpad.c: (pre_activate), (post_activate),
22823         (gst_pad_activate_pull), (gst_pad_activate_push):
22824         Cleanup activation code. Reset old state if
22825         activation failed.
22826
22827 2005-10-12  Wim Taymans  <wim@fluendo.com>
22828
22829         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22830         (gst_base_sink_change_state):
22831         No need to prerol after receiving EOS.
22832
22833         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
22834         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
22835         * gst/elements/gstidentity.c: (gst_identity_event):
22836         Print events more verbosely.
22837
22838 2005-10-12  Wim Taymans  <wim@fluendo.com>
22839
22840         * check/Makefile.am:
22841         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
22842         * check/states/sinks2.c:
22843         Moved sinks2 testcode in sinks check.
22844
22845         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
22846         (gst_bin_remove_func), (gst_bin_recalc_state),
22847         (gst_bin_change_state_func), (bin_bus_handler):
22848         Fix potential race condition when _get_state() iterated over an
22849         ASYNC element right before it posted a state completion.
22850
22851         * gst/gstclock.h:
22852         Do proper cast here.
22853
22854         * gst/gstevent.c: (gst_event_new_newsegment),
22855         (gst_event_parse_newsegment):
22856         A playback rate of 0.0 is not allowed.
22857
22858 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22859
22860         * win32/common/config.h:
22861         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
22862         (_trewinddir), (_ttelldir), (_tseekdir):
22863         * win32/common/dirent.h:
22864         * win32/common/gtchar.h:
22865         * win32/common/libgstbase.def:
22866         * win32/common/libgstreamer.def:
22867         * win32/vs6/grammar.dsp:
22868         * win32/vs6/gst_inspect.dsp:
22869         * win32/vs6/gst_launch.dsp:
22870         * win32/vs6/gstreamer.dsw:
22871         * win32/vs6/libgstbase.dsp:
22872         * win32/vs6/libgstelements.dsp:
22873         * win32/vs6/libgstreamer.dsp:
22874           Visual Studio 6 project files, and a new common directory.
22875           Phear.
22876
22877 2005-10-11  Wim Taymans  <wim@fluendo.com>
22878
22879         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22880         (gst_base_sink_do_sync), (gst_base_sink_query),
22881         (gst_base_sink_change_state):
22882         * gst/base/gstbasesink.h:
22883         Correctly parse newsegment info.
22884
22885 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22886
22887         * gst/gst.c: (init_post):
22888           split plugin paths correctly
22889
22890 2005-10-11  Wim Taymans  <wim@fluendo.com>
22891
22892         * check/gst/gstevent.c: (GST_START_TEST):
22893         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22894         (gst_base_sink_change_state):
22895         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
22896         * gst/base/gstbasetransform.c: (gst_base_transform_event):
22897         * gst/elements/gstfilesink.c: (gst_file_sink_event):
22898         * gst/gstevent.c: (gst_event_new_newsegment),
22899         (gst_event_parse_newsegment):
22900         * gst/gstevent.h:
22901         Added extra flag to newsegment for future API freeze.
22902         Updated check and base elements.
22903
22904 2005-10-11  Julien MOUTTE  <julien@moutte.net>
22905
22906         * gst/base/gstcollectpads.c: (gst_collectpads_init),
22907         (gst_collectpads_add_pad), (gst_collectpads_pop),
22908         (gst_collectpads_event), (gst_collectpads_chain):
22909         * gst/base/gstcollectpads.h: Handle EOS correctly.
22910
22911 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22912
22913         * tools/gst-launch.c: (main):
22914           more null protecting
22915
22916 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22917
22918         * gst/gst-i18n-lib.h:
22919           check for ENABLE_NLS, not GETTEXT_PACKAGE
22920         * gst/gstregistry.c: (gst_registry_add_plugin),
22921         (gst_registry_scan_path_level),
22922         (_gst_registry_remove_cache_plugins):
22923           protect possibly NULL strings
22924         * gst/parse/types.h:
22925           config.h already included before
22926         * tools/gst-inspect.c: (main):
22927           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
22928           check for ENABLE_NLS, not GETTEXT_PACKAGE
22929         * tools/gst-launch.c: (main):
22930           check for ENABLE_NLS, not GETTEXT_PACKAGE
22931
22932 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22933
22934         * configure.ac:
22935           if we don't have glib, fail before testing 2.8
22936         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
22937           fix a leak, should fix plugins-base testsuite
22938
22939 2005-10-11  Andy Wingo  <wingo@pobox.com>
22940
22941         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
22942         take the mode we're going to as an arg. Go head and set the mode
22943         and flushing flags now, so that if the activate function starts a
22944         thread all the flags will be in the right state.
22945         (post_activate): Renamed also. Just handle making sure streaming
22946         finishes for the deactivation case, and setting the deactivated
22947         mode.
22948         (gst_pad_set_active): Complain loudly if deactivation fails.
22949         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
22950         (gst_pad_activate_push): Adapt to pre/post_activate changes,
22951         remove the terrible hack.
22952
22953 2005-10-11  Wim Taymans  <wim@fluendo.com>
22954
22955         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
22956         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
22957         (gst_bin_recalc_state), (gst_bin_change_state_func),
22958         (gst_bin_dispose), (bin_bus_handler):
22959         * gst/gstbin.h:
22960         Prepare to make current EOS message queue more generic.
22961         Fix some typos.
22962
22963         * gst/gstevent.c: (gst_event_new_newsegment),
22964         (gst_event_parse_newsegment):
22965         * gst/gstevent.h:
22966         Rename base to stream_time.
22967
22968         * gst/gstmessage.h:
22969         Fix typo in docs.
22970
22971 2005-10-11  Wim Taymans  <wim@fluendo.com>
22972
22973         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
22974         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
22975         (gst_bin_change_state_func), (bin_bus_handler):
22976         * gst/gstbin.h:
22977         Work on proper clock selection.
22978
22979 2005-10-11  Edward Hervey  <edward@fluendo.com>
22980
22981         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
22982         * libs/gst/controller/gstcontroller.h:
22983         Added GList* version of _remove_properties() in order to be able to wrap
22984         it in bindings.
22985
22986 2005-10-11  Wim Taymans  <wim@fluendo.com>
22987
22988         * docs/design/part-states.txt:
22989         Some more docs.
22990
22991         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
22992         (gst_bin_change_state_func), (bin_bus_handler):
22993         Doc updates. Don't distribute the same clock over and over again.
22994
22995         * gst/gstclock.c:
22996         * gst/gstclock.h:
22997         Doc updates.
22998
22999         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
23000         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
23001         (gst_pad_send_event):
23002         * gst/gstpad.h:
23003         Make probe emission threadsafe again.
23004         Register quarks and move _get_name() from utils.
23005         Doc updates.
23006
23007         * gst/gstpipeline.c: (gst_pipeline_class_init),
23008         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23009         Only redistribute the clock of it changed.
23010
23011         * gst/gstsystemclock.h:
23012         Doc updates. 
23013
23014         * gst/gstutils.c:
23015         * gst/gstutils.h:
23016         Moved the _flow_get_name() to GstPad.
23017
23018 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23019
23020         * check/gst-libs/gdp.c: (GST_START_TEST):
23021         * check/gst/gstcaps.c: (GST_START_TEST):
23022         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
23023         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
23024         (gst_dp_packet_from_caps):
23025           fix more valgrind warnings before turning up the heat
23026
23027 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23028
23029         * gst/parse/grammar.y:
23030           some cleanup before the hacking
23031
23032 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23033
23034         * gst/base/gstbasesrc.c: (gst_base_src_query):
23035           use conversions
23036         * gst/gstutils.c: (gst_guint64_to_gdouble),
23037         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
23038         * gst/gstutils.h:
23039           externalize, basesrc uses it
23040           obviously the implementation needs testing
23041
23042 2005-10-10  Wim Taymans  <wim@fluendo.com>
23043
23044         * tests/sched/Makefile.am:
23045         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
23046         (make_pipeline3), (make_pipeline4), (print_elem), (main):
23047
23048 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23049
23050         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
23051           apparently converting from guint64 to double is not implemented
23052           on MSVC
23053
23054 2005-10-10  Wim Taymans  <wim@fluendo.com>
23055
23056         * check/Makefile.am:
23057         * check/generic/states.c: (GST_START_TEST):
23058         * check/gst/gstbin.c: (GST_START_TEST):
23059         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23060         * check/states/sinks.c: (GST_START_TEST):
23061         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
23062         (main):
23063         Check fixes, use API as stated in design docs, remove hacks.
23064
23065         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23066         (gst_base_sink_change_state):
23067         Catch stopping our task while we're shutting down.
23068
23069         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
23070         (gst_bin_remove_func), (gst_bin_get_state_func),
23071         (gst_bin_recalc_state), (gst_bin_change_state_func),
23072         (bin_bus_handler):
23073         * gst/gstbin.h:
23074         * gst/gstelement.c: (gst_element_init),
23075         (gst_element_get_state_func), (gst_element_abort_state),
23076         (gst_element_commit_state), (gst_element_lost_state),
23077         (gst_element_set_state), (gst_element_change_state),
23078         (gst_element_change_state_func):
23079         * gst/gstelement.h:
23080         New state change algorithm (see #318116)
23081
23082         * gst/gstpipeline.c: (gst_pipeline_class_init),
23083         (gst_pipeline_init), (gst_pipeline_set_property),
23084         (gst_pipeline_get_property), (do_pipeline_seek),
23085         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23086         * gst/gstpipeline.h:
23087         Remove crude state change hacks.
23088
23089         * gst/gstutils.h:
23090         Remove crude hacks.
23091
23092         * tools/gst-launch.c: (main):
23093         Fixes for state change. Needs some more work to fully use the
23094         new stuff.
23095
23096 2005-10-10  Andy Wingo  <wingo@pobox.com>
23097
23098         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
23099
23100         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
23101         this flag, but it's not even in GLib 2.6. Odd. Hack around the
23102         issue.
23103
23104 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23105
23106         * gst/gstiterator.c: (gst_iterator_new):
23107           Fix my previous commit: GTypes passed to gst_iterator_new()
23108           can be fundamental types.
23109
23110 2005-10-10  Wim Taymans  <wim@fluendo.com>
23111
23112         * gst/gstelement.c: (gst_element_iterate_pad_list),
23113         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
23114         (gst_element_iterate_sink_pads):
23115         Use src/sink pads lists for the respective iterators instead
23116         of filtering.
23117
23118 2005-10-10  Andy Wingo  <wingo@pobox.com>
23119
23120         Merged in popt removal + GOption addition patch from Ronald, bug
23121         #169772.
23122
23123         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
23124         GstElement macros around, remove popt-related symbols, add goption
23125         stuff.
23126
23127         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
23128         
23129         * docs/gst/Makefile.am:
23130         * docs/libs/Makefile.am: No POPT_CFLAGS.
23131         
23132         * examples/manual/Makefile.am:
23133         * docs/manual/basics-init.xml: Doc updates with an example.
23134         
23135         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
23136         (gst_init), (parse_one_option), (parse_goption_arg):
23137         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
23138         bit of hand merging and debugging to get the GOption stuff working
23139         tho.
23140         
23141         * tests/Makefile.am:
23142         * tools/Makefile.am:
23143         * tools/gst-inspect.c: (main):
23144         * tools/gst-launch.c: (main):
23145         * tools/gst-run.c: (main):
23146         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
23147
23148 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23149
23150         * gst/gstiterator.c: (gst_iterator_new):
23151           Add assertions to make sure passed GType is likely to really
23152           be a GType (as the compiler won't catch it if the size and
23153           GType arguments get mixed up, see #318447).
23154
23155 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
23156
23157         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23158
23159         * gst/gstbin.c: (gst_bin_iterate_sorted):
23160           Pass GType and size arguments to gst_iterator_new() in the right
23161           order (maybe we should make _new() take the GType as first argument
23162           just like _new_list()?) (#318447).
23163           
23164
23165 2005-10-10  Wim Taymans  <wim@fluendo.com>
23166
23167         * gst/gstelement.c: (gst_element_finalize):
23168         And free the GStaticRecMutex too
23169
23170 2005-10-10  Andy Wingo  <wingo@pobox.com>
23171
23172         * gst/gstelement.c (gst_element_init, gst_element_finalize):
23173         Allocate and free the mutex properly.
23174
23175         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
23176         New macros.
23177         (GstElement): The state_lock is now recursive. Rebuild your
23178         plugins, suckers. Old macros adapted.
23179
23180         * docs/gst/gstreamer-sections.txt: Doc updates.
23181
23182         * gst/gstutils.h:
23183         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
23184         (g_static_rec_cond_wait): Ported from state changes patch, while
23185         we wait on bug #317802 to be solved in a well-distributed GLib.
23186
23187         * gst/gstelement.c (gst_element_change_state_func): Renamed from
23188         gst_element_change_state, variable name changes.
23189         (gst_element_change_state): Split out of gst_element_set_state in
23190         preparation for the state change merge. Doesn't pay attention to
23191         the 'transition' argument.
23192         (gst_element_set_state): Updates, hopefully purely cosmetic.
23193         (gst_element_sync_state_with_parent): MT-safety. Ported from the
23194         state change patch.
23195         (gst_element_get_state_func): Renamed from get_state, cosmetic
23196         changes.
23197
23198 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23199
23200         * gst/elements/gstelements.c:
23201         * win32/GStreamer.vcproj:
23202         * win32/config.h:
23203         * win32/dirent.c: (_tseekdir):
23204         * win32/gst-inspect.vcproj:
23205         * win32/gst-launch.vcproj:
23206         * win32/gstconfig.h:
23207         * win32/gstelements.vcproj:
23208         * win32/gstenumtypes.c: (gst_object_flags_get_type):
23209         * win32/gstreamer.def:
23210         * win32/msvc71.sln:
23211           updates for the win32 build (patch from Sebastien Moutte)
23212
23213 2005-10-10  Andy Wingo  <wingo@pobox.com>
23214
23215         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
23216         gst_bin_get_state, cleaned up (but no logic changes).
23217         (bin_element_is_sink): Comment updates.
23218         (sink_iterator_filter): Remove needless cast.
23219         (gst_bin_iterate_sinks): Doc update.
23220         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
23221         cleaned up (but no logic changes).
23222
23223         * check/states/sinks.c (test_src_sink): Cleanups from the state
23224         change patch.
23225         (test_livesrc_sink): Sync on the state.
23226
23227         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
23228         the state change patch.
23229
23230         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
23231         change patch.
23232
23233         * check/gst/gstbin.c: Merge in some style fixes and additional
23234         checks from Wim's state change patch.
23235
23236 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23237
23238         * gst/base/gsttypefindhelper.c: (helper_find_peek),
23239         (gst_type_find_helper):
23240           Check whether we have the requested data already in our list of
23241           cached buffers before pulling a new buffer; also make the buffer
23242           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
23243
23244 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23245
23246         * gst/gstcaps.c:
23247         * gst/gstevent.c:
23248           doc updates
23249         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23250           don't use long long, it's not portable.  Replacing with
23251           gint64 seems to work; let's hope no skeletons fall out of the closet.
23252
23253 2005-10-10  Andy Wingo  <wingo@pobox.com>
23254
23255         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
23256
23257 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
23258
23259         * docs/gst/gstreamer-sections.txt:
23260         * gst/gstevent.c:
23261         * gst/gstevent.h:
23262         * gst/gstinfo.c:
23263         * gst/gstinfo.h:
23264         * gst/gstmessage.c: (gst_message_parse_state_changed):
23265         * gst/gstpad.c:
23266         * gst/gstpad.h:
23267           more docs, fix compilation
23268
23269 2005-10-09  Philippe Khalaf <burger@speedy.org>
23270         * gst/gstmessage.c:
23271           Fixed a few forgotten variables on previous commit
23272
23273 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
23274
23275         * gst/base/gsttypefindhelper.c: (helper_find_peek):
23276           Fix evil typefind crasher: getrange() might return a short
23277           buffer at the end of a file, but gst_type_find_peek() must
23278           either return the full data as requested or NULL, but
23279           never a short buffer.
23280
23281 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23282
23283         * gst/gstmessage.c: (gst_message_new_state_changed),
23284         (gst_message_parse_state_changed):
23285         * gst/gstmessage.h:
23286           don't use "new", it's a C++ keyword
23287
23288 2005-10-08  Wim Taymans  <wim@fluendo.com>
23289
23290         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
23291         * gst/gstelement.c: (gst_element_post_message):
23292         * gst/gstpipeline.c: (gst_pipeline_change_state):
23293         Small docs and debug updates.
23294
23295 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23296
23297         * docs/gst/gstreamer-sections.txt:
23298         * gst/gstelementfactory.c:
23299         * gst/gstevent.c:
23300         * gst/gsttaglist.c:
23301           more docs
23302
23303 2005-10-08  Wim Taymans  <wim@fluendo.com>
23304
23305         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
23306         (gst_bin_dispose), (bin_bus_handler):
23307         Fix typos, add comments.
23308         Clear EOS list when going to PAUSED from any direction and do it
23309         in a threadsafe way.
23310         Get base time in a threadsafe way too.
23311         Fix confusing debug in the change_state function.
23312         Various other small cleanups.
23313         
23314         * gst/gstelement.c: (gst_element_post_message):
23315         Fix very verbose bus posting code.
23316
23317         * gst/gstpipeline.c: (gst_pipeline_class_init),
23318         (gst_pipeline_set_property), (gst_pipeline_get_property),
23319         (gst_pipeline_change_state):
23320         Small ARG_ -> PROP_ cleanup
23321
23322 2005-10-08  Wim Taymans  <wim@fluendo.com>
23323
23324         * gst/gstbin.c: (is_eos), (bin_bus_handler):
23325         Do a less CPU demanding EOS check because we can.
23326
23327 2005-10-08  Wim Taymans  <wim@fluendo.com>
23328
23329         * libs/gst/dataprotocol/dataprotocol.c:
23330         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
23331         (gst_dp_packet_from_event):
23332         * libs/gst/dataprotocol/dataprotocol.h:
23333         * libs/gst/dataprotocol/dp-private.h:
23334         It's about time we bump the version number.
23335         Since event types don't fit in the guint8 anymore describing
23336         the payload type, make payload type 16 bits wide.
23337
23338 2005-10-08  Wim Taymans  <wim@fluendo.com>
23339
23340         * docs/design/part-TODO.txt:
23341         * docs/design/part-clocks.txt:
23342         * docs/design/part-events.txt:
23343         * docs/design/part-gstbin.txt:
23344         * docs/design/part-gstelement.txt:
23345         * docs/design/part-gstpipeline.txt:
23346         * docs/design/part-live-source.txt:
23347         * docs/design/part-messages.txt:
23348         * docs/design/part-overview.txt:
23349         * docs/design/part-states.txt:
23350         Many doc updates.
23351
23352 2005-10-08  Wim Taymans  <wim@fluendo.com>
23353
23354         * gst/gstevent.c:
23355         * gst/gstevent.h:
23356         Fix event quark registration.
23357         Add some space between events so we can insert them in the
23358         right groups.
23359
23360 2005-10-08  Wim Taymans  <wim@fluendo.com>
23361
23362         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23363         (gst_base_sink_handle_buffer):
23364         Better log message.
23365
23366         * gst/gstbus.h:
23367         * gst/gstelement.h:
23368         More docs.
23369
23370         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23371         (gst_queue_set_property), (gst_queue_get_property):
23372         * gst/gstqueue.h:
23373         Remove old unused properties.
23374
23375 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23376         * docs/gst/gstreamer-sections.txt:
23377         * gst/gstmessage.c:
23378         * gst/gstmessage.h:
23379         * gst/gstminiobject.c:
23380         * gst/gstminiobject.h:
23381         * gst/gstobject.h:
23382         * gst/gstpad.h:
23383         * gst/gstutils.h:
23384           lots of new docs and doc fixes
23385
23386 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23387
23388         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
23389         * gst/gstplugin.h:
23390         * gst/gstregistry.c: (gst_registry_lookup_locked),
23391         (gst_registry_scan_path_level):
23392         * gst/gstregistryxml.c: (load_plugin):
23393           Only ever load one plugin for a given plugin basename.
23394           This ensures correct overriding of GST_PLUGIN_PATH over
23395           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
23396           system installed plugins.
23397
23398 2005-10-08  Wim Taymans  <wim@fluendo.com>
23399
23400         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23401         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
23402         Prepare for doing QOS.
23403
23404 2005-10-08  Wim Taymans  <wim@fluendo.com>
23405
23406         * check/gst/gstbin.c: (GST_START_TEST):
23407         * check/pipelines/cleanup.c: (GST_START_TEST):
23408         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23409         Allow new clock message too.
23410
23411 2005-10-08  Wim Taymans  <wim@fluendo.com>
23412
23413         * gst/gstmessage.c: (gst_message_new_error),
23414         (gst_message_new_warning), (gst_message_new_tag),
23415         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23416         (gst_message_new_clock_lost), (gst_message_new_new_clock),
23417         (gst_message_new_segment_start), (gst_message_new_segment_done),
23418         (gst_message_parse_state_changed),
23419         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
23420         (gst_message_parse_new_clock):
23421         * gst/gstmessage.h:
23422         Also carry the clock in question.
23423
23424 2005-10-08  Wim Taymans  <wim@fluendo.com>
23425
23426         * gst/gstmessage.c: (gst_message_new_custom),
23427         (gst_message_new_eos), (gst_message_new_error),
23428         (gst_message_new_warning), (gst_message_new_tag),
23429         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23430         (gst_message_new_new_clock), (gst_message_new_segment_start),
23431         (gst_message_new_segment_done), (gst_message_parse_state_changed),
23432         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
23433         * gst/gstmessage.h:
23434         Clean up.
23435         Added clock related messages.
23436
23437         * gst/gstpipeline.c: (gst_pipeline_change_state):
23438         Post message when the clock changed.
23439
23440         * tools/gst-launch.c: (event_loop):
23441         Print new clock.
23442
23443 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
23444
23445         * tools/gst-inspect.c: (print_element_properties_info):
23446           Can't pass NULL strings to g_print() on windows.
23447
23448 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23449
23450         * docs/Makefile.am:
23451         * docs/gst/Makefile.am:
23452         * docs/gst/gstreamer-docs.sgml:
23453         * docs/gst/running.xml:
23454         * docs/version.entities.in:
23455           add a chapter on running GStreamer.
23456           document GST_DEBUG and GST_PLUGIN* env vars
23457
23458 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23459
23460         * Makefile.am:
23461           remove include dir
23462         * configure.ac:
23463           remove PLUGINS_BUILDDIR stuff
23464         * gst/gst.c: (init_post):
23465           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
23466         * idiottest.mak:
23467           remove, it was condescending and not needed
23468
23469 2005-10-08  Wim Taymans  <wim@fluendo.com>
23470
23471         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
23472         (gst_base_sink_handle_object), (gst_base_sink_event),
23473         (gst_base_sink_wait), (gst_base_sink_handle_event),
23474         (gst_base_sink_change_state):
23475         * gst/base/gstbasesink.h:
23476         Repost EOS message while going to PLAYING if still EOS.
23477         Make sure that when receiving a FLUSH_START we don't attempt
23478         to sync on the clock anymore.
23479
23480 2005-10-08  Wim Taymans  <wim@fluendo.com>
23481
23482         * tools/gst-launch.c: (event_loop):
23483         Better message printout.
23484
23485 2005-10-08  Wim Taymans  <wim@fluendo.com>
23486
23487         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
23488         (gst_bin_child_proxy_get_children_count):
23489         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
23490         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
23491         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
23492         (gst_child_proxy_set_valist):
23493         * gst/parse/grammar.y:
23494         Make ChildProxy threadsafe and fix mem leaks.
23495
23496 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23497
23498         * gst/gst.c: (init_post):
23499           debug the GST_PLUGIN_ env vars
23500
23501 2005-10-08  Wim Taymans  <wim@fluendo.com>
23502
23503         * check/gst/gstbin.c: (GST_START_TEST):
23504         * check/gst/gstmessage.c: (GST_START_TEST):
23505         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
23506         * gst/gstelement.c: (gst_element_commit_state),
23507         (gst_element_lost_state):
23508         * gst/gstmessage.c: (gst_message_new_state_changed),
23509         (gst_message_parse_state_changed):
23510         * gst/gstmessage.h:
23511         * tools/gst-launch.c: (event_loop):
23512         Added extra field to STATE_CHANGE message with the pending
23513         state, which will be different from the new state soon.
23514
23515 2005-10-08  Wim Taymans  <wim@fluendo.com>
23516
23517         * gst/gstbus.c: (gst_bus_pop):
23518         * gst/gstclock.c:
23519         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
23520         Small cleanups and doc updates.
23521
23522 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23523
23524         * gst/gst.c: (init_pre):
23525         * gst/gstbin.c: (gst_bin_add_func):
23526           log distributing clocks and base time
23527         * gst/gstregistry.c: (gst_registry_add_plugin),
23528         (gst_registry_scan_path_level), (gst_registry_scan_path):
23529           clean up the debugging output a little
23530         * gst/gstutils.c: (gst_element_state_get_name):
23531           warn about a memleak (I've actually seen this be used, though
23532           it was probably a bug)
23533
23534 2005-10-07  Wim Taymans  <wim@fluendo.com>
23535
23536         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23537         (gst_base_src_init), (gst_base_src_default_newsegment),
23538         (gst_base_src_newsegment), (gst_base_src_do_seek),
23539         (gst_base_src_loop), (gst_base_src_start):
23540         * gst/base/gstbasesrc.h:
23541         Make the newsegment event customizable by subclasses.
23542
23543 2005-10-07  Wim Taymans  <wim@fluendo.com>
23544
23545         * gst/gstevent.c: (gst_event_new_buffersize),
23546         (gst_event_parse_buffersize):
23547         * gst/gstevent.h:
23548         New event for future idea.
23549
23550 2005-10-07  Andy Wingo  <wingo@pobox.com>
23551
23552         * gst/gstelement.c (gst_element_post_message): Doc update.
23553
23554         * docs/gst/gstreamer-sections.txt: Update.
23555
23556         * gst/gstmessage.c (gst_message_new_application): Made into a
23557         function like honest API calls.
23558         (gst_message_new_element): New message type.
23559
23560         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
23561
23562         * check/elements/fakesrc.c (test_no_preroll): New check, checks
23563         that setting a live fakesrc to PAUSED returns NO_PREROLL both
23564         times.
23565
23566         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
23567         NO_PREROLL from gst_element_change_state to fall through.
23568
23569 2005-10-07  Wim Taymans  <wim@fluendo.com>
23570
23571         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
23572         (gst_ghost_pad_do_activate_push):
23573         Activating a ghostpad with no internal pad in push mode
23574         is ok.
23575
23576 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
23577
23578         * gst/gstobject.h:
23579           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
23580           Fixes compilation on Windows.
23581
23582 2005-10-07  Michael Smith <msmith@fluendo.com>
23583
23584         * tools/gst-inspect.c:
23585           Print out feature and plugin count at the end when printing out
23586           all features.
23587
23588 2005-10-04  Michael Smith <msmith@fluendo.com>
23589
23590         * gst/gsterror.c: (_gst_stream_errors_init):
23591           Add another error string used in a few existing plugins.
23592
23593         * gst/gstplugin.c:
23594         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
23595         * tools/gst-inspect.c: (print_element_info):
23596           When a feature disappears from a plugin (and the feature exists in
23597           the cached registry file), things went horribly wrong. This isn't a
23598           complete fix, we should actually be removing the 'missing' features
23599           from the features list when we load the actual plugin. That's not
23600           yet implemented. 
23601
23602 2005-10-04  Johan Dahlin  <johan@gnome.org>
23603
23604         * check/gst/gstiterator.c: (GST_START_TEST):
23605         * gst/gstbin.c: (gst_bin_iterate_elements),
23606         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
23607         * gst/gstelement.c: (gst_element_iterate_pads):
23608         * gst/gstformat.c: (gst_format_iterate_definitions):
23609         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
23610         (gst_iterator_new_list), (gst_iterator_filter):
23611         * gst/gstiterator.h:
23612         * gst/gstquery.c: (gst_query_type_iterate_definitions):
23613         Add a GType to GstIterator, update callsites and tests.
23614
23615 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23616
23617         * gst/gstpad.c: (gst_pad_event_default_dispatch):
23618           give events a chance to be handled by event probes when the pad
23619           is not linked
23620
23621 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23622
23623         * gst/gstevent.c: (gst_event_type_get_name),
23624         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
23625         * gst/gstevent.h:
23626           add string representations for event types
23627
23628 2005-10-06  Wim Taymans  <wim@fluendo.com>
23629
23630         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
23631         Don't use NULL pointers.
23632
23633 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23634
23635         * gst/gst_private.h:
23636         * gst/gstbus.c:
23637         * gst/gstelement.c:
23638         * gst/gstinfo.c:
23639         * gst/gstpluginfeature.c:
23640           widen the debug category in output to fit the biggest one we have
23641           add a bus category and use it
23642           play with the colors
23643           fix up some categories
23644
23645 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23646
23647         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
23648           add push activation of sink ghost pads.
23649           Andye, please verify
23650
23651 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
23652
23653         * gst/gstutils.c: (gst_element_link_pads):
23654           fix a bug in the case where neither element has a pad
23655         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
23656           add a test for that case
23657
23658 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
23659
23660         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
23661           emit have-data before checking for peers.  This allows
23662           for probe handlers to connect elements.  This helps autopluggers.
23663         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
23664         (gst_pad_suite):
23665           add six checks, linked/unlinked with no/true/false probe
23666
23667 2005-10-04  Wim Taymans  <wim@fluendo.com>
23668
23669         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
23670         (gst_fake_sink_event), (gst_fake_sink_preroll),
23671         (gst_fake_sink_render), (gst_fake_sink_change_state):
23672         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
23673         (gst_fake_src_get_property), (gst_fake_src_create),
23674         (gst_fake_src_stop):
23675         * gst/elements/gstidentity.c: (gst_identity_stop):
23676         Protect last_message with lock.
23677
23678 2005-10-04  Edward Hervey  <edward@fluendo.com>
23679
23680         * gst/gstformat.h: 
23681         Added precision in the comments for GST_FORMAT_DEFAULT
23682
23683 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
23684
23685         * tools/gst-launch.c: (main):
23686           Don't try to run erroneous pipelines.
23687
23688 2005-10-04  Julien MOUTTE  <julien@moutte.net>
23689
23690         * gst/gstbus.c: We don't need this header.
23691
23692 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
23693
23694         * configure.ac:
23695           back to development
23696
23697 === release 0.9.3 ===
23698
23699 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
23700
23701         * README:
23702         * configure.ac:
23703           Releasing 0.9.3, "Unregistered"
23704
23705 2005-10-03  Andy Wingo  <wingo@pobox.com>
23706
23707         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
23708         whereby calling a pad's activatepush() function can start a thread
23709         that starts to push or pull before the pad gets the FLUSHING flag
23710         unset. Hack around it by holding the stream lock until the flag is
23711         set. Need to replace this with a proper solution. Together with
23712         the ghost pad fixes, this fixes mp3 playing/tagreading.
23713
23714         * docs/design/part-gstghostpad.txt: Add a note about activation of
23715         proxy pads outside of ghost pads.
23716
23717         * gst/gstghostpad.c: Implement the ghost pad activation design.
23718
23719 2005-10-02  Andy Wingo  <wingo@pobox.com>
23720
23721         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
23722         It is volatile, after all.
23723
23724         * docs/design/part-gstghostpad.txt: Flesh out activation with
23725         ghost pads.
23726
23727         * gst/base/gstbasesrc.c (gst_base_src_init): Use
23728         GST_DEBUG_FUNCPTR.
23729
23730 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
23731
23732         * configure.ac:
23733           Fix (unused) AM_CONDITIONAL tests.
23734
23735 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
23736
23737         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23738
23739         * gst/gstutils.c: (gst_pad_query_convert):
23740           Add assertion that makes sure src_val is >=0, just like
23741           gst_query_new_convert() has. (#315895)
23742
23743 2005-09-30  Edward Hervey  <edward@fluendo.com>
23744
23745         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
23746         Let's not iterate pads we're not interested in, it avoids getting 
23747         sky-high refcounts on sinkpad.
23748
23749 2005-09-30  Wim Taymans  <wim@fluendo.com>
23750
23751         * gst/gstelement.c: (gst_element_set_state),
23752         (gst_element_change_state):
23753         Small tweak, element in ASYNC remains ASYNC.
23754
23755 2005-09-30  Wim Taymans  <wim@fluendo.com>
23756
23757         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
23758         Only error is an error.
23759
23760         * gst/gstbin.c: (gst_bin_change_state):
23761         Better debugging.
23762
23763         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
23764         Also call pad_block in pad alloc.
23765
23766         * gst/gstutils.c: (gst_flow_get_name):
23767         Better debugging.
23768
23769 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
23770
23771         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23772         (gst_base_src_get_range):
23773           Fix documentation typos. Add some more debug info.
23774
23775 2005-09-29  David Schleef  <ds@schleef.org>
23776
23777         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
23778           more end-user friendly.
23779         * tools/gst-inspect.c: (main): Check if command-line argument is
23780           a file and attempt to load that file as a plugin.
23781
23782 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
23783
23784         * check/gst/gstbin.c:
23785         * check/states/sinks.c:
23786           fix tests for the new warning
23787         * check/gst/gstpipeline.c:
23788           add a test for pipeline and bus interaction
23789         * gst/gstelement.c:
23790           elements should be NULL if they get disposed; add a warning if not
23791
23792 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
23793
23794         * gst/gstobject.c:
23795           for 2.6 refcounting, make debug log more correct by printing
23796           the actual refcounts at the time of swap (Wim)
23797
23798 2005-09-29  Andy Wingo  <wingo@pobox.com>
23799
23800         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
23801         removes signal watches previously added via
23802         gst_bus_add_signal_watch.
23803         (gst_bus_add_signal_watch): Don't return the source id, just store
23804         it on the bus if there wasn't an id already.
23805
23806         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
23807         add_signal_watch and remove_signal_watch.
23808
23809 2005-09-29  Edward Hervey  <edward@fluendo.com>
23810
23811         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
23812         Better if we actually iterate the list :)
23813
23814 2005-09-29  Wim Taymans  <wim@fluendo.com>
23815
23816         * check/gst/gstbin.c: (GST_START_TEST):
23817         Change for new bus API.
23818
23819         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
23820         (send_messages), (GST_START_TEST), (gstbus_suite):
23821         Change for new bus signal API.
23822
23823         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
23824         (gst_bus_source_prepare), (gst_bus_source_check),
23825         (gst_bus_create_watch), (gst_bus_add_watch_full),
23826         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
23827         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
23828         * gst/gstbus.h:
23829         Remove support for multiple GSources operating on different
23830         message types as it is too complex and unneeded when using
23831         signals.
23832         Added support for receiving signals from the bus.
23833
23834 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
23835
23836         * docs/libs/tmpl/gstdataprotocol.sgml:
23837         * docs/manual/advanced-dataaccess.xml:
23838         * gst/elements/gstcapsfilter.c:
23839         * gst/gstutils.c:
23840           rename filter-caps to caps property
23841
23842 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
23843
23844         * gst/gstvalue.c: (gst_value_deserialize_fraction):
23845           More robust fraction string parsing.
23846
23847         * docs/pwg/appendix-porting.xml:
23848           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
23849
23850 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
23851
23852         * gst/gstcaps.c: (gst_caps_do_simplify):
23853           Thou shalt not free a structure and then continue using it
23854           in the next loop iteration.
23855
23856         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
23857         (gst_caps_suite):
23858           Add test case for caps simplification.
23859
23860 2005-09-29  Wim Taymans  <wim@fluendo.com>
23861
23862         * check/gst/gstbin.c: (GST_START_TEST):
23863         Oops.
23864
23865 2005-09-29  Wim Taymans  <wim@fluendo.com>
23866
23867         * check/gst/gstbin.c: (GST_START_TEST):
23868         Add bus to bin.
23869
23870         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
23871         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
23872         (find_element), (gst_bin_sort_iterator_next),
23873         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
23874         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
23875         (gst_bin_change_state), (gst_bin_dispose):
23876         A bin does not have a bus, it gets the bus from the parent.
23877
23878         * gst/gstelement.c: (gst_element_requires_clock),
23879         (gst_element_provides_clock), (gst_element_is_indexable),
23880         (gst_element_is_locked_state), (gst_element_change_state),
23881         (gst_element_set_bus_func):
23882         Small cleanups.
23883
23884         * gst/gstpipeline.c: (gst_pipeline_class_init),
23885         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
23886         The pipeline provides a bus.
23887
23888 2005-09-28  Johan Dahlin  <johan@gnome.org>
23889
23890         * gst/gstmessage.c (gst_message_parse_state_changed): Use
23891         gst_structure_get_enum instead of gst_structure_get_int
23892
23893         * gst/gststructure.c (gst_structure_get_enum): Impl.
23894
23895         * gst/gststructure.h (gst_structure_get_enum): Add
23896
23897         * docs/gst/gstreamer-sections.txt: Ditto
23898
23899         * gst/gstmessage.c (gst_message_new_state_changed): Use
23900         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
23901         which does introspection.
23902         Reviewed by Christian Schaller
23903
23904 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
23905
23906         * gst/gstinfo.c: (gst_debug_log_default):
23907           don't do dummy g_strdup()s
23908         * libs/gst/controller/gstcontroller.c:
23909         (on_object_controlled_property_changed),
23910         (gst_controlled_property_new), (gst_controller_new_valist),
23911         (gst_controller_new_list),
23912         (gst_controller_remove_properties_valist), (gst_controller_set),
23913         (gst_controller_get), (gst_controller_sync_values),
23914         (gst_controller_get_value_array), (_gst_controller_class_init),
23915         (gst_controller_get_type):
23916         * libs/gst/controller/gstcontroller.h:
23917         * libs/gst/controller/gstinterpolation.c:
23918         (gst_controlled_property_find_timed_value_node):
23919           convert // to /**/ comments
23920
23921 2005-09-28  Wim Taymans  <wim@fluendo.com>
23922
23923         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
23924         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
23925         (gst_bus_sync_signal_handler):
23926         * gst/gstbus.h:
23927         Added async-message and sync-message signals to the bus.
23928         Added helper BusFunc to emit signals for all posted messages.
23929
23930         * gst/gstmessage.c: (gst_message_type_get_name),
23931         (gst_message_type_to_quark), (gst_message_get_type):
23932         * gst/gstmessage.h:
23933         Register quarks for message names.
23934
23935 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
23936
23937         * docs/libs/gstreamer-libs-sections.txt:
23938         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
23939         (gst_controller_new_list):
23940         * libs/gst/controller/gstcontroller.h:
23941           added another constructor for language bindings
23942
23943 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
23944
23945         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23946           add another check
23947         * gst/gstbus.c:
23948           add some doc
23949         * gst/gstinfo.c: (_gst_debug_init):
23950           slightly more readable color for refcount debugging
23951
23952 2005-09-28  Wim Taymans  <wim@fluendo.com>
23953
23954         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
23955         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
23956         (find_element), (gst_bin_sort_iterator_next),
23957         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
23958         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
23959         (gst_bin_change_state), (gst_bin_dispose):
23960         Small doc fixes. get_clock -> provide_clock.
23961
23962         * gst/gstelement.c: (gst_element_class_init),
23963         (gst_element_provides_clock), (gst_element_provide_clock),
23964         (gst_element_get_clock), (gst_element_commit_state),
23965         (gst_element_lost_state):
23966         * gst/gstelement.h:
23967         Make get/set_clock() symetric. Add provide_clock vmethod since
23968         that is actually what this function does.
23969
23970         * gst/gstpipeline.c: (gst_pipeline_class_init),
23971         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
23972         (gst_pipeline_get_clock):
23973         get_clock -> provide_clock.
23974
23975 2005-09-28  Andy Wingo  <wingo@pobox.com>
23976
23977         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
23978         lieu of real docs...
23979
23980         * gst/elements/gstfdsrc.c: Cleaned up a bit.
23981
23982 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
23983
23984         * gst/elements/gstcapsfilter.c:
23985         * gst/elements/gstfakesink.c:
23986         * gst/elements/gstfakesrc.c:
23987         * gst/elements/gstfdsink.c:
23988         * gst/elements/gstfdsrc.c:
23989         * gst/elements/gstfilesink.c:
23990         * gst/elements/gstfilesrc.c:
23991         * gst/elements/gstidentity.c:
23992         * gst/elements/gsttee.c:
23993         * gst/elements/gsttypefindelement.c:
23994           Make element details static.
23995
23996 2005-09-28  Wim Taymans  <wim@fluendo.com>
23997
23998         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
23999         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24000         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24001         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24002         (gst_bin_change_state), (gst_bin_dispose):
24003         Some documentation updates.
24004         Clean up dispose handlers.
24005
24006         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
24007         * gst/gstpad.c: (gst_pad_dispose):
24008         Clean up dispose handler.
24009
24010         * gst/gstpipeline.c: (gst_pipeline_change_state):
24011         Removed spurious UNLOCK.
24012
24013 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
24014
24015         * docs/gst/gstreamer-sections.txt:
24016         * gst/base/gstbasesrc.h:
24017         * gst/gstelement.h:
24018         * gst/gstevent.h:
24019         * gst/gstobject.h:
24020         * gst/gstpad.h:
24021         * gst/gstpipeline.c:
24022         * gst/gstpipeline.h:
24023         * gst/gstutils.h:
24024         * gst/gstxml.h:
24025           added two new functions to the docs
24026                 documents all undocumented GstXXXFlags
24027                 completed some incomplete docs 
24028
24029 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
24030
24031         * gst/gstbin.c: (gst_bin_dispose):
24032         * gst/gstelement.c: (gst_element_dispose):
24033           remove now useless and leaky resurrection code in dispose
24034         * gst/base/gstbasesrc.c: (gst_base_src_init):
24035         * gst/gstelementfactory.c: (gst_element_factory_create):
24036         * gst/gstobject.c: (gst_object_set_parent):
24037           add some debugging
24038
24039 2005-09-27  Wim Taymans  <wim@fluendo.com>
24040
24041         * docs/design/part-TODO.txt:
24042         Update TODO.
24043
24044         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24045         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24046         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24047         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24048         (gst_bin_change_state):
24049         * gst/gstelement.h:
24050         Remove element variable, we keep element info in the iterator now.
24051
24052 2005-09-27  Andy Wingo  <wingo@pobox.com>
24053
24054         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
24055         values.
24056
24057 2005-09-27  Wim Taymans  <wim@fluendo.com>
24058
24059         * check/gst/gstbin.c: (GST_START_TEST):
24060         Enable check that works now.
24061
24062         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24063         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24064         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24065         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24066         (gst_bin_change_state):
24067         * gst/gstbin.h:
24068         Redid the state change algorithm using a topological sort algo.
24069         Handles all cases correctly.
24070         Exposed iterator for state change order.
24071
24072         * gst/gstelement.h:
24073         Temp storage for state changes. Need to get rid of this soon.
24074
24075 2005-09-27  Wim Taymans  <wim@fluendo.com>
24076
24077         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
24078         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
24079         (link_fold_func), (gst_pad_proxy_setcaps):
24080         Leak fixes, the fold functions need to unref the passed object and
24081         _get_parent_*() returns ref to parent.
24082
24083 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24084
24085         * check/gst/gstbuffer.c: (test_make_writable):
24086           Plug leak in test case and fix 'make check-valgrind'
24087
24088 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24089
24090         * gst/gstbuffer.c: (gst_subbuffer_init):
24091           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
24092           works correctly in all circumstances (we could have just copied
24093           the parent buffer's readonly flag, but conceptually it seems
24094           cleaner to mark all subbuffers as read-only). (based on patch
24095           by Alessandro Decina, #314710).
24096         
24097         * check/gst/gstbuffer.c: (create_read_only_buffer),
24098         (test_make_writable), (test_subbuffer_make_writable),
24099         (gst_test_suite):
24100           Add some tests for gst_buffer_make_writable().
24101
24102 2005-09-27  Wim Taymans  <wim@fluendo.com>
24103
24104         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
24105         use gst_object_has_ancestor().
24106
24107         * gst/gstobject.c: (gst_object_has_ancestor):
24108         * gst/gstobject.h:
24109         gst_object_has_ancestor() copied from gstbin.c as it is a
24110         useful function.
24111
24112         * tests/instantiate/create.c: (create_all_elements):
24113         * tests/lat.c: (handoff_src), (handoff_sink):
24114         * tests/sched/runxml.c: (main):
24115         * tests/seeking/seeking1.c: (main):
24116         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24117         (main):
24118         Fix compilation of some tests.
24119
24120 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24121
24122         * gst/gsterror.h:
24123           Remove comment. GST_TYPE_G_ERROR is here to stay,
24124           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
24125           (#316961, #300610).
24126
24127 2005-09-26  Wim Taymans  <wim@fluendo.com>
24128
24129         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24130         Added check that shows error in state change order.
24131
24132 2005-09-26  Wim Taymans  <wim@fluendo.com>
24133
24134         * gst/gstbin.c: (gst_bin_change_state):
24135         Make state change function use 3 queues again, we were
24136         adding elements in the wrong order.
24137
24138         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
24139         Some debug info,
24140
24141         * gst/gstpad.c: (gst_pad_dispose):
24142         Added some debug info first.
24143
24144 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
24145
24146         * docs/design/draft-push-pull.txt:
24147         * docs/design/part-events.txt:
24148         * docs/design/part-overview.txt:
24149         * docs/design/part-scheduling.txt:
24150           Replace all _pull_region() with _pull_range()
24151           
24152 2005-09-26  Andy Wingo  <wingo@pobox.com>
24153
24154         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
24155
24156         * check/gst-libs/controller.c: Update for controller api change.
24157
24158         * configure.ac: 
24159         * tests/Makefile.am:
24160         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
24161         over by GLib bug 118439.
24162         
24163         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
24164         routines to a function.
24165
24166         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
24167
24168         * libs/gst/controller/gsthelper.c:
24169         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
24170         (gst_object_sync_values): Renamed from sink_values. Ugh.
24171
24172         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
24173
24174         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
24175         Renamed from controller_key, as it is exported.
24176
24177         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
24178
24179 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
24180
24181         * gst/Makefile.am:
24182         * gst/gst.h:
24183         * gst/gstpad.h:
24184         * gst/gstpadtemplate.h:
24185         * gst/gstquery.c:
24186         * gst/gstquery.h:
24187         * gst/gstqueryutils.c:
24188         * gst/gstqueryutils.h:
24189           remove queryutils headers after moving the two used functions
24190           to gstquery.  also fixes build problem for gstsiddec
24191
24192 2005-09-26  Michael Smith <msmith@fluendo.com>
24193
24194         * tools/gst-launch.1.in:
24195         Correct documentation in manpage of debug syntax
24196
24197 2005-09-26  Wim Taymans  <wim@fluendo.com>
24198
24199         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24200         (gst_base_src_is_seekable), (gst_base_src_change_state):
24201         Some more debugging info.
24202
24203 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24204
24205         * docs/gst/gstreamer-sections.txt:
24206         * gst/base/gstbasetransform.h:
24207         * gst/gstindex.h:
24208           added more docs
24209
24210 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24211
24212         * docs/gst/.cvsignore:
24213         * docs/gst/tmpl/.cvsignore:
24214         * docs/gst/tmpl/gstpipeline.sgml:
24215         * docs/gst/tmpl/gstplugin.sgml:
24216         * gst/gstpipeline.c:
24217         * gst/gstplugin.c:
24218         * gst/gstplugin.h:
24219           inlined the last two docs files
24220           removed the tmpl directory from cvs (no more conflicts here!)
24221
24222 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24223
24224         * docs/gst/gstreamer-sections.txt:
24225         * docs/gst/tmpl/.cvsignore:
24226         * docs/gst/tmpl/gstpad.sgml:
24227         * docs/gst/tmpl/gstpadtemplate.sgml:
24228         * gst/Makefile.am:
24229         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
24230         (gst_pad_finalize), (gst_pad_set_pad_template):
24231         * gst/gstpad.h:
24232         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
24233         (gst_pad_template_class_init), (gst_pad_template_init),
24234         (gst_pad_template_dispose), (name_is_valid),
24235         (gst_static_pad_template_get), (gst_pad_template_new),
24236         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
24237         (gst_pad_template_pad_created):
24238         * gst/gstpadtemplate.h:
24239           inlined two more docs
24240           factored gstpadtemplate out of gstpad
24241
24242 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
24243
24244         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24245         (test_children_state_change_order_semi_sink):
24246           Fix test case: we can't rely on a fixed state change order when
24247           going from READY => PAUSED because the sink might commit its 
24248           new state first when the first buffer created by the source 
24249           reaches the sink before the source has finished its change state.
24250           (Test case still fails at times, see #316856, comment 5 onwards)
24251
24252 2005-09-24  Wim Taymans  <wim@fluendo.com>
24253
24254         * docs/design/part-events.txt:
24255         * docs/design/part-gstbus.txt:
24256         * docs/design/part-gstpipeline.txt:
24257         * docs/design/part-messages.txt:
24258         * docs/design/part-overview.txt:
24259         * docs/design/part-segments.txt:
24260         * gst/gstbin.c:
24261         * gst/gstbuffer.c:
24262         * gst/gstclock.c:
24263         * gst/gstelement.c:
24264         * gst/gstevent.c:
24265         * gst/gstfilter.c:
24266         * gst/gstiterator.c:
24267         Various documentation updates.
24268
24269 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24270
24271         * gst/gstclock.h:
24272           Well, that's embarassing.  Luckily we weren't using
24273           GST_CLOCK_DIFF anywhere.
24274
24275 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24276
24277         * common/gtk-doc.mak:
24278           don't fail on building XML, FC4 slave shows a bunch of doc
24279           missing bits that I don't get
24280         * gst/gstpad.c:
24281         * gst/gstpipeline.c:
24282         * gst/gststructure.c:
24283           some doc updates
24284
24285 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24286
24287         * docs/design/part-gstbin.txt:
24288         * docs/design/part-gstbus.txt:
24289         * gst/gstbus.c:
24290           Add blurb about how the bus goes into flushing mode and
24291           drops all messages when its bin goes from READY into NULL 
24292           state.
24293
24294 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24295
24296         * docs/gst/gstreamer-sections.txt:
24297         * gst/gststructure.c: (gst_structure_get_clock_time):
24298         * gst/gststructure.h:
24299           add a method to get a GstClockTime out of a structure
24300
24301 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24302
24303         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24304         (test_children_state_change_order_semi_sink), (gst_bin_suite):
24305           Added test to check state change order in bins (can still be made
24306           to fail here under heavy disk load; bails out with 'Push on pad
24307           fakesink:sink0, but it was not activated in push mode').
24308
24309         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
24310           Fix state change order when there is only a semi sink (#316856)
24311
24312         * gst/gstbus.c: (gst_bus_class_init):
24313           Use _class_peek_parent(), not _class_ref(); fix docs to say
24314           'default main context' instead of 'mainloop' where that is
24315           what's meant.
24316
24317         * gst/gstelement.c: (gst_element_commit_state),
24318         (gst_element_set_state):
24319           Fix typos in debug messages
24320
24321 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24322
24323         * docs/README:
24324         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
24325         * gst/gstpluginfeature.c:
24326         * gst/gstutils.c:
24327           various doc updates
24328         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24329           change an assert into an error until it gets fixed properly
24330
24331 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
24332
24333         * docs/gst/gstreamer-sections.txt:
24334         * docs/gst/tmpl/.cvsignore:
24335         * docs/gst/tmpl/gstelement.sgml:
24336         * docs/gst/tmpl/gstinfo.sgml:
24337         * docs/gst/tmpl/gstobject.sgml:
24338         * gst/gstelement.c:
24339         * gst/gstelement.h:
24340         * gst/gstinfo.c:
24341         * gst/gstinfo.h:
24342         * gst/gstobject.c: (gst_object_class_init):
24343         * gst/gstobject.h:
24344           inlined 3 more biiiig doc files and added some missing docs on the fly
24345
24346 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24347
24348         * check/gst/.cvsignore:
24349         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
24350         * gst/gstregistryxml.c: (load_plugin),
24351         (gst_registry_xml_save_plugin):
24352           put back source in registry.  add checks for find_plugin.
24353         * testsuite/states/bin.c: (assert_state), (empty_bin),
24354         (test_adding_one_element), (main):
24355         * testsuite/states/locked.c: (main):
24356           some compile/run fixes
24357
24358 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24359
24360         * check/gst/gstvalue.c: (GST_START_TEST):
24361           fix leaks in the test itself
24362
24363 2005-09-22  Wim Taymans  <wim@fluendo.com>
24364
24365         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24366         (gst_base_sink_send_event), (gst_base_sink_peer_query),
24367         (gst_base_sink_query):
24368         Prepare for more accurate position reporting and query
24369         handling.
24370
24371         * gst/gstelement.c: (gst_element_send_event),
24372         (gst_element_set_state):
24373         Add some comment.
24374
24375 2005-09-22  Wim Taymans  <wim@fluendo.com>
24376
24377         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
24378         (gst_query_parse_segment):
24379         * gst/gstquery.h:
24380         More documentation.
24381         Add segment query for future use.
24382
24383 2005-09-22  Wim Taymans  <wim@fluendo.com>
24384
24385         * gst/gstbin.c: (gst_bin_add_func):
24386         Some more debug info.
24387
24388         * gst/gstelement.c: (gst_element_send_event):
24389         Simplify send_event
24390
24391         * gst/gstelement.h:
24392         Don't know how flags got broken.
24393
24394         * gst/gstquery.h:
24395         Added new query.
24396
24397 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24398
24399         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
24400           Add simplistic test suite for GST_TYPE_DATE serialisation and
24401           deserialisation.
24402
24403 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24404
24405         * docs/gst/gstreamer-sections.txt:
24406         * gst/gststructure.c: (gst_structure_set_valist),
24407         (gst_structure_get_date):
24408         * gst/gststructure.h:
24409         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
24410         (gst_date_copy), (gst_value_compare_date),
24411         (gst_value_serialize_date), (gst_value_deserialize_date),
24412         (gst_value_transform_date_string),
24413         (gst_value_transform_string_date), (_gst_value_initialize):
24414         * gst/gstvalue.h:
24415           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
24416           bunch of utility functions along with a hack that checks that
24417           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
24418           is required. Part of the grand scheme in #170777.
24419
24420 2005-09-22  Andy Wingo  <wingo@pobox.com>
24421
24422         * gst/gstconfig.h.in: Psych out gtk-doc.
24423
24424         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
24425
24426         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
24427
24428         * tools/gst-inspect.c (print_element_list): Plug some
24429         inconsequential leaks.
24430
24431         * gst/gstregistry.c (gst_registry_get_default): Doc.
24432
24433         * check/gst/gstplugin.c: 
24434         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
24435         * gst/gstelementfactory.c (gst_element_factory_create): 
24436         * gst/gstindexfactory.c (gst_index_factory_create): Update for
24437         refcount changes.
24438
24439         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
24440         (gst_plugin_feature_load): Doc, don't eat refs.
24441
24442         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
24443         (gst_plugin_list_free): Doc.
24444         (gst_plugin_load_file): Doc updates.
24445
24446         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
24447         accessors returning refcounted objects, return a ref.
24448
24449         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
24450         accessor for caps. IDEMPOTENCE. Oh yes.
24451
24452 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
24453
24454         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24455
24456         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24457         (_gst_debug_register_funcptr):
24458           Add mutex to serialise access to the hash table with
24459           the function pointer => function name string mapping;
24460           make that hash table static scope (#316809).
24461
24462         * gst/registries/.cvsignore:
24463           Remove left-over file.
24464
24465 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24466
24467         * docs/pwg/appendix-porting.xml:
24468           And something about newsegment events and caps-on-buffers to
24469           the porting guide (feel free to improve).
24470
24471 2005-09-21  Andy Wingo  <wingo@pobox.com>
24472
24473         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
24474         data and event probes on the same pad.
24475         (test_buffer_probe_once): Test that removing probes from within
24476         the probe functions works.
24477
24478 2005-09-21  Andy Wingo  <wingo@pobox.com>
24479
24480         * check/gst/gstutils.c: New file.
24481         (test_buffer_probe_n_times): A simple buffer probe test. More to
24482         come, foolios.
24483
24484         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
24485         have-data::buffer, not have-data.
24486         (gst_pad_add_event_probe): Likewise for have-data::event.
24487         (gst_pad_add_data_probe): More docs. The part about 'resolving the
24488         peer' isn't quite right yet though.
24489         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
24490         (gst_pad_remove_data_probe): Change to take the guint handler_id
24491         as their arg, not the function+data, which is more glib-like.
24492
24493         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
24494         the signal emission to indicate if the data is a buffer or an
24495         event.
24496         (gst_pad_get_type): Initialize buffer and event quarks.
24497         (gst_pad_class_init): have-data is now a detailed signal, yes it
24498         is.
24499
24500 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24501
24502         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24503         * gst/gstutils.c: (gst_util_set_value_from_string),
24504         (gst_util_set_object_arg):
24505           Don't put functional code in g_return_if_fail() or
24506           g_return_val_if_fail() statements, otherwise things will 
24507           break when G_DISABLE_CHECKS is defined during compilation.
24508
24509 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24510
24511         * docs/gst/tmpl/.cvsignore:
24512         * docs/gst/tmpl/gstvalue.sgml:
24513         * gst/gstvalue.c:
24514         * gst/gstvalue.h:
24515           inlied another one and added  some obvious docs
24516
24517 2005-09-21  Wim Taymans  <wim@fluendo.com>
24518
24519         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
24520         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
24521         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
24522         (gst_fdsrc_get_property), (gst_fdsrc_create):
24523         * gst/elements/gstfdsrc.h:
24524         Properly implement fdsrc. Removed signal and timeout,
24525         better implemented somewhere else.
24526
24527 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24528
24529         * docs/gst/tmpl/.cvsignore:
24530         * docs/gst/tmpl/gstimplementsinterface.sgml:
24531         * gst/gstinterface.c:
24532           inlined more docs
24533
24534 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24535
24536         * docs/gst/gstreamer-sections.txt:
24537         * docs/gst/tmpl/.cvsignore:
24538         * docs/gst/tmpl/gstenumtypes.sgml:
24539           remove obsolete doc file
24540
24541 2005-09-21  David Schleef  <ds@schleef.org>
24542
24543         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
24544         little beer, fix a little leak.
24545
24546 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24547
24548         * docs/gst/gstreamer-docs.sgml:
24549         * docs/gst/gstreamer-sections.txt:
24550         * docs/gst/tmpl/.cvsignore:
24551         * gst/Makefile.am:
24552         * gst/gst.h:
24553         * gst/gstbin.c:
24554         * gst/gstelement.h:
24555         * gst/gstindex.c: (gst_index_class_init):
24556         * gst/gstindex.h:
24557         * gst/gstindexfactory.c: (gst_index_factory_get_type),
24558         (gst_index_factory_class_init), (gst_index_factory_init),
24559         (gst_index_factory_finalize), (gst_index_factory_new),
24560         (gst_index_factory_destroy), (gst_index_factory_find),
24561         (gst_index_factory_create), (gst_index_factory_make):
24562         * gst/gstindexfactory.h:
24563         * gst/gstpluginfeature.c:
24564         * gst/gstpluginfeature.h:
24565         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24566           more docs inlined, splitted gstindex.{c,h}
24567
24568 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24569
24570         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24571           fix a leak
24572
24573 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
24574
24575         * gst/elements/gstfilesink.c: (gst_file_sink_init):
24576           Set sync to FALSE by default.
24577
24578 2005-09-20  Wim Taymans  <wim@fluendo.com>
24579
24580         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24581         (gst_base_sink_init):
24582         Make sync property settable from subclass.
24583
24584         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
24585         (gst_fake_sink_change_state):
24586         Set sync to FALSE by default.
24587
24588 2005-09-20  Wim Taymans  <wim@fluendo.com>
24589
24590         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
24591         * tools/gst-launch.c: (main):
24592         The timeout handler should have lower priority than the source
24593         so we don't timeout before popping a message with 0 timeout.
24594         Dump error messages after failed state change.
24595
24596 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
24597
24598         * tools/gst-inspect.c: (print_element_properties_info):
24599           Fix two typos.
24600
24601 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24602
24603         * check/gst/gstevent.c:
24604         * gst/elements/gstfakesink.c:
24605         * gst/elements/gstfakesink.h:
24606           remove the sync property from fakesink.
24607           has the side effect of setting sync TRUE
24608           for fakesink, which is a change.  Anyone who knows how
24609           to fix this nicely in a GObject-y way, feel free.
24610
24611 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24612
24613         * docs/gst/gstreamer-docs.sgml:
24614           remove probe refsection
24615
24616 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24617
24618         * check/Makefile.am:
24619           disable valgrinding the controller test again
24620         * docs/gst/gstreamer-sections.txt:
24621           update for api-changes
24622
24623 2005-09-20  Wim Taymans  <wim@fluendo.com>
24624
24625         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24626         (gst_base_sink_set_property), (gst_base_sink_get_property),
24627         (gst_base_sink_do_sync):
24628         * gst/base/gstbasesink.h:
24629         Added sync property to basesink to disable clock sync.
24630
24631 2005-09-20  Andy Wingo  <wingo@pobox.com>
24632
24633         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
24634         eating the caller's refcount.
24635
24636         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
24637         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
24638         refcount.
24639
24640         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
24641         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
24642         of GLib 2.8 public, so we can know which refcount to check in
24643         tests.
24644
24645         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
24646         (gst_object_init): Only set the gst refcount if we're going ahead
24647         with the refcount hack.
24648
24649 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24650
24651         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24652         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24653           more leaks plumbed, added more debug-logging
24654         * gst/gstmacros.h:
24655           whitespace fix
24656
24657 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24658
24659         * gst/gstmessage.c:
24660           remove include of gstmemchunk.h
24661
24662 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24663
24664         * gst/gstclock.c: (_gst_clock_id_free):
24665           Commit from the Political Party For More Atomic CVS Commits,
24666           so that people don't waste too much of their day fishing
24667           out obvious leaks out of massive commits.
24668           Oh, and fix a pretty damn obvious leak in the memchunk
24669           removal code.
24670
24671 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24672
24673         * check/Makefile.am:
24674         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24675           plug mem-leak, re-add to valgrindable tests
24676
24677 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24678
24679         * gst/gstplugin.h:
24680           unbreak the build for those who have chronic arthritis
24681           and typing "make check" is just too taxing on the hands
24682
24683 2005-09-20  Andy Wingo  <wingo@pobox.com>
24684
24685         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
24686         really want it out, you should fix plugins at the same time.
24687
24688 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
24689
24690         * configure.ac:
24691         * docs/gst/gstreamer-sections.txt:
24692         * gst/gstobject.c:
24693           added missing symbols to api docs
24694           disable ref-count hack if we have glib >= 2.8
24695
24696 2005-09-19  David Schleef  <ds@schleef.org>
24697
24698         * docs/gst/Makefile.am: Ignore a few more internal headers
24699         * docs/gst/gstreamer-docs.sgml: Remove old sections
24700         * docs/gst/gstreamer-sections.txt: Remove old sections
24701         * docs/gst/tmpl/gstobject.sgml: update
24702         * docs/gst/tmpl/gstplugin.sgml: update
24703         * docs/gst/tmpl/gstpluginfeature.sgml: update
24704         * docs/random/ds/0.9-suggested-changes: update.
24705         * gst/Makefile.am: remove memchunk and trashstack, since they're
24706           not used.
24707         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
24708         * gst/gst.h: don't include some headers
24709         * gst/gstchildproxy.c: add gstmarshal.h
24710         * gst/gstclock.c: Don't use memchunks
24711         * gst/gstminiobject.c: Add some docs
24712         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
24713         * gst/gstobject.h: same
24714         * gst/gstplugin.c: include gstmacros.h
24715         * gst/gstplugin.h: don't include gstmacros.h, since it's private
24716         * gst/gstquery.c: don't use memchunks
24717         * gst/gstregistry.c: rename gst_registry_deinit()
24718         * gst/gstregistry.h: same
24719
24720 2005-09-19  David Schleef  <ds@schleef.org>
24721
24722         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
24723         * docs/libs/gstreamer-libs-sections.txt:
24724         * docs/libs/tmpl/gstgetbits.sgml:
24725         * docs/libs/tmpl/gstputbits.sgml:
24726
24727 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
24728
24729         * win32/gstenumtypes.c:
24730         * win32/gstenumtypes.h:
24731           Update.
24732
24733 2005-09-19  Wim Taymans  <wim@fluendo.com>
24734
24735         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
24736         Automatically PAUSE and RESUME a pipeline when a flushing seek
24737         is performed.
24738
24739 2005-09-19  Andy Wingo  <wingo@pobox.com>
24740
24741         * gst/gstregistry.h: Spacing fixen.
24742
24743 2005-09-19  Wim Taymans  <wim@fluendo.com>
24744
24745         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
24746         Handle state change failure more correctly.
24747
24748 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24749
24750         * check/Makefile.am:
24751         * check/pipelines/cleanup.c: (run_pipeline):
24752         * check/pipelines/simple_launch_lines.c: (run_pipeline),
24753         (GST_START_TEST):
24754           enable cleanup again after fixing the leak
24755         * docs/README:
24756           some more info on docs
24757
24758 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24759
24760         * check/Makefile.am:
24761           re-enable tests now that leaks are plugged
24762         * check/gst/gst.c:
24763         * check/gst/gstbin.c:
24764         * check/gst/gstpipeline.c:
24765           add some more tests while fixing leaks
24766         * common/check.mak:
24767           make sure binaries are uptodate when valgrinding/gdbing
24768         * gst/gst.c:
24769         * gst/gstelementfactory.c:
24770           remove a ref too many, and add a FIXME for when we get
24771           round to disposing of classes
24772         * gst/gstplugin.c:
24773           fix the refcounting when loading a plugin from a file and
24774           the code pretends that the pointer is the same even though
24775           of course it can change
24776         * gst/gstpluginfeature.c:
24777           unref plugins marked cached (a bit confusing as a name)
24778           as the docs state should be done
24779           various doc additions to explain refcounting
24780         * gst/gstregistry.c:
24781         * gst/gstregistryxml.c:
24782           debugging
24783
24784 2005-09-19  Wim Taymans  <wim@fluendo.com>
24785
24786         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
24787         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24788         (send_messages), (GST_START_TEST), (gstbus_suite):
24789         * check/gst/gstpipeline.c: (GST_START_TEST):
24790         * check/pipelines/cleanup.c: (run_pipeline):
24791         * check/pipelines/simple_launch_lines.c: (run_pipeline),
24792         (GST_START_TEST):
24793         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
24794         (gst_bus_source_check), (gst_bus_source_dispatch),
24795         (gst_bus_create_watch), (gst_bus_add_watch_full),
24796         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
24797         * gst/gstbus.h:
24798         * tools/gst-launch.c: (event_loop):
24799         * tools/gst-md5sum.c: (event_loop):
24800         GstBusHandler -> GstBusFunc, return value has the same meaning as
24801         any other GSource (FALSE == remove source).
24802         _add_watch() and _add_watch_full() now take a MessageType mask to
24803         only handle specific types of messages.
24804         _poll() returns the GstMessage instead of the message type to avoid
24805         race conditions.
24806         _have_pending() takes a MessageType mask now too.
24807         Added testsuite for multiple bus watches.
24808         Fix testsuites and applications for new bus API.
24809
24810 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24811
24812         * check/Makefile.am:
24813           mark a bunch of the tests as to fix until we fix them
24814
24815 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
24816
24817         * common/check.mak:
24818           use GST_PLUGIN settings for valgrind tests as well, so we're
24819           valgrinding the correct thing
24820         * gst/gst.c: (init_post):
24821           plug another leak
24822
24823 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
24824
24825         * gst/gst.c: (init_post), (gst_deinit):
24826         * gst/gstelementfactory.c: (gst_element_factory_class_init),
24827         (gst_element_factory_finalize), (gst_element_factory_cleanup):
24828         * gst/gstindex.c: (gst_index_factory_class_init),
24829         (gst_index_factory_finalize):
24830         * gst/gstobject.c: (gst_object_dispose):
24831         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
24832         (gst_plugin_load_file), (gst_plugin_desc_free):
24833         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
24834         (gst_plugin_feature_finalize):
24835         * gst/gstregistry.c: (gst_registry_class_init),
24836         (gst_registry_init), (gst_registry_finalize),
24837         (gst_registry_get_default), (gst_registry_deinit):
24838         * gst/gstregistry.h:
24839         * gst/gstregistryxml.c: (load_feature), (load_plugin):
24840           various cleanups and memleak plugging.  make valgrind is happy now.
24841
24842 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
24843
24844         * common/check.mak:
24845           add a check-valgrind target
24846
24847 2005-09-18  David Schleef  <ds@schleef.org>
24848
24849         * tools/gst-inspect.c: Revert the GOption code.
24850
24851 2005-09-17  David Schleef  <ds@schleef.org>
24852
24853         * check/Makefile.am: Fix environment variables.
24854         * check/gst/gstplugin.c: Fix for API changes.
24855         * tools/gst-inspect.c: Fix for API changes.
24856         * tools/gst-xmlinspect.c: Fix for API changes.
24857         * gst/gstelementfactory.c:
24858         * gst/gstplugin.c:
24859         * gst/gstplugin.h:
24860         * gst/gstpluginfeature.c:
24861         * gst/gstpluginfeature.h:
24862         * gst/gstregistry.c:
24863         * gst/gstregistry.h:
24864         * gst/gstregistryxml.c:
24865         * gst/gsttypefind.c:
24866         * gst/gsttypefindfactory.c:
24867         * gst/indexers/gstfileindex.c:
24868         * gst/indexers/gstmemindex.c:
24869         * gst/schedulers/Makefile.am:
24870           Change registry to keep track of both plugins and features,
24871           removing the feature tracking from plugins themselves.
24872
24873 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
24874
24875         * check/Makefile.am:
24876         * tools/gst-register.1.in:
24877           remove gst-register
24878
24879 2005-09-15  David Schleef  <ds@schleef.org>
24880
24881         * check/gst/gstplugin.c:
24882         * gst/gstelementfactory.c:
24883         * gst/gstplugin.c:
24884         * gst/gstpluginfeature.c:
24885         * gst/gstregistry.c:
24886           Getting tired of debugging.  Disabled all the unreffing of
24887           plugins and features, which fixes the segfaults, but of
24888           course leaks like crazy.  At least playbin works.
24889
24890 2005-09-15  David Schleef  <ds@schleef.org>
24891
24892         * check/gst/gstplugin.c: (register_check_elements),
24893         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
24894         More testing
24895         * gst/elements/gsttypefindelement.c: Fix refcounting.
24896         * gst/gsttypefind.c:
24897         * gst/gsttypefindfactory.c:
24898         * gst/gsttypefindfactory.h:
24899
24900 2005-09-15  David Schleef  <ds@schleef.org>
24901
24902         * gst/gstindex.c: get refcounting correct.
24903         * gst/gstregistry.c: Handle the case where a feature/plugin is
24904           not found.
24905
24906 2005-09-15  David Schleef  <ds@schleef.org>
24907
24908         * check/Makefile.am:
24909         * check/gst/gstplugin.c: Add test
24910         * gst/gstplugin.c: Fix problems noticed by testsuite
24911         * gst/gstplugin.h:
24912         * gst/gstregistry.c: 
24913         * gst/gstregistry.h:
24914
24915 2005-09-15  David Schleef  <ds@schleef.org>
24916
24917         * gst/gstplugin.c: Implement semi-decent recounting and locking
24918           in plugins and plugin features.
24919         * gst/gstplugin.h:
24920         * gst/gstpluginfeature.c:
24921         * gst/gstpluginfeature.h:
24922         * gst/gstregistry.c:
24923
24924 2005-09-15  Michael Smith <msmith@fluendo.com>
24925
24926         * gst/gstregistry.c: (gst_registry_get_feature_list):
24927           Implement this. Makes oggdemux work; decodebin still broken.
24928
24929 2005-09-14  David Schleef  <ds@schleef.org>
24930
24931         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
24932           #316076)
24933         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
24934         * gst/check/Makefile.am:
24935         * libs/gst/controller/Makefile.am:
24936         * libs/gst/dataprotocol/Makefile.am:
24937
24938 2005-09-14  David Schleef  <ds@schleef.org>
24939
24940         * configure.ac: Remove getbits library.  Nothing uses it, and
24941           it should be in something like liboil if someone did want
24942           to use it.
24943         * libs/gst/Makefile.am:
24944         * libs/gst/getbits/Makefile.am:
24945         * libs/gst/getbits/gbtest.c:
24946         * libs/gst/getbits/getbits.c:
24947         * libs/gst/getbits/getbits.h:
24948         * libs/gst/getbits/gstgetbits_generic.c:
24949         * libs/gst/getbits/gstgetbits_i386.s:
24950         * libs/gst/getbits/gstgetbits_inl.h:
24951
24952 2005-09-14  David Schleef  <ds@schleef.org>
24953
24954         * gst/Makefile.am: Dist glib-compat.h
24955
24956 2005-09-14  David Schleef  <ds@schleef.org>
24957
24958         * configure.ac: Remove gst/registries, since it's no longer used.
24959         * gst/registries/Makefile.am:
24960         * gst/registries/gstlibxmlregistry.c:
24961         * gst/registries/gstlibxmlregistry.h:
24962         * gst/registries/gstxmlregistry.c:
24963         * gst/registries/gstxmlregistry.h:
24964         * gst/registries/registrytest.c:
24965
24966 2005-09-14  David Schleef  <ds@schleef.org>
24967
24968         * gst/glib-compat.h:
24969         * gst/gstregistryxml.c:
24970           Convergence is near.  Seriously.
24971
24972 2005-09-14  David Schleef  <ds@schleef.org>
24973
24974         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
24975         * gst/glib-compat.h:
24976           Attempt #4 to appease the buildbots.
24977
24978 2005-09-14  David Schleef  <ds@schleef.org>
24979
24980         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
24981           Attempt #3.
24982
24983 2005-09-14  David Schleef  <ds@schleef.org>
24984
24985         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
24986         Attempt #2.
24987
24988 2005-09-14  David Schleef  <ds@schleef.org>
24989
24990         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
24991           the new functions.
24992
24993 2005-09-14  David Schleef  <ds@schleef.org>
24994
24995         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
24996         * gst/glib-compat.h: Add some functions that are in newer versions
24997           of glib than we care to require.
24998         * gst/gstregistryxml.c: Use them.
24999
25000 2005-09-14  David Schleef  <ds@schleef.org>
25001
25002         * po/POTFILES.in: remove gst-register.c
25003
25004 2005-09-14  David Schleef  <ds@schleef.org>
25005
25006         * docs/gst/gstreamer-docs.sgml:
25007         * docs/gst/gstreamer-sections.txt:
25008         * docs/gst/gstreamer.types:
25009         * docs/gst/tmpl/gstelement.sgml:
25010         * docs/gst/tmpl/gstplugin.sgml:
25011         * docs/gst/tmpl/gstpluginfeature.sgml:
25012           Documentation updates for registry changes.
25013
25014 2005-09-14  David Schleef  <ds@schleef.org>
25015
25016         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
25017           because we don't require glib-2.8.
25018
25019 2005-09-14  David Schleef  <ds@schleef.org>
25020
25021         * gst/gstregistryxml.c: Added.  Essentially moved out of the
25022           registries directory.
25023
25024 2005-09-14  David Schleef  <ds@schleef.org>
25025
25026         * check/Makefile.am:
25027         * check/generic/states.c:
25028         * gst/Makefile.am:
25029         * gst/gst.c:
25030         * gst/gst.h:
25031         * gst/gst_private.h:
25032         * gst/gstelementfactory.c:
25033         * gst/gstindex.c:
25034         * gst/gstinfo.c:
25035         * gst/gstplugin.c:
25036         * gst/gstplugin.h:
25037         * gst/gstpluginfeature.c:
25038         * gst/gstpluginfeature.h:
25039         * gst/gstregistry.c:
25040         * gst/gstregistry.h:
25041         * gst/gstregistrypool.c: remove
25042         * gst/gstregistrypool.h: remove
25043         * gst/gsttypefind.c:
25044         * gst/gsttypefindfactory.c:
25045         * gst/gsturi.c:
25046         * tools/Makefile.am:
25047         * tools/gst-compprep.c:
25048         * tools/gst-inspect.c:
25049         * tools/gst-register.c: remove
25050         * tools/gst-xmlinspect.c:
25051           Registry rewrite.  Changes registry from being a file created
25052           by a tool into a simple cache file created automatically by 
25053           libgstreamer.  Removed gst-register (because it's no longer
25054           needed).  Remove registry pools, because we only have one
25055           registry implementation (XML).  Fix up other subsystems as
25056           necessary.
25057
25058 2005-09-13  Michael Smith <msmith@fluendo.com>
25059
25060         * gst/gstconfig.h.in:
25061           Don't Use windows linking attributes for MinGW. Fixes #316157
25062
25063 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
25064
25065         * gst/gstutils.c: (set_state_async_thread_func),
25066         (gst_element_set_state_async):
25067           Apparently people think it's better if this function doesn't
25068           try to set the state to whatever state was asked for on the first
25069           call to this function for any object.  Seriously.
25070
25071 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25072
25073         * check/gst/gstpipeline.c: (GST_START_TEST):
25074         * docs/gst/gstreamer-sections.txt:
25075         * gst/gstutils.c: (set_state_async_thread_func),
25076         (gst_element_set_state_async):
25077         * gst/gstutils.h:
25078           add a "gst_element_set_state_async" method that
25079           sets the state and starts a thread to make sure the state
25080           change completes as best as it can
25081
25082 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25083
25084         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
25085           codify design+behaviour in testsuite after discussion
25086
25087 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25088
25089         * docs/gst/tmpl/gstelement.sgml:
25090         * docs/manual/appendix-quotes.xml:
25091           add a quote
25092         * gst/gstelement.c: (gst_element_set_state):
25093           add some debug
25094
25095 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
25096
25097         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25098         (gst_base_transform_prepare_output_buf),
25099         (gst_base_transform_handle_buffer):
25100         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
25101         (gst_capsfilter_prepare_buf):
25102           Remove the requirement for sub-classes to call the parent
25103           implementation of prepare_output_buffer with a wrapper function.
25104           
25105         * gst/gsttaglist.h:
25106         * gst/gsttagsetter.h:
25107           Fix #define wrapper
25108
25109 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
25110
25111         * docs/gst/gstreamer-sections.txt:
25112           more doc cleanups
25113
25114 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25115
25116         * docs/gst/gstreamer-sections.txt:
25117         * docs/gst/tmpl/gstelement.sgml:
25118         * docs/gst/tmpl/gstplugin.sgml:
25119         * gst/gstminiobject.c:
25120         * gst/gstvalue.h:
25121           docs now stop throwing warnings
25122
25123 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25124
25125         * docs/gst/gstreamer-sections.txt:
25126         * docs/gst/gstreamer.types:
25127         * docs/gst/tmpl/gstpad.sgml:
25128         * docs/gst/tmpl/gsttypes.sgml:
25129         * gst/base/gstadapter.h:
25130         * gst/base/gstbasesink.h:
25131         * gst/base/gstbasesrc.h:
25132         * gst/gstbin.h:
25133         * gst/gstbuffer.h:
25134         * gst/gstbus.h:
25135         * gst/gstcaps.h:
25136         * gst/gstclock.h:
25137         * gst/gstelement.h:
25138         * gst/gstevent.h:
25139         * gst/gstmessage.h:
25140         * gst/gstpad.h:
25141         * gst/gststructure.c:
25142         * gst/registries/gstlibxmlregistry.h:
25143           various documentation fixes
25144
25145 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25146
25147         * docs/gst/gstreamer-sections.txt:
25148         * docs/gst/tmpl/gstvalue.sgml:
25149           rearrange gstvalue section
25150         * gst/gstutils.c: (gst_element_state_get_name):
25151           NONE -> VOID
25152         * gst/gstvalue.c: (_gst_value_initialize):
25153         * gst/gstvalue.h:
25154           doc updates
25155
25156 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
25157
25158         * check/gst-libs/controller.c:
25159           Header include fix.
25160         * gst/base/gstbasetransform.c:
25161         (gst_base_transform_default_prepare_buf),
25162         (gst_base_transform_handle_buffer):
25163         * gst/base/gstbasetransform.h:
25164           Some more basetransform changes and fixes to enable sub-classes
25165           that modify buffer metadata only.
25166         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25167         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
25168         (gst_capsfilter_prepare_buf):
25169           If the output pad has fixed allowed caps and input buffers 
25170           don't have any, set the fixed caps on outgoing buffers.
25171
25172 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
25173         * check/elements/identity.c: (GST_START_TEST):
25174           Make the error a little clearer when the test fails because
25175           identity made a copy of the buffer.
25176         * docs/gst/gstreamer-sections.txt:
25177           New symbols in gstbasetransform.h
25178         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25179         (gst_base_transform_init), (gst_base_transform_transform_size),
25180         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25181         (gst_base_transform_default_prepare_buf),
25182         (gst_base_transform_get_unit_size),
25183         (gst_base_transform_buffer_alloc),
25184         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
25185         (gst_base_transform_change_state),
25186         (gst_base_transform_set_passthrough),
25187         (gst_base_transform_set_in_place),
25188         (gst_base_transform_is_in_place):
25189         * gst/base/gstbasetransform.h:
25190           Change BaseTransform to separate in_place operate from same_caps
25191           output. in_place implies that the element can perform the transform
25192           on incoming buffers in-place, even if the caps on the output are
25193           different.
25194           Sub-class elements can now implement special buffer allocation
25195           methods for outgoing buffers if they wish to.
25196           Big documentation addition.
25197         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
25198         * gst/elements/gstelements.c:
25199           Changes for basetransform modifications.
25200         * gst/elements/Makefile.am:
25201         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
25202           Compile fix. Extra debug output.
25203
25204 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25205
25206         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
25207         (gst_pad_suite):
25208           add tests for valid pad naming
25209         * gst/check/gstcheck.c: (gst_check_log_message_func),
25210         (gst_check_log_critical_func):
25211           add ASSERT_WARNING
25212           remove printing of code, it is fragile when the code contains
25213           % and the line number is enough info
25214         * gst/check/gstcheck.h:
25215         * gst/gstpad.c: (gst_pad_template_new):
25216           fix memleaks
25217
25218 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25219
25220         * configure.ac:
25221           say what CHECK flags we use
25222         * docs/libs/gstreamer-libs.types:
25223         * libs/gst/controller/Makefile.am:
25224         * libs/gst/controller/gst-controller.c:
25225         * libs/gst/controller/gst-controller.h:
25226         * libs/gst/controller/gst-helper.c:
25227         * libs/gst/controller/gst-interpolation.c:
25228         * libs/gst/controller/gstcontroller.c:
25229         * libs/gst/controller/gsthelper.c:
25230         * libs/gst/controller/gstinterpolation.c:
25231         * tools/gst-inspect.c: (print_plugin_info):
25232           we don't use dashes in header names
25233
25234 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25235
25236         * check/Makefile.am:
25237         * check/gst/.cvsignore:
25238         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
25239         (gst_pipeline_suite), (main):
25240           adding a test for pipelines and state changes
25241         * gst/gstutils.c: (get_state_func):
25242           add some debugging
25243         * gstreamer.spec.in:
25244           fix up spec file
25245
25246 2005-09-08  Michael Smith <msmith@fluendo.com>
25247
25248         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
25249         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
25250         (gst_file_src_is_seekable), (gst_file_src_get_size),
25251         (gst_file_src_start):
25252         * gst/elements/gstfilesrc.h:
25253           Various fixes for unseekable, unmmapable, and non-normal files, so
25254           that fallback to read() rather than mmap() works.
25255         * gst/gstevent.c: (gst_event_new_newsegment):
25256           Allow newsegment events with segment_start == segment_end, as will
25257           correctly happen if you use filesrc on a zero-size file, for
25258           example.
25259
25260 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25261
25262         * gst/gstplugin.c: (gst_plugin_load_file):
25263           Call g_module_close when we don't load the module
25264
25265         * gst/registries/gstlibxmlregistry.c:
25266         (gst_xml_registry_get_property):
25267           Port leak fix from 0.8
25268
25269 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25270
25271         * docs/gst/gstreamer-docs.sgml:
25272         * docs/gst/tmpl/.cvsignore:
25273         * docs/gst/tmpl/gsttrace.sgml:
25274         * docs/gst/tmpl/gsttrashstack.sgml:
25275         * gst/Makefile.am:
25276         * gst/gst.h:
25277         * gst/gstelement.h:
25278         * gst/gstevent.h:
25279         * gst/gstmessage.c:
25280         * gst/gstmessage.h:
25281         * gst/gsttag.c:
25282         * gst/gsttag.h:
25283         * gst/gsttaginterface.c:
25284         * gst/gsttaginterface.h:
25285         * gst/gsttaglist.c:
25286         * gst/gsttaglist.h:
25287         * gst/gsttagsetter.c:
25288         * gst/gsttagsetter.h:
25289         * gst/gsttrace.c:
25290         * gst/gsttrace.h:
25291         * gst/gsttrashstack.c:
25292           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
25293           inlined docs for gsttrace, gsttrashstack
25294
25295 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25296
25297         * gst/Makefile.am:
25298         * gst/elements/gstbufferstore.h:
25299         * gst/elements/gsttypefindelement.c:
25300         * gst/elements/gsttypefindelement.h:
25301         * gst/gst.h:
25302         * gst/gsttypefind.c:
25303         * gst/gsttypefind.h:
25304         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
25305         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
25306         (gst_type_find_factory_dispose),
25307         (gst_type_find_factory_unload_thyself),
25308         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
25309         (gst_type_find_factory_get_caps),
25310         (gst_type_find_factory_get_extensions),
25311         (gst_type_find_factory_call_function):
25312         * gst/gsttypefindfactory.h:
25313         * gst/registries/gstlibxmlregistry.c:
25314         * gst/registries/gstxmlregistry.c:
25315           splitted gsttypefind into gsttypefind, gsttypefindfactory
25316
25317 2005-09-07  Andy Wingo  <wingo@pobox.com>
25318
25319         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
25320         condition whereby the pad's task function is entered before the
25321         pad_mode variable was set.
25322
25323 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25324
25325         * gst/gstpad.c: (gst_pad_alloc_buffer):
25326           Catch misbehaving pad_alloc functions that don't
25327           set up caps and do it for them.
25328
25329 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25330
25331         * check/pipelines/simple_launch_lines.c: (run_pipeline):
25332           test for pipe!=NULL
25333         * docs/gst/tmpl/.cvsignore:
25334         * docs/gst/tmpl/gstmemchunk.sgml:
25335         * docs/gst/tmpl/gstparse.sgml:
25336         * docs/gst/tmpl/gsttaglist.sgml:
25337         * docs/gst/tmpl/gsttagsetter.sgml:
25338         * docs/gst/tmpl/gsttypefind.sgml:
25339         * docs/gst/tmpl/gsttypefindfactory.sgml:
25340         * gst/gstmemchunk.c:
25341         * gst/gstparse.c:
25342         * gst/gsttag.c:
25343         * gst/gsttaginterface.c:
25344         * gst/gsttypefind.c:
25345         * gst/gsttypefind.h:
25346           inlined more docs
25347
25348 === release 0.9.2 ===
25349
25350 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
25351
25352         * NEWS:
25353         * RELEASE:
25354         * configure.ac:
25355           releasing 0.9.2, "South"
25356
25357 2005-09-05  Andy Wingo  <wingo@pobox.com>
25358
25359         * gst/registries/gstxmlregistry.h:
25360         * gst/registries/gstxmlregistry.c: Um... resurrect...
25361         
25362         * gst/registries/gstxmlregistry.h:
25363         * gst/registries/gstxmlregistry.c: and update to newer API.
25364         Incidentally they should be a bit faster now that they don't have
25365         to parse the caps.
25366         
25367 2005-09-05  Andy Wingo  <wingo@pobox.com>
25368
25369         * gst/registries/gstxmlregistry.h:
25370         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
25371         replaced by the libxml registry a while back
25372
25373 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25374
25375         * docs/gst/tmpl/gstplugin.sgml:
25376         * gst/elements/gstelements.c:
25377         * gst/gst.c:
25378         * gst/gstplugin.c: (gst_plugin_register_func),
25379         (gst_plugin_desc_copy), (gst_plugin_desc_free),
25380         (gst_plugin_get_source):
25381         * gst/gstplugin.h:
25382         * gst/registries/gstlibxmlregistry.c: (load_plugin),
25383         (gst_xml_registry_save_plugin):
25384         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
25385         (gst_xml_registry_save_plugin):
25386         * tools/gst-inspect.c: (print_plugin_info):
25387           add a "source" plugin description field, to represent the source
25388           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
25389           will set it to PACKAGE, which is automake's idea of the name of
25390           the source project.
25391
25392 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25393
25394         * Makefile.am:
25395         * autogen.sh:
25396         * configure.ac:
25397         * docs/Makefile.am:
25398         * docs/faq/Makefile.am:
25399         * docs/gst/tmpl/gstelement.sgml:
25400         * docs/gst/tmpl/gsttypes.sgml:
25401         * docs/htmlinstall.mak:
25402         * docs/manual/Makefile.am:
25403         * docs/pwg/Makefile.am:
25404           reorganize doc build a little
25405           split out docbook and gtk-doc stuff
25406           have two separate --enable's and enable them through autogen
25407           but disable by default in configure (to be similar to other
25408           projects)
25409         * gstreamer.spec.in:
25410           clean up docs install
25411         * po/af.po:
25412         * po/az.po:
25413         * po/ca.po:
25414         * po/cs.po:
25415         * po/de.po:
25416         * po/en_GB.po:
25417         * po/fr.po:
25418         * po/it.po:
25419         * po/nb.po:
25420         * po/nl.po:
25421         * po/ru.po:
25422         * po/sq.po:
25423         * po/sr.po:
25424         * po/sv.po:
25425         * po/tr.po:
25426         * po/uk.po:
25427         * po/vi.po:
25428           translation updates
25429
25430 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
25431
25432         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
25433           Add comment.
25434           
25435         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25436         (gst_fake_sink_change_state):
25437           Make state change function thread-safe.
25438           
25439         * gst/gstpad.c: (gst_pad_alloc_buffer):
25440           Set offset on generic buffer allocated by fallback.
25441
25442 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
25443
25444         * docs/gst/gstreamer-sections.txt:
25445         * docs/gst/tmpl/gstelement.sgml:
25446         * gst/gstpad.c:
25447         * libs/gst/controller/gst-controller.c:
25448         (gst_controlled_property_set_interpolation_mode),
25449         (gst_controlled_property_new),
25450         (gst_controller_find_controlled_property):
25451          run the wingo-magic script against the docs
25452
25453 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25454
25455         * docs/gst/gstreamer-docs.sgml:
25456         * docs/gst/gstreamer-sections.txt:
25457         * docs/gst/tmpl/.cvsignore:
25458         * docs/gst/tmpl/gstelementdetails.sgml:
25459         * docs/gst/tmpl/gstelementfactory.sgml:
25460         * gst/gst.c:
25461         * gst/gstbus.c:
25462         * gst/gstelementfactory.c:
25463         * gst/gstelementfactory.h:
25464           merged elementdetails docs into elementfactory docs
25465           inlined both
25466
25467 2005-09-02  Andy Wingo  <wingo@pobox.com>
25468
25469         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
25470         consider this enum an enum and not a flags.
25471
25472 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25473
25474         * docs/gst/gstreamer-docs.sgml:
25475         * docs/gst/tmpl/.cvsignore:
25476         * docs/gst/tmpl/gstghostpad.sgml:
25477         * docs/gst/tmpl/gstiterator.sgml:
25478         * docs/gst/tmpl/gstmacros.sgml:
25479         * docs/gst/tmpl/gstrealpad.sgml:
25480         * docs/gst/tmpl/gstregistry.sgml:
25481         * docs/gst/tmpl/gstregistrypool.sgml:
25482         * docs/gst/tmpl/gststructure.sgml:
25483         * docs/gst/tmpl/gstsystemclock.sgml:
25484         * docs/gst/tmpl/gsttrace.sgml:
25485         * gst/gstghostpad.c:
25486         * gst/gstmacros.h:
25487         * gst/gstmemchunk.c:
25488         * gst/gstmemchunk.h:
25489         * gst/gstqueue.c:
25490         * gst/gstregistry.c:
25491         * gst/gstregistrypool.c:
25492         * gst/gststructure.c:
25493         * gst/gstsystemclock.c:
25494           more docs inlined
25495
25496 2005-09-02  Andy Wingo  <wingo@pobox.com>
25497
25498         * gst/gstelement.h (GstState): Renamed from GstElementState,
25499         changed to be a normal enum instead of flags.
25500         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
25501         munged to be GST_STATE_CHANGE_*.
25502         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
25503         work with the new state representation.
25504         (GstStateChange): New enumeration of possible state transitions.
25505         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
25506         (GstElementClass::change_state): Pass the GstStateChange along as
25507         an argument. Helps language bindings, so they don't have to use
25508         tricky lock-needing macros like GST_STATE_CHANGE ().
25509
25510         * scripts/update-states (file): New script. Run it on a file to
25511         update it for state naming and API changes. Updates files in
25512         place.
25513
25514         * All files updated for the new API.
25515
25516 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
25517
25518         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
25519         * gst/gstutils.c: (gst_util_set_value_from_string),
25520         (gst_util_set_object_arg):
25521           fix a bunch of unchecked return values
25522         * tools/gst-complete.c: (main):
25523         * gstreamer.spec.in:
25524           clean up a little
25525
25526 2005-09-01  Wim Taymans  <wim@fluendo.com>
25527
25528         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25529         (gst_base_sink_event), (gst_base_sink_do_sync),
25530         (gst_base_sink_handle_event):
25531         * gst/base/gstbasesink.h:
25532         Handle newsegments more correctly.
25533
25534         * gst/gstbus.c:
25535         Fix docs.
25536
25537         * gst/gstevent.c: (gst_event_new_newsegment):
25538         A newsegment cannot have a start_time of -1
25539
25540 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
25541
25542         * win32/gstenumtypes.c:
25543         * win32/gstenumtypes.h:
25544           Update
25545
25546 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25547
25548         * libs/gst/controller/gst-controller.c:
25549         (gst_controlled_property_set_interpolation_mode),
25550         (gst_controlled_property_new):
25551          fixed boolean again
25552
25553 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
25554
25555         * docs/faq/gst-uninstalled:
25556           add -good
25557         * gst/gstevent.c:
25558         * gst/gstevent.h:
25559           remove wrong docs
25560         * gst/gstutils.c: (gst_element_link_filtered):
25561         * gst/gstutils.h:
25562           add gst_element_link_filtered
25563
25564 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25565
25566         * docs/gst/gstreamer-docs.sgml:
25567         * docs/gst/gstreamer-sections.txt:
25568         * docs/gst/tmpl/.cvsignore:
25569         * docs/gst/tmpl/gsterror.sgml:
25570         * docs/gst/tmpl/gstfilter.sgml:
25571         * docs/gst/tmpl/gsturihandler.sgml:
25572         * docs/gst/tmpl/gsturitype.sgml:
25573         * docs/gst/tmpl/gstutils.sgml:
25574         * docs/gst/tmpl/gstxml.sgml:
25575         * gst/gsterror.c:
25576         * gst/gsterror.h:
25577         * gst/gstfilter.c:
25578         * gst/gsturi.c:
25579         * gst/gsturitype.c:
25580         * gst/gstutils.c:
25581         * gst/gstxml.c:
25582           inlined more docs, fixed double id-ref
25583
25584 2005-08-31  Wim Taymans  <wim@fluendo.com>
25585
25586         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25587         (gst_base_transform_handle_buffer):
25588         Passthrough elements don't need the caps as they don't care.
25589
25590 2005-08-31  Wim Taymans  <wim@fluendo.com>
25591
25592         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25593         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
25594         Don't leak refcounts on buffers.
25595
25596 2005-08-31  Wim Taymans  <wim@fluendo.com>
25597
25598         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
25599         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
25600         (gst_base_transform_chain), (gst_base_transform_change_state):
25601         * gst/base/gstbasetransform.h:
25602         Handle the case where we are not negotiated more gracefully.
25603
25604 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
25605
25606         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
25607         (gst_file_src_map_region):
25608           Set READONLY flag on mmap'ed buffers, otherwise
25609           gst_buffer_make_writable() won't work properly (#314708).
25610
25611 2005-08-31  Wim Taymans  <wim@fluendo.com>
25612
25613         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
25614         passthrough elements can even do inplace on non writable
25615         buffers (as they don't touch them).
25616
25617 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25618
25619         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
25620         (gst_test_mono_source_set_property),
25621         (gst_test_mono_source_class_init), (GST_START_TEST),
25622         (gst_controller_suite):
25623           more tests (hehe I have the most)
25624         * gst/gstbus.c:
25625           describe popping messages whenusing mulltiple sources
25626         * libs/gst/controller/gst-controller.c:
25627         (gst_controlled_property_set_interpolation_mode),
25628         (gst_controlled_property_new):
25629         * libs/gst/controller/gst-controller.h:
25630         * libs/gst/controller/gst-interpolation.c:
25631           implement boolean properties
25632
25633 2005-08-31  Wim Taymans  <wim@fluendo.com>
25634
25635         * gst/gstminiobject.c: (gst_mini_object_ref):
25636         Cannot assert that the refcount has to be positive
25637         since a disposed object can be resurrected.
25638
25639 2005-08-31  Wim Taymans  <wim@fluendo.com>
25640
25641         * gst/gstpad.c: (gst_pad_init):
25642         Revert change, need to first fix badly behaving 
25643         apps.
25644
25645 2005-08-30  Wim Taymans  <wim@fluendo.com>
25646
25647         * check/elements/fakesrc.c: (setup_fakesrc):
25648         * check/elements/identity.c: (setup_identity):
25649         Activate pads before using them.
25650
25651 2005-08-30  Wim Taymans  <wim@fluendo.com>
25652
25653         * gst/base/gstadapter.c: (gst_adapter_flush):
25654         Flushing out 0 bytes is ok for this function.
25655
25656         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25657         no newsegment gives a warning and sets the start/stop to 
25658         invalid.
25659
25660         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
25661         (gst_base_transform_set_passthrough):
25662         Some debug info.
25663
25664         * gst/gstminiobject.c: (gst_mini_object_ref):
25665         Check refcount here too.
25666
25667         * gst/gstpad.c: (gst_pad_init):
25668         Pads are initially flushing and refusing data.
25669
25670         * gst/gstutils.c: (gst_element_link_pads_filtered):
25671         When adding a capsfilter element make sure it has the
25672         same state as the parent bin.
25673
25674 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25675
25676         * docs/gst/tmpl/.cvsignore:
25677         * docs/gst/tmpl/gstformat.sgml:
25678         * docs/gst/tmpl/gstversion.sgml:
25679         * gst/gstbus.h:
25680         * gst/gstformat.c:
25681         * gst/gstformat.h:
25682         * gst/gstversion.h.in:
25683           more docs and two more inlined
25684
25685 2005-08-30  Wim Taymans  <wim@fluendo.com>
25686
25687         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
25688         Don't sync to clock.
25689
25690 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25691
25692         * docs/gst/gstreamer-sections.txt:
25693           ultral33t func10ns deserve to appear in the docs actually
25694         * docs/gst/tmpl/.cvsignore:
25695         * docs/gst/tmpl/gstcompat.sgml:
25696         * docs/gst/tmpl/gstconfig.sgml:
25697         * gst/check/gstcheck.c:
25698         * gst/gstcompat.h:
25699         * gst/gstconfig.h.in:
25700           inlined more docs
25701
25702 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25703
25704         * docs/gst/tmpl/.cvsignore:
25705         * docs/gst/tmpl/gstquery.sgml:
25706         * docs/gst/tmpl/gstutils.sgml:
25707         * gst/gstquery.c:
25708         * gst/gstquery.h:
25709           inlined and extended docs
25710
25711 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25712
25713         * check/gst-libs/controller.c: (GST_START_TEST),
25714         (gst_controller_suite):
25715           more tests
25716         * docs/gst/tmpl/gstutils.sgml:
25717         * docs/libs/gstreamer-libs-sections.txt:
25718         * docs/libs/tmpl/gstdataprotocol.sgml:
25719           include path fixes
25720         * examples/controller/audio-example.c: (main):
25721           controller example works now
25722         * gst/gstclock.h:
25723           doc fixes
25724         * tools/gst-inspect.c: (print_element_properties_info):
25725           show param spec flags
25726
25727 2005-08-29  Andy Wingo  <wingo@pobox.com>
25728
25729         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
25730
25731 2005-08-28  Andy Wingo  <wingo@pobox.com>
25732
25733         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
25734         as having two arguments instead of just one. Allows superclasses
25735         to access information on subclasses -- see the terrible for() loop
25736         in gtype.c:g_type_create_instance for the reason why. All callers
25737         changed.
25738
25739 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
25740
25741         * docs/design/part-messages.txt:
25742           update info
25743         * docs/gst/tmpl/.cvsignore:
25744         * docs/gst/tmpl/gstcaps.sgml:
25745         * docs/gst/tmpl/gstclock.sgml:
25746         * gst/gstbus.c:
25747         * gst/gstcaps.c:
25748         * gst/gstcaps.h:
25749         * gst/gstclock.c:
25750         * gst/gstclock.h:
25751         * gst/gstmessage.c:
25752           added descriptions for bus and message
25753           inline caps and clock docs
25754
25755 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
25756
25757         * gst/gstmessage.c:
25758         * gst/gstmessage.h:
25759           doc fixes
25760
25761 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
25762
25763         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
25764           fix div-by-zero
25765
25766 2005-08-26  Andy Wingo  <wingo@pobox.com>
25767
25768         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
25769         element_set_state's return val.
25770         (test_2_elements): Add test that's been disabled for months.
25771
25772         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
25773         can-activate-pull properties.
25774
25775         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
25776         can-activate-pull properties. Implement is_seekable so fakesrc can
25777         operate in pull mode.
25778
25779         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
25780         properties.
25781         (gst_base_sink_activate, gst_base_sink_activate_pull)
25782         (gst_base_sink_activate_push): Make activation mode choosing work.
25783         Cleanups.
25784         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
25785         is right. Make pull mode work. Post an eos before pausing in pull
25786         mode.
25787         (gst_base_sink_change_state): Pay attention to the core's
25788         change_state() return val.
25789         
25790         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
25791         has-getrange properties. Cleanups.
25792         
25793         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
25794         has_getrange and replace with can_activate_pull and
25795         can_activate_push.
25796
25797         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
25798         locking comments. Remove has_loop, has_chain and replace with
25799         can_activate_pull and can_activate_push.
25800
25801 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
25802
25803         * configure.ac:
25804         * examples/Makefile.am:
25805         * examples/metadata/Makefile.am:
25806         * examples/metadata/read-metadata.c: (message_loop),
25807         (have_pad_handler), (make_pipeline), (print_tag), (main):
25808           Add metadata reading example that loops over a list of filenames,
25809           dumping any tags found.
25810
25811         * gst/gstbus.c: (gst_bus_dispose):
25812         * gst/gstelement.c: (gst_element_dispose):
25813           Release a few potentially-held references in dispose.
25814
25815 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
25816
25817         * docs/gst/tmpl/gstminiobject.sgml:
25818           do *not* add tmpl/*.sgml files to CVS!
25819
25820 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
25821
25822         * libs/gst/bytestream/.cvsignore:
25823         * libs/gst/bytestream/Makefile.am:
25824         * libs/gst/bytestream/adapter.c:
25825         * libs/gst/bytestream/adapter.h:
25826         * libs/gst/bytestream/bytestream.c:
25827         * libs/gst/bytestream/bytestream.h:
25828         * libs/gst/bytestream/filepad.c:
25829         * libs/gst/bytestream/filepad.h:
25830           removing obsolete files
25831
25832 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
25833
25834         * docs/gst/gstreamer-docs.sgml:
25835         * docs/libs/gstreamer-libs-docs.sgml:
25836           disabed additional index entries again, as this makes docs-gen just
25837           slow and they aren't useful yet
25838         * docs/libs/gstreamer-libs-sections.txt:
25839           little -section.txt cleanup for libs
25840
25841 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
25842
25843         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25844         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
25845           fix up some debugging
25846         (gst_base_transform_get_unit_size),
25847         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
25848         (gst_base_transform_handle_buffer):
25849         * gst/base/gstbasetransform.h:
25850           handle and store timed NEWSEGMENT events so that subclasses that
25851           calculate time by counting samples have a segment_start time they
25852           need to add to their timestamps - see audioresample
25853
25854 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
25855
25856         * gst/gstbin.h:
25857           removed ';' from the end of macro defs
25858         * docs/gst/gstreamer-docs.sgml:
25859         * docs/gst/gstreamer-sections.txt:
25860         * docs/gst/tmpl/.cvsignore:
25861         * gst/gstbus.h:
25862         * gst/gstelement.c: (gst_element_class_init),
25863         (gst_element_set_state), (activate_pads),
25864         (gst_element_save_thyself):
25865         * gst/gstevent.c: (gst_event_new_newsegment):
25866         * gst/gstevent.h:
25867         * gst/gstiterator.c:
25868         * gst/gstiterator.h:
25869         * gst/gstpad.c:
25870         * gst/gstprobe.h:
25871         * gst/gstutils.c: (gst_pad_query_convert):
25872         * gst/gstutils.h:
25873           fixed parameter name mismatches between source, header and docs
25874           added some more docs, resolved the last batch of unused elements in
25875           docs (now someone needs to doc them)
25876
25877 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
25878
25879         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
25880         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
25881           don't walk through the plugins backwards.  Where is all this
25882           reversed logic coming from ?
25883
25884 2005-08-25  Wim Taymans  <wim@fluendo.com>
25885
25886         * gst/base/gstbasetransform.c: (gst_base_transform_init),
25887         (gst_base_transform_transform_size),
25888         (gst_base_transform_configure_caps),
25889         (gst_base_transform_get_unit_size),
25890         (gst_base_transform_buffer_alloc),
25891         (gst_base_transform_change_state):
25892         * gst/base/gstbasetransform.h:
25893         Cache caps unit_size.
25894         Make sure we cannot negotiate up and downstream at the
25895         same time.
25896
25897 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
25898
25899         * gst/gst.c: (init_pre), (init_post):
25900           register the installed plugin path after the env var
25901         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
25902         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
25903           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
25904           directories, so the tests can prefer uninstalled over installed
25905
25906 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
25907
25908         * gst/base/gstbasetransform.h:
25909           comment
25910         * gst/gstpad.c:
25911           add to docs
25912
25913 2005-08-25  Wim Taymans  <wim@fluendo.com>
25914
25915         * gst/gstbin.c: (bin_bus_handler):
25916         Be a bit more conservative about the posted message.
25917         
25918         * gst/gstbus.c: (gst_bus_post):
25919         Some cleanups, warn wrong return values.
25920
25921 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
25922
25923         * check/gst/gstbin.c: (GST_START_TEST):
25924         * gst/gstbin.c: (bin_bus_handler):
25925         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
25926         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
25927         (gst_message_new_warning), (gst_message_new_tag),
25928         (gst_message_new_state_changed), (gst_message_new_segment_start),
25929         (gst_message_new_segment_done), (gst_message_new_custom):
25930         * gst/gstmessage.h:
25931         * tools/gst-launch.c: (event_loop):
25932         * tools/gst-md5sum.c: (event_loop):
25933           Revert unpopular change for GST_MESSAGE_SRC to GObject.
25934
25935 2005-08-25  Wim Taymans  <wim@fluendo.com>
25936
25937         * check/generic/states.c: (GST_START_TEST):
25938         Cleanup can be done at the end.
25939
25940         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
25941         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
25942         (gst_task_get_state), (gst_task_start), (gst_task_pause):
25943         Oh boy.. Thanks for finding this, Thomas. 
25944
25945 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
25946
25947         * docs/gst/gstreamer.types:
25948           added missing types
25949
25950 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
25951
25952         * docs/gst/gstreamer-docs.sgml:
25953         * docs/gst/gstreamer-sections.txt:
25954         * docs/gst/tmpl/.cvsignore:
25955         * gst/gstbin.c:
25956         * gst/gstiterator.c:
25957         * gst/gstutils.c:
25958         * gst/registries/gstxmlregistry.h:
25959           added missing classes and symbols (123 more to go)
25960           removed removed symbols from section file
25961           fixed many doc-comments
25962
25963 2005-08-24  Wim Taymans  <wim@fluendo.com>
25964
25965         * check/generic/states.c: (GST_START_TEST):
25966         Make sure all tasks are stopped.
25967
25968         * check/gst/gstbin.c: (GST_START_TEST):
25969         Unref after usage for proper valgrinding.
25970
25971         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
25972         Really wait for the task to stop before destroying the
25973         mutex.
25974
25975         * gst/gstqueue.c: (gst_queue_sink_activate_push),
25976         (gst_queue_src_activate_push):
25977         Small cleanups. Don't stop the task when we did not start
25978         it.
25979
25980         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
25981         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
25982         (gst_task_get_state), (gst_task_start), (gst_task_pause),
25983         (gst_task_join):
25984         * gst/gsttask.h:
25985         Protect the stream lock with the object lock.
25986         Disallow setting the stream lock when running.
25987         Add cleanup_all to wait for the threadpool to finish.
25988         Remove code to autoallocate a mutex if none was provided.
25989         Add _join() to wait for a task to stop.
25990         Protect the thread pool with a global lock.
25991
25992 2005-08-24  Wim Taymans  <wim@fluendo.com>
25993
25994         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25995         (gst_base_sink_get_times), (gst_base_sink_do_sync),
25996         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
25997         * gst/base/gstbasesink.h:
25998         Handle newsegment events correctly.
25999         Drop buffers out of the segment range.
26000
26001 2005-08-22  Andy Wingo  <wingo@pobox.com>
26002
26003         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
26004         macro, implements an interface and gstimplementsinterface for a
26005         new type.
26006
26007 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26008
26009         * check/Makefile.am:
26010         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
26011           add a test that does a bunch of state changes on elements
26012           needs some fixing for valgrind
26013         * check/states/sinks.c: (gst_object_suite):
26014           whitespace
26015         * gst/gstcaps.h:
26016           add prototype for gst_caps_is_equal_fixed
26017         * gst/gstplugin.c:
26018         * gst/gstregistrypool.c:
26019           doc fixes
26020
26021 2005-08-24  Andy Wingo  <wingo@pobox.com>
26022
26023         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
26024         convert a negative value. Doesn't make much sense. Mostly this is
26025         here to force callers to ensure -1 maps to -1.
26026
26027 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26028
26029         * docs/pwg/advanced-types.xml:
26030           Well done to Michael for catching my deliberate introduction
26031           of this spelling mistake. 
26032         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
26033         * gst/gstelement.h:
26034           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
26035           unlink pads before removing the element from the bin.
26036
26037 2005-08-24  Andy Wingo  <wingo@pobox.com>
26038
26039         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
26040         the same thing as GST_DEBUG=*:4.
26041         (parse_debug_level, parse_debug_category): New helper parsers.
26042
26043 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26044
26045         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26046         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
26047         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
26048         (gst_base_transform_buffer_alloc),
26049         (gst_base_transform_handle_buffer):
26050           use gboolean return values and pointers to size so we can use the
26051           full GST_BUFFER_SIZE range (guint) for buffer sizes
26052           use GstPadDirection for transform_caps
26053         * gst/base/gstbasetransform.h:
26054           rename get_size to get_unit_size since that's what it is
26055         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
26056           use GstPadDirection for transform_caps
26057         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26058         * gst/gstutils.h:
26059           cleanup and debugging
26060
26061 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26062
26063         * gst/gstelement.c: (gst_element_class_init),
26064         (gst_element_set_state), (activate_pads),
26065         (gst_element_save_thyself):
26066         * tools/gst-compprep.c: (main):
26067         * tools/gst-inspect.c: (print_element_properties_info):
26068         * tools/gst-xmlinspect.c: (print_element_properties):
26069           Fixed long standing mem-leak
26070
26071 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26072
26073         * check/gst/gstbin.c: (GST_START_TEST):
26074         * gst/gstbin.c: (bin_bus_handler):
26075         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26076         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26077         (gst_message_new_warning), (gst_message_new_tag),
26078         (gst_message_new_state_changed), (gst_message_new_segment_start),
26079         (gst_message_new_segment_done), (gst_message_new_custom):
26080         * gst/gstmessage.h:
26081         * tools/gst-launch.c: (event_loop):
26082         * tools/gst-md5sum.c: (event_loop):
26083           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
26084           that applications can sensibly post custom messages with references
26085           to their own objects.
26086
26087 2005-08-24  Andy Wingo  <wingo@pobox.com>
26088
26089         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
26090         already.
26091
26092 2005-08-24  Wim Taymans  <wim@fluendo.com>
26093
26094         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26095         (gst_base_transform_transform_caps),
26096         (gst_base_transform_transform_size),
26097         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26098         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26099         (gst_base_transform_handle_buffer):
26100         * gst/base/gstbasetransform.h:
26101         Many fixes and new features added by Thomas. Can now also do
26102         transforms with variable sizes and a custom fixate_caps function.
26103
26104 2005-08-24  Wim Taymans  <wim@fluendo.com>
26105
26106         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26107         Some debugging.
26108
26109         * gst/gstclock.h:
26110         Cast to ClockTime before formatting to time.
26111
26112         * gst/gstutils.h:
26113         Cleanups.
26114
26115 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26116
26117         * check/gst-libs/controller.c: (GST_START_TEST),
26118         (gst_controller_suite):
26119         * docs/gst/tmpl/gstcaps.sgml:
26120         * docs/gst/tmpl/gstghostpad.sgml:
26121         * docs/gst/tmpl/gstquery.sgml:
26122         * docs/gst/tmpl/gstutils.sgml:
26123         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26124         (gst_object_sink_values), (gst_object_get_value_arrays),
26125         (gst_object_get_value_array):
26126           gracefully handle helper method calls to objects that are not beeing
26127           controlled, added test case for that          
26128
26129 2005-08-23  Wim Taymans  <wim@fluendo.com>
26130
26131         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
26132         (gst_event_new_newsegment), (gst_event_parse_newsegment),
26133         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
26134         (gst_event_parse_qos), (gst_event_new_seek),
26135         (gst_event_parse_seek):
26136         * gst/gstevent.h:
26137         Some more debugging output and doc cleanups.
26138
26139         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26140         Fix possible deadlock.
26141
26142 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26143
26144         * docs/gst/gstreamer-docs.sgml:
26145         * docs/gst/gstreamer-sections.txt:
26146         * docs/gst/gstreamer.types:
26147         * docs/gst/tmpl/.cvsignore:
26148         * gst/gstbin.h:
26149         * gst/gstbus.c:
26150         * gst/gstelement.c:
26151         * gst/gstevent.h:
26152           added 100 symbols from gstreamer-unused.txt to the right sections
26153           fixed more broken comments
26154           added GstBus to docs
26155
26156 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26157
26158         * docs/gst/gstreamer-sections.txt:
26159         * docs/gst/tmpl/.cvsignore:
26160         * docs/gst/tmpl/gstbin.sgml:
26161         * docs/gst/tmpl/gstbuffer.sgml:
26162         * gst/base/gstbasesrc.c:
26163         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
26164         * gst/gstbuffer.c:
26165         * gst/gstbuffer.h:
26166         * tools/gst-launch.1.in:
26167           inlined more doc comments, added missing comments and fixed comments
26168           fixed typos
26169
26170 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
26171
26172         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26173           some debugging
26174         * gst/gstcaps.h:
26175           whitespace fixes
26176         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
26177           more debugging
26178         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
26179         * gst/gststructure.h:
26180           add a fixate function for booleans; add a FIXME that these func
26181           names should probably be gst_structure_fixate_*
26182
26183 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26184
26185         * docs/gst/gstreamer-docs.sgml:
26186         * docs/gst/gstreamer-sections.txt:
26187         * gst/Makefile.am:
26188         * gst/gstbin.c: (gst_bin_get_type),
26189         (gst_bin_child_proxy_get_child_by_index),
26190         (gst_bin_child_proxy_get_children_count),
26191         (gst_bin_child_proxy_init):
26192         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
26193         (gst_child_proxy_get_child_by_index),
26194         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26195         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
26196         (gst_child_proxy_get), (gst_child_proxy_set_property),
26197         (gst_child_proxy_set_valist), (gst_child_proxy_set),
26198         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
26199         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
26200         * gst/gstchildproxy.h:
26201         * gst/parse/grammar.y:
26202         * tools/gst-inspect.c: (print_interfaces),
26203         (print_element_properties_info), (print_element_info):
26204           ported gstchildproxy over from 0.8
26205           ported gst-inspect fixes and enhancements over from 0.8
26206
26207 2005-08-22  Wim Taymans  <wim@fluendo.com>
26208
26209         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26210         (gst_base_transform_handle_buffer):
26211         Also call the transform function if we have ANY caps.
26212
26213         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
26214         Fix debug info.
26215
26216 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26217
26218         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
26219           Don't pretend to handle seek events if the source is not seekable
26220
26221 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26222
26223         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26224           Remove extra parameter to debug output
26225
26226         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26227         (gst_base_src_do_seek), (gst_base_src_activate_push):
26228           Fix seek event handling.
26229
26230         * gst/gstpipeline.c: (gst_pipeline_change_state):
26231         * gst/gstqueue.c: (gst_queue_handle_sink_event),
26232         (gst_queue_src_activate_push):
26233           Don't start the src pad task on FLUSH_STOP if the pad
26234           isn't linked.
26235           Debug changes.
26236
26237 2005-08-22  Wim Taymans  <wim@fluendo.com>
26238
26239         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
26240         Added check for gst_static_caps_get() refcounting.
26241
26242 2005-08-22  Wim Taymans  <wim@fluendo.com>
26243
26244         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
26245         Make _static_caps_get() refcounting sane.
26246         
26247         * gst/gstelement.c: (gst_element_set_state):
26248         Add g_return_val_if_fail() to protect against segfaults.
26249
26250 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
26251
26252         * docs/gst/tmpl/gstevent.sgml:
26253         * gst/gstevent.c:
26254         * gst/gstevent.h:
26255           inlined remaining docs, added missing doc comments
26256
26257 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
26258
26259         * check/gst/gstbin.c: (GST_START_TEST):
26260           since we don't know when preroll is done, use refcount range
26261           check for the sink
26262         * gst/check/gstcheck.h:
26263           add macro for checking refcount range
26264
26265 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26266
26267         * check/Makefile.am:
26268           clean up environment for when registry gets built versus
26269           when actual tests are run; valgrind seems to not report
26270           leaks if GST_PLUGIN_PATH is set to some specific values
26271         * check/gst/gstbin.c: (GST_START_TEST):
26272           add more refcounting checks; maybe this exposes a
26273           preroll lock bug ?
26274         * common/check.mak:
26275         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26276         * gst/check/gstcheck.h:
26277         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
26278         (gst_bin_change_state):
26279         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
26280           add/fix debugging/whitespace
26281
26282 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26283
26284         * check/gst/gstevent.c: (event_probe), (test_event),
26285         (GST_START_TEST):
26286          Er, don't call gst_bin_watch_for_state_change you idiot.
26287
26288 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26289
26290         * check/Makefile.am:
26291           Use CHECK_CFLAGS and CHECK_LIBS
26292         * check/gst/gstevent.c: (event_probe), (test_event),
26293         (GST_START_TEST):
26294           Don't leak events.
26295         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26296         (gst_base_src_start), (gst_base_src_stop),
26297         (gst_base_src_activate_push), (gst_base_src_activate_pull),
26298         (gst_base_src_change_state):
26299           Sprinkle gst_base_src_stop liberally around error paths to fix
26300           problems reusing a source after failed state changes.
26301         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26302         (helper_find_suggest), (gst_type_find_helper):
26303           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
26304         * gst/gstevent.h:
26305         * docs/gst/tmpl/gstevent.sgml:
26306           Migrate part of the docs from the SGML file. Wait for ensonic to
26307           tell me how I did it wrong ;)
26308         * tools/gst-typefind.c: (main):
26309           Extra robustness to state changes between files.
26310
26311 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26312
26313         * check/Makefile.am:
26314           don't valgrind the controller test - it's leaking - Stefan, HELP
26315         * gst/check/gstcheck.c: (gst_check_message_error),
26316         (gst_check_chain_func), (gst_check_setup_element),
26317         (gst_check_teardown_element), (gst_check_setup_src_pad),
26318         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
26319         (gst_check_teardown_sink_pad):
26320         * gst/check/gstcheck.h:
26321           add a bunch of methods to set up elements, and src and sink pads
26322         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
26323         * check/elements/identity.c: (setup_identity), (cleanup_identity),
26324         (GST_START_TEST):
26325           use them
26326         * gst/gstmessage.c:
26327         * gst/gsttag.h:
26328           whitespace/doc fixes
26329
26330 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26331
26332         * gst/gstelement.h:
26333           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
26334           be handled by the application and not always printed as well
26335
26336 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26337
26338         * check/Makefile.am:
26339           set GST_TOOLS_DIR
26340         * gst/check/gstcheck.c: (gst_check_message_error):
26341         * gst/check/gstcheck.h:
26342           add a fail_unless_equals_int
26343           add fail_unless for error messages
26344
26345 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26346
26347         * check/Makefile.am:
26348         * check/gst.supp:
26349         * common/Makefile.am:
26350         * common/check.mak:
26351         * common/gst.supp:
26352           factor out some of the common stuff so we can use it
26353
26354 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26355
26356         * check/Makefile.am:
26357         * check/gst/gstiterator.c: (GST_START_TEST):
26358         * check/gst/gstsystemclock.c: (GST_START_TEST),
26359         (gst_systemclock_suite):
26360         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26361         * gst/gstclock.c:
26362           valgrind more tests
26363
26364 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26365
26366         * check/elements/.cvsignore:
26367         * check/elements/gstfakesrc.c:
26368           rename to name of element
26369         * check/elements/identity.c: (chain_func), (event_func),
26370         (setup_identity), (cleanup_identity), (GST_START_TEST),
26371         (identity_suite), (main):
26372           add a test for identity
26373         * check/Makefile.am:
26374         * pkgconfig/Makefile.am:
26375         * pkgconfig/gstreamer-check.pc.in:
26376         * pkgconfig/gstreamer-check-uninstalled.pc.in:
26377         * gst/check:
26378         * gst/Makefile.am:
26379         * configure.ac:
26380           move the check stuff to a library that gets installed
26381         * check/gst-libs/controller.c: (GST_START_TEST):
26382         * check/gst-libs/gdp.c:
26383         * check/gst/gst.c: (GST_START_TEST):
26384         * check/gst/gstbin.c:
26385         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26386         * check/gst/gstbus.c:
26387         * check/gst/gstcaps.c: (GST_START_TEST):
26388         * check/gst/gstelement.c:
26389         * check/gst/gstghostpad.c:
26390         * check/gst/gstiterator.c:
26391         * check/gst/gstmessage.c:
26392         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
26393         * check/gst/gstobject.c:
26394         * check/gst/gstpad.c: (GST_START_TEST):
26395         * check/gst/gststructure.c: (GST_START_TEST):
26396         * check/gst/gstsystemclock.c: (GST_START_TEST),
26397         (gst_systemclock_suite):
26398         * check/gst/gsttag.c: (gst_tag_suite):
26399         * check/gst/gstvalue.c:
26400         * check/pipelines/cleanup.c:
26401         * check/pipelines/simple_launch_lines.c:
26402         * check/states/sinks.c:
26403           change include statement
26404
26405         * docs/gst/gstreamer-sections.txt:
26406         * docs/gst/tmpl/gstpad.sgml:
26407           document more pad stuff
26408         * gst/gstminiobject.c: (gst_mini_object_ref),
26409         (gst_mini_object_unref):
26410           debug refcounting
26411
26412 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
26413
26414         * docs/gst/tmpl/gst.sgml:
26415         * gst/gst.c:
26416           eliminate another tmpl file, fix spelling in the long-description
26417
26418 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26419
26420         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26421         (test_event), (timediff), (gstevents_suite):
26422           Should fix build on 64-bit arch's
26423
26424 2005-08-18  Andy Wingo  <wingo@pobox.com>
26425
26426         Make sure that when a pipeline goes to PLAYING, that data has
26427         actually hit the sink.
26428
26429         * check/states/sinks.c (test_sink): A sink that doesn't get any
26430         data shouldn't return SUCCESS for going to either PLAYING or
26431         PAUSED. Test also the return values on the way back down.
26432
26433         * gst/gstelement.c (gst_element_set_state): When changing the
26434         state of an element currently changing state asynchronously, go to
26435         lost-state after commiting the pending state. Makes future calls
26436         to get_state continue to return ASYNC.
26437
26438         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
26439         ASYNC when going to PLAYING if we still don't have preroll, as can
26440         happen with live sources.
26441
26442 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26443
26444         * docs/pwg/advanced-types.xml:
26445           Hack long paragraph into 2 chunks as a workaround for buggy
26446           jadetex version in sid and breezy that loops infinitely and
26447           eats all RAM.
26448
26449 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26450
26451         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26452         (test_event), (timediff), (gstevents_suite):
26453           Provide more error margin in clock measurements to allow for 
26454           g_get_current_time inaccuracies.
26455
26456 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26457
26458         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26459         (test_event), (timediff), (gstevents_suite):
26460            Fix error message output so I might be able to tell why the
26461            test works here but fails on the build farm.
26462
26463 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26464
26465         * check/Makefile.am:
26466         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26467         (test_event), (timediff), (gstevents_suite), (main):
26468           I wrote a test!
26469
26470         * docs/design/part-seeking.txt:
26471           Spelling correction
26472
26473         * docs/gst/tmpl/gstevent.sgml:
26474         * docs/gst/tmpl/gstfakesrc.sgml:
26475           Docs updates.
26476
26477         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26478           Treat a buffer-without-newsegment the same as a receiving 
26479           a newsegment not in time format, and disable syncing to the clock
26480           with a warning.
26481
26482         * gst/gstbus.c: (gst_bus_set_sync_handler):
26483           Assert if anyone tries to replace the existing sync_handler for bus, 
26484           as only the owner should be setting it.
26485
26486         * gst/gstevent.h:
26487           Have a fixed set of custom event enums with events identified by
26488           their structure name (as in 0.8), rather than a free-for-all
26489           allowing collisions between enum values from different plugins.
26490
26491         * gst/gstpad.c: (gst_pad_class_init):
26492           Docs change.
26493           
26494         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26495           Handle out-of-band downstream events from the sending thread.
26496
26497 2005-08-17  Andy Wingo  <wingo@pobox.com>
26498
26499         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
26500         play-timeout==0 to mean no timeout at all. In that case, don't
26501         bother with a get_state or a warning, just return directly, even
26502         if it's ASYNC.
26503
26504         * gst/base/gstbasetransform.c: Debug changes.
26505
26506         * gst/gstutils.h:
26507         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
26508         ensure bins post state change messages. A bit of a hack but I can't
26509         think of a way to avoid it.
26510
26511         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
26512
26513 2005-08-16  Andy Wingo  <wingo@pobox.com>
26514
26515         * gst/base/gstadapter.h:
26516         * gst/base/gstadapter.c (gst_adapter_take): New function, like
26517         peek() but you own the data. Not terribly efficient atm.
26518
26519 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26520
26521         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
26522         (gst_element_found_tags):
26523         * gst/gstutils.h:
26524           Add two utility functions for tag handling.
26525
26526 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26527
26528         * docs/manual/advanced-dataaccess.xml:
26529         * docs/manual/basics-helloworld.xml:
26530           Fix docs to use _bin_add() before _link(), which fixes the examples
26531           with recent core versions (reported by Madhan Raj M
26532           <raj_madan@rediffmail.com>, #313199).
26533
26534 2005-08-16  Wim Taymans  <wim@fluendo.com>
26535
26536         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26537         Added subtract checks.
26538
26539         * docs/design/part-events.txt:
26540         Some more docs about newsegment
26541
26542         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26543         Fix FIXME
26544
26545         * gst/gstcaps.c: (gst_caps_to_string):
26546         Add comments, cleanups.
26547         
26548         * gst/gstelement.c: (gst_element_save_thyself):
26549         cleanups
26550         
26551         * gst/gstvalue.c: (gst_value_collect_int_range),
26552         (gst_string_unwrap), (gst_value_union_int_int_range),
26553         (gst_value_union_int_range_int_range),
26554         (gst_value_intersect_int_int_range),
26555         (gst_value_intersect_int_range_int_range),
26556         (gst_value_intersect_double_double_range),
26557         (gst_value_intersect_double_range_double_range),
26558         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
26559         (gst_value_subtract_int_range_int),
26560         (gst_value_subtract_double_range_double),
26561         (gst_value_subtract_double_range_double_range),
26562         (gst_value_subtract_from_list), (gst_value_subtract_list),
26563         (gst_value_can_compare), (gst_value_compare_fraction):
26564         Cleanups, add comments, remove unneeded asserts.
26565
26566 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
26567
26568         * tools/gst-launch.c: (event_loop):
26569           don't convert NULL structures to strings
26570
26571 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
26572
26573         * docs/gst/gstreamer-sections.txt:
26574           made some defines private
26575         * docs/gst/tmpl/gstconfig.sgml:
26576         * docs/gst/tmpl/gstqueue.sgml:
26577         * docs/gst/tmpl/gsttaglist.sgml:
26578         * docs/gst/tmpl/gsttypes.sgml:
26579         * docs/gst/tmpl/gstutils.sgml:
26580         * docs/pwg/appendix-porting.xml:
26581         * gst/base/gstbasesink.h:
26582         * gst/base/gstbasesrc.c:
26583         * gst/base/gstbasesrc.h:
26584         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
26585         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
26586         * gst/gstelement.c: (gst_element_class_init):
26587         * gst/gstpad.c: (gst_pad_class_init):
26588         * gst/gstqueue.c: (gst_queue_class_init):
26589         * gst/gstxml.c: (gst_xml_class_init):
26590           documented all undocumented signal inline
26591         * libs/gst/controller/gst-controller.h:
26592           added padding
26593
26594 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26595
26596         * docs/pwg/appendix-porting.xml:
26597           Document _set_link_function -> _set_setcaps_function.
26598
26599 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
26600
26601         * check/Makefile.am:
26602           add a .check target for running the check
26603         * check/gst-libs/controller.c: (GST_START_TEST):
26604           cosmetic fixups
26605         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26606           complete checks for gstbuffer; would be nice if I could get the
26607           gcov stuff to work so I can see if I actually completed gstbuffer.c
26608         * check/gstcheck.h:
26609           add ASSERT_BUFFER_REFCOUNT
26610
26611 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
26612
26613         * docs/gst/gstreamer-sections.txt:
26614         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
26615         * gst/gsttag.h:
26616           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
26617           spew out a warning if a tag that is already registered
26618           is re-registered, unless it is re-registered with a 
26619           different type (#308438).
26620
26621 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
26622
26623         * docs/pwg/appendix-porting.xml:
26624         * docs/pwg/building-state.xml:
26625           Add some paragraphs about state changes in 0.9 to the PWG
26626           and the porting guide, in particular about the new meaning
26627           of GST_STATE_PAUSED and how to write state change functions
26628           with concurrent access by multiple threads in mind.
26629
26630 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
26631
26632         * docs/gst/gstreamer-docs.sgml:
26633         * docs/libs/gstreamer-libs-docs.sgml:
26634           added deprecation and since indexes
26635         * libs/gst/controller/gst-controller.c:
26636         * libs/gst/controller/gst-helper.c:
26637           added since tags
26638
26639
26640 2005-08-11  Wim Taymans  <wim@fluendo.com>
26641
26642         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
26643         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
26644         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
26645         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
26646         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
26647         (gst_ghost_pad_set_target):
26648         Actually implement (re)setting the target on a ghostpad
26649         as described in the docs.
26650
26651 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
26652
26653         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
26654           Check whether GST_DEBUG_NO_COLOR environment variable is
26655           set and disable coloured debug output if that is the case.
26656
26657 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
26658
26659         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26660         (gst_type_find_helper):
26661           The memory returned by gst_type_find_peek() needs to
26662           stay valid until the end of a typefind function, and
26663           typefind functions may keep results from different 
26664           offsets around, so we can't just unref the buffer from
26665           the previous _peek(), but have to save all buffers 
26666           returned by _peek() until typefinding is done and only
26667           free them then.
26668
26669 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
26670
26671         * docs/gst/gstreamer-sections.txt:
26672         * gst/gstutils.h:
26673           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
26674
26675 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26676
26677         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
26678           Fix a pretty good memleak.
26679
26680 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
26681
26682         * gst/gstiterator.h:
26683           Fix wrong include and 'make distcheck'.
26684
26685 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26686
26687         * gst/gstbin.c: (bin_bus_handler):
26688           Use gst_element_post_message() instead.
26689
26690 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
26691
26692         * gst/base/gstadapter.h:
26693         * gst/base/gstbasesink.h:
26694         * gst/base/gstbasesrc.h:
26695         * gst/base/gstbasetransform.h:
26696         * gst/base/gstcollectpads.h:
26697         * gst/base/gstpushsrc.h:
26698         * gst/gstiterator.h:
26699           Add padding to our base elements' class and instance structs and
26700           to GstIterator (you will need to rebuild all plugins and apps!)
26701
26702 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26703
26704         * gst/gstbin.c: (bin_bus_handler):
26705           Make default message forwarding from child->bus to bin->bus
26706           threadsafe and make it not emit warnings if the parent has no bus.
26707
26708 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26709
26710         * gst/gstelement.c: (activate_pads):
26711           On paused->ready, set pad->caps to NULL, as is the documented
26712           behaviour in this state change. Fixes playback of series of
26713           media files when visualization is enabled in Totem.
26714
26715 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26716
26717         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
26718           Allow NULL as filter-caps (which means "any").
26719
26720 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
26721
26722         * docs/libs/gstreamer-libs-sections.txt:
26723         * libs/gst/controller/gst-controller.c:
26724         * libs/gst/controller/gst-controller.h:
26725         * libs/gst/controller/gst-helper.c:
26726           adding more entries to the docs and fix small doc-bugs
26727
26728 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
26729
26730         * docs/gst/gstreamer-docs.sgml:
26731         * docs/gst/gstreamer-sections.txt:
26732         * docs/gst/gstreamer.types:
26733         * docs/gst/tmpl/gstbasesink.sgml:
26734         * docs/gst/tmpl/gstbasesrc.sgml:
26735         * docs/gst/tmpl/gstbasetransform.sgml:
26736         * docs/gst/tmpl/gstfakesrc.sgml:
26737         * gst/base/gstcollectpads.c:
26738         * gst/base/gstcollectpads.h:
26739         * libs/gst/controller/gst-controller.c:
26740         * libs/gst/controller/gst-controller.h:
26741         * libs/gst/controller/gst-helper.c:
26742         * libs/gst/controller/gst-interpolation.c:
26743         * libs/gst/controller/lib.c:
26744           added long/short desc for controller docs
26745           added collectpads base class docs
26746           added correct includes to base-class docs
26747
26748 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
26749
26750         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
26751         (gst_test_mono_source_set_property),
26752         (gst_test_mono_source_class_init), (GST_START_TEST),
26753         (gst_controller_suite):
26754         * docs/gst/gstreamer-docs.sgml:
26755         * docs/gst/gstreamer-sections.txt:
26756         * docs/gst/gstreamer.types:
26757         * docs/libs/gstreamer-libs-docs.sgml:
26758         * docs/libs/gstreamer-libs-sections.txt:
26759         * gst/base/gstadapter.c:
26760         * libs/gst/controller/gst-controller.c:
26761         (gst_controlled_property_new), (gst_controlled_property_free),
26762         (gst_controller_new_valist),
26763         (gst_controller_remove_properties_valist),
26764         (gst_controller_sink_values), (_gst_controller_finalize):
26765         * libs/gst/controller/gst-controller.h:
26766         * libs/gst/controller/gst-helper.c:
26767         (gst_object_control_properties), (gst_object_uncontrol_properties),
26768         (gst_object_get_controller), (gst_object_set_controller),
26769         (gst_object_sink_values), (gst_object_get_value_arrays),
26770         (gst_object_get_value_array):
26771           more tests (and fixes) for the controller
26772           more docs for the controller
26773           integrated companies docs for the adapter 
26774
26775 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
26776
26777         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
26778         (GST_START_TEST), (fakesrc_suite):
26779           add tests for sizetype
26780
26781 2005-08-04  Andy Wingo  <wingo@pobox.com>
26782
26783         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
26784         fixes buffer_alloc proxying among other things.
26785
26786         * gst/base/gstbasetransform.c:
26787         * gst/base/gstbasetransform.h:
26788         Revert patch to gstbasetransform from 7-28 removing
26789         delay_configure.
26790
26791         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
26792         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
26793         Semantics changed, should return not the size of the output buffer
26794         but the byte size of a buffer with a given caps.
26795
26796         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
26797         debug object.
26798         (gst_base_transform_configure_caps): Don't set out_size here: (in,
26799         out) are not the pad caps until setcaps finishes.
26800         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
26801         not-in-place case as well. Deal with changing from in-place to
26802         not-in-place within calling pad_alloc_buffer. Still a bit
26803         concerned about the overhead here...
26804
26805 2005-08-03  Andy Wingo  <wingo@pobox.com>
26806
26807         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
26808         fixating is an error.
26809
26810 2005-08-04  Edward Hervey  <edward@fluendo.com>
26811
26812         * gst/base/gstadapter.h: 
26813         Added gst_adapter_get_type() to the header
26814
26815 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
26816
26817         * check/Makefile.am:
26818         * check/gst-libs/controller.c:
26819         * libs/gst/controller/gst-controller.c:
26820         (gst_controller_new_valist):
26821           added check test suite for the controller
26822         * gst/base/gstpushsrc.c:
26823           fixed a doc typo
26824
26825 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
26826
26827         * docs/gst/Makefile.am:
26828         * docs/gst/gstreamer-docs.sgml:
26829         * docs/gst/gstreamer-sections.txt:
26830         * docs/gst/gstreamer.types:
26831         * docs/gst/tmpl/gstfakesrc.sgml:
26832         * gst/base/README:
26833         * gst/base/gstbasesink.c:
26834         * gst/base/gstbasesink.h:
26835         * gst/base/gstbasesrc.c:
26836         * gst/base/gstbasesrc.h:
26837         * gst/base/gstbasetransform.c:
26838         * gst/base/gstpushsrc.c:
26839         * gst/base/gstpushsrc.h:
26840           add short/long description docs to base classes
26841           add pushsrc to the docs
26842           remove consolidated doc fragments
26843
26844 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
26845
26846         * configure.ac:
26847         * docs/libs/Makefile.am:
26848         * docs/libs/gstreamer-libs-docs.sgml:
26849         * docs/libs/gstreamer-libs-sections.txt:
26850         * docs/libs/gstreamer-libs.types:
26851         * examples/Makefile.am:
26852         * examples/controller/.cvsignore:
26853         * examples/controller/Makefile.am:
26854         * examples/controller/audio-example.c: (main):
26855         * libs/gst/Makefile.am:
26856         * libs/gst/controller/.cvsignore:
26857         * libs/gst/controller/Makefile.am:
26858         * libs/gst/controller/gst-controller.c:
26859         (on_object_controlled_property_changed), (gst_timed_value_compare),
26860         (gst_timed_value_find),
26861         (gst_controlled_property_set_interpolation_mode),
26862         (gst_controlled_property_new), (gst_controlled_property_free),
26863         (gst_controller_find_controlled_property),
26864         (gst_controller_new_valist), (gst_controller_new),
26865         (gst_controller_remove_properties_valist),
26866         (gst_controller_remove_properties), (gst_controller_set),
26867         (gst_controller_set_from_list), (gst_controller_unset),
26868         (gst_controller_get), (gst_controller_get_all),
26869         (gst_controller_sink_values), (gst_controller_get_value_arrays),
26870         (gst_controller_get_value_array),
26871         (gst_controller_set_interpolation_mode),
26872         (_gst_controller_finalize), (_gst_controller_init),
26873         (_gst_controller_class_init), (gst_controller_get_type):
26874         * libs/gst/controller/gst-controller.h:
26875         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
26876         (g_object_uncontrol_properties), (g_object_get_controller),
26877         (g_object_set_controller), (g_object_sink_values),
26878         (g_object_get_value_arrays), (g_object_get_value_array):
26879         * libs/gst/controller/gst-interpolation.c:
26880         (gst_controlled_property_find_timed_value_node),
26881         (interpolate_none_get), (interpolate_trigger_get),
26882         (interpolate_trigger_get_value_array):
26883         * libs/gst/controller/lib.c: (gst_controller_init):
26884         * pkgconfig/Makefile.am:
26885         * pkgconfig/gstreamer-control-uninstalled.pc.in:
26886         * pkgconfig/gstreamer-control.pc.in:
26887         * testsuite/Makefile.am:
26888         * testsuite/controller/.cvsignore:
26889         * testsuite/controller/Makefile.am:
26890         * testsuite/controller/interpolator.c: (main):
26891           added controller code
26892           removed dparam pc files
26893
26894 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
26895         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
26896         (gst_collectpads_stop):
26897           Broadcast the condition when shutting down, to make sure we wake all
26898           threads up. Shut down pads on finalize, for safety.
26899
26900 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
26901         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26902         (gst_base_transform_handle_buffer),
26903         (gst_base_transform_change_state):
26904           Handle PAUSED->READY->PAUSED transition after negotiation
26905           occurred already.
26906         * gst/gstmessage.c: (gst_message_init):
26907           Extra piece of debug for new messages.
26908
26909 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
26910
26911         * configure.ac:
26912         * docs/gst/tmpl/gstbasesrc.sgml:
26913         * docs/gst/tmpl/gstelement.sgml:
26914         * docs/gst/tmpl/gstevent.sgml:
26915         * docs/gst/tmpl/gstfakesrc.sgml:
26916         * docs/gst/tmpl/gstformat.sgml:
26917         * docs/gst/tmpl/gstghostpad.sgml:
26918         * docs/gst/tmpl/gstpad.sgml:
26919         * docs/gst/tmpl/gstquery.sgml:
26920         * docs/gst/tmpl/gststructure.sgml:
26921         * docs/gst/tmpl/gsttaglist.sgml:
26922         * docs/gst/tmpl/gstvalue.sgml:
26923         * docs/libs/gstreamer-libs-docs.sgml:
26924         * docs/libs/gstreamer-libs-sections.txt:
26925         * docs/libs/gstreamer-libs.types:
26926         * libs/gst/Makefile.am:
26927         * libs/gst/control/.cvsignore:
26928         * libs/gst/control/Makefile.am:
26929         * libs/gst/control/control.c:
26930         * libs/gst/control/control.h:
26931         * libs/gst/control/dparam.c:
26932         * libs/gst/control/dparam.h:
26933         * libs/gst/control/dparam_smooth.c:
26934         * libs/gst/control/dparam_smooth.h:
26935         * libs/gst/control/dparamcommon.h:
26936         * libs/gst/control/dparammanager.c:
26937         * libs/gst/control/dparammanager.h:
26938         * libs/gst/control/dplinearinterp.c:
26939         * libs/gst/control/dplinearinterp.h:
26940         * libs/gst/control/unitconvert.c:
26941         * libs/gst/control/unitconvert.h:
26942         * testsuite/Makefile.am:
26943         * testsuite/dynparams/.cvsignore:
26944         * testsuite/dynparams/Makefile.am:
26945         * testsuite/dynparams/dparamstest.c:
26946         * tools/Makefile.am:
26947         * tools/gst-inspect.c: (print_element_info), (main):
26948         * tools/gst-xmlinspect.c: (print_element_info), (main):
26949           deactivate and remove dparams (libgstcontrol)
26950
26951 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
26952
26953         * gst/elements/gsttypefindelement.c:
26954         (gst_type_find_element_have_type), (gst_type_find_element_init),
26955         (stop_typefinding), (gst_type_find_element_handle_event),
26956         (gst_type_find_element_chain), (gst_type_find_element_getrange):
26957         * gst/elements/gsttypefindelement.h:
26958           Set caps on all outgoing buffers, not just the first one.
26959
26960 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
26961
26962         * gst/elements/gsttypefindelement.c:
26963         (gst_type_find_element_have_type),
26964         (gst_type_find_element_check_set_buffer_caps),
26965         (gst_type_find_element_init), (stop_typefinding),
26966         (gst_type_find_element_handle_event),
26967         (gst_type_find_element_chain), (gst_type_find_element_getrange):
26968         * gst/elements/gsttypefindelement.h:
26969           Set caps on first outgoing buffer when we've found the type.
26970
26971 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
26972
26973         * docs/gst/gstreamer-docs.sgml:
26974         * docs/gst/gstreamer-sections.txt:
26975         * docs/gst/tmpl/gstscheduler.sgml:
26976         * docs/gst/tmpl/gstschedulerfactory.sgml:
26977           Remove some old cruft from docs.
26978
26979 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
26980
26981         * gst/gstpad.h:
26982           Fix inline docs for GstPadLinkReturn.
26983           
26984         * gst/gststructure.c: (gst_structure_has_name):
26985         * gst/gststructure.h:
26986         * docs/gst/gstreamer-sections.txt:
26987           New API: gst_structure_has_name().
26988
26989 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
26990
26991         * configure.ac:
26992           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
26993           and _LARGEFILE_SOURCE in config.h as required. Do not 
26994           export those flags in our .pc files any longer (#142209).
26995
26996           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
26997
26998         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
26999         (gst_file_sink_do_seek), (gst_file_sink_event),
27000         (gst_file_sink_get_current_offset), (gst_file_sink_render):
27001           Redo seek/tell calls with large file support in mind; add some
27002           debugging messages; add log message that tells us when large
27003           file support is unavailable or not enabled for some reason.
27004
27005         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
27006           Add log message that tells us when large file support 
27007           is unavailable or not enabled for some reason.
27008
27009 2005-07-29  Wim Taymans  <wim@fluendo.com>
27010
27011         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27012         Added test for removing an element with ghostpad from a bin.
27013         Fixed test as current implementation does the right thing.
27014
27015         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
27016         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
27017         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
27018         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
27019         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
27020         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
27021         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
27022         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27023         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
27024         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
27025         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
27026         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
27027         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
27028         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
27029         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
27030         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
27031         * gst/gstghostpad.h:
27032         Clean up ghostpads, remove properties for internal stuff.
27033         Make threadsafe.
27034         Fix refcounting.
27035         Prepare for switching targets, not all use cases work yet.
27036
27037 2005-07-29  Wim Taymans  <wim@fluendo.com>
27038
27039         * docs/design/part-gstghostpad.txt:
27040         Small update.
27041
27042         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27043         (gst_bin_remove_func):
27044         Unlinking pads while holding the bin LOCK is not a good
27045         idea.
27046
27047         * gst/gstpad.c: (gst_pad_class_init),
27048         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
27049         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
27050         No prob setting template after creating the pad.
27051
27052 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
27053
27054         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
27055         (gst_bus_peek), (gst_bus_source_dispatch),
27056         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
27057         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
27058           gst_bus_poll may be called from other threads. Handle
27059           this nicely by not making poll_data disappear off the
27060           stack once gst_bus_poll returns.
27061           gst_bus_peek now increments the refcount on the returned
27062           message.
27063
27064 2005-07-29  Wim Taymans  <wim@fluendo.com>
27065
27066         * docs/design/part-gstghostpad.txt:
27067         Overview of current GhostPad datastructures and use
27068         cases for changing the target.
27069
27070 2005-07-28  Wim Taymans  <wim@fluendo.com>
27071
27072         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27073         Added checks for hierarchy consistency whan adding linked
27074         elements to bins.
27075
27076         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27077         Added check to test element scheduling without bin/pipeline.
27078
27079         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27080         First add elements to bin, then link.
27081         
27082         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27083         (gst_bin_remove_func):
27084         Unlink pads from elements added/removed from bin to maintain
27085         hierarchy consistency.
27086
27087 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27088
27089         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
27090         (gst_base_transform_handle_buffer):
27091         * gst/base/gstbasetransform.h:
27092           Remove broken delay_configure (fixes renegotiation of software
27093           scaling pipelines); remove some leftover printf()s.
27094
27095 2005-07-28  Wim Taymans  <wim@fluendo.com>
27096
27097         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27098         Added some more tests for wrong hierarchy
27099
27100         * docs/design/part-overview.txt:
27101         Some updates.
27102
27103         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
27104         Cleanups.
27105
27106         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
27107         (gst_element_dispose):
27108         Some more cleanups.
27109
27110         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27111         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
27112         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27113         (gst_pad_set_caps), (gst_pad_send_event):
27114         Check for correct hierarchy when linking pads. Moving to
27115         strict requirement for ghostpads when linking elements in
27116         different bins.
27117
27118         * gst/gstpad.h:
27119         Clean ups. Added WRONG_HIERARCHY return value.
27120
27121 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27122
27123         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27124           Better debug if no transform is possible.
27125
27126 2005-07-27  Wim Taymans  <wim@fluendo.com>
27127
27128         * docs/random/wtay/network-transp:
27129         Some old doc I had.
27130
27131 2005-07-27  Wim Taymans  <wim@fluendo.com>
27132
27133         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27134         (gst_dp_event_from_packet):
27135         Fix serialization of seek events.
27136
27137 2005-07-27  Wim Taymans  <wim@fluendo.com>
27138
27139         * check/gst-libs/gdp.c: (GST_START_TEST):
27140         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27141         Fix compilation and fix event serialization.
27142
27143 2005-07-27  Wim Taymans  <wim@fluendo.com>
27144
27145         * CHANGES-0.9:
27146         * docs/design/part-TODO.txt:
27147         * docs/design/part-events.txt:
27148         Some docs updates
27149
27150         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27151         (gst_base_sink_event), (gst_base_sink_do_sync),
27152         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27153         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27154         (gst_base_src_do_seek), (gst_base_src_event_handler),
27155         (gst_base_src_loop):
27156         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27157         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27158         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27159         (gst_base_transform_event), (gst_base_transform_handle_buffer),
27160         (gst_base_transform_set_passthrough),
27161         (gst_base_transform_is_passthrough):
27162         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27163         * gst/elements/gstfilesink.c: (gst_file_sink_event):
27164         Event updates.
27165
27166         * gst/gstbuffer.h:
27167         Use faster casts.
27168
27169         * gst/gstelement.c: (gst_element_seek):
27170         * gst/gstelement.h:
27171         Update gst_element_seek.
27172
27173         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
27174         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
27175         (gst_event_new_flush_start), (gst_event_new_flush_stop),
27176         (gst_event_new_eos), (gst_event_new_newsegment),
27177         (gst_event_parse_newsegment), (gst_event_new_tag),
27178         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
27179         (gst_event_parse_qos), (gst_event_new_seek),
27180         (gst_event_parse_seek), (gst_event_new_navigation):
27181         * gst/gstevent.h:
27182         Make GstEvent use GstStructure. Add parsing code, make sure the
27183         API is sufficiently generic.
27184         Mark possible directions of events and serialization.
27185
27186         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
27187         (_gst_message_copy), (gst_message_new_segment_start),
27188         (gst_message_new_segment_done), (gst_message_new_custom),
27189         (gst_message_parse_segment_start),
27190         (gst_message_parse_segment_done):
27191         Small cleanups.
27192
27193         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27194         (gst_pad_set_caps), (gst_pad_send_event):
27195         Update for new events. 
27196         Catch events sent in wrong directions.
27197
27198         * gst/gstqueue.c: (gst_queue_link_src),
27199         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27200         (gst_queue_handle_src_query):
27201         Event updates.
27202
27203         * gst/gsttag.c:
27204         * gst/gsttag.h:
27205         Remove event code from this file.
27206
27207         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27208         (gst_dp_event_from_packet):
27209         Event updates.
27210
27211 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27212
27213         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
27214         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27215         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
27216           Make debugging actually useful.
27217
27218 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27219
27220         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
27221         (gst_pad_fixate_caps):
27222           Implement default fixation once again, so that gst_pad_fixate()
27223           actually does anything at all. This probably needs to be some
27224           sort of a last resort, and use profile-based fixation first, but
27225           since that doesn't exist yet, this is the best we have. Fixes
27226           visualization in Totem.
27227
27228 2005-07-22  Wim Taymans  <wim@fluendo.com>
27229
27230         * docs/design/part-events.txt:
27231         Small update.
27232
27233         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27234         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
27235         (gst_base_sink_activate_pull):
27236         Some more comments.
27237
27238         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
27239         (gst_fake_src_create):
27240         Fix handoff marshall.
27241
27242         * gst/elements/gstidentity.c: (gst_identity_class_init),
27243         (gst_identity_transform_ip):
27244         We're a real inplace element.
27245
27246         * gst/gstbus.c: (gst_bus_post):
27247         Added some comments.
27248
27249         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
27250         * tests/muxing/case1.c: (main):
27251         * tests/sched/dynamic-pipeline.c: (main):
27252         * tests/sched/interrupt1.c: (main):
27253         * tests/sched/interrupt2.c: (main):
27254         * tests/sched/interrupt3.c: (main):
27255         * tests/sched/runxml.c: (main):
27256         * tests/sched/sched-stress.c: (main):
27257         * tests/seeking/seeking1.c: (event_received), (main):
27258         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
27259         (main):
27260         * tests/threadstate/threadstate3.c: (main):
27261         * tests/threadstate/threadstate4.c: (main):
27262         * tests/threadstate/threadstate5.c: (main):
27263         Fix the tests.
27264
27265 2005-07-21  Wim Taymans  <wim@fluendo.com>
27266
27267         * docs/design/part-seeking.txt:
27268         Some small additions.
27269
27270         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27271         (gst_base_sink_get_times), (gst_base_sink_do_sync),
27272         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27273         * gst/base/gstbasesink.h:
27274         discont values are gint64, handle the math correctly.
27275
27276         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27277         Make the basesrc report error if the source pad is not linked.
27278
27279         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
27280         (gst_queue_loop), (gst_queue_handle_src_query),
27281         (gst_queue_src_activate_push):
27282         Make queue collect data even if the srcpad is not linked.
27283         Start pushing out data as soon as it is linked.
27284
27285         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
27286         * gst/gstutils.h:
27287         Added gst_flow_get_name() to ease error reporting.
27288
27289 2005-07-20  Wim Taymans  <wim@fluendo.com>
27290
27291         * gst/gstmessage.c: (gst_message_new_segment_start),
27292         (gst_message_new_segment_done), (gst_message_parse_segment_start),
27293         (gst_message_parse_segment_done):
27294         * gst/gstmessage.h:
27295         Added a bunch of messages for advanced seeking.
27296
27297         * gst/parse/grammar.y:
27298         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
27299         (gst_dpman_state_changed):
27300         Fix some new-pad -> pad-added signals
27301
27302 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27303
27304         * docs/manual/appendix-porting.xml:
27305         * docs/pwg/appendix-porting.xml:
27306           Document new-pad/state-change signal renames and the FixedList
27307           type rename.
27308
27309 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27310
27311         * docs/manual/advanced-autoplugging.xml:
27312         * docs/manual/basics-helloworld.xml:
27313         * docs/manual/basics-pads.xml:
27314         * docs/random/ds/0.9-suggested-changes:
27315         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
27316         * gst/gstelement.h:
27317         * gst/gstevent.h:
27318         * gst/gstformat.h:
27319         * gst/gstquery.h:
27320         * gst/gststructure.c: (gst_structure_value_get_generic_type),
27321         (gst_structure_parse_array), (gst_structure_parse_value):
27322         * gst/gstvalue.c: (gst_type_is_fixed),
27323         (gst_value_list_prepend_value), (gst_value_list_append_value),
27324         (gst_value_list_get_size), (gst_value_list_get_value),
27325         (gst_value_transform_array_string), (gst_value_serialize_array),
27326         (gst_value_deserialize_array), (gst_value_intersect_array),
27327         (gst_value_is_fixed), (_gst_value_initialize):
27328         * gst/gstvalue.h:
27329           GstElement::new-pad -> pad-added, GstElement::state-change ->
27330           state-changed, GstValueFixedList -> GstValueArray, add format and
27331           flags as their own arguments in gst_element_seek() (should improve
27332           "bindeability"), remove function generators since they don't work
27333           under a whole bunch of compilers (they were deprecated already
27334           anyway).
27335
27336 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27337
27338         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
27339         (_gst_debug_register_funcptr):
27340         * gst/gstinfo.h:
27341           Fix illegal cast on some platforms (#309253).
27342
27343 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27344
27345         * gst/gstmessage.c: (gst_message_new_custom):
27346         * gst/gstmessage.h:
27347           Add _new_custom, make _new_application a macro to _new_custom.
27348
27349 2005-07-20  Wim Taymans  <wim@fluendo.com>
27350
27351         * gst/base/gstbasesrc.c: (gst_base_src_init),
27352         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
27353         * gst/base/gstbasesrc.h:
27354         Add a gboolean to decide when to push out a discont.
27355
27356         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27357         (gst_queue_loop), (gst_queue_handle_src_query),
27358         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27359         (gst_queue_set_property), (gst_queue_get_property):
27360         Some cleanups.
27361
27362         * tests/threadstate/threadstate1.c: (main):
27363         Make a thread test compile and run... very silly..
27364
27365
27366 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27367
27368         * docs/manual/appendix-porting.xml:
27369           Mention removal of libgstgconf-0.9.la and existence of gconf
27370           elements.
27371
27372 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27373
27374         * docs/pwg/advanced-clock.xml:
27375         * docs/pwg/appendix-porting.xml:
27376         * docs/pwg/intro-preface.xml:
27377         * docs/pwg/other-base.xml:
27378         * docs/pwg/other-manager.xml:
27379         * docs/pwg/other-nton.xml:
27380         * docs/pwg/other-ntoone.xml:
27381         * docs/pwg/other-oneton.xml:
27382         * docs/pwg/pwg.xml:
27383           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
27384           demuxer), remove n-to-n (was never written), fix some code examples
27385           and links and update the porting section to include all this.
27386
27387 2005-07-19  Wim Taymans  <wim@fluendo.com>
27388
27389         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
27390         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
27391         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
27392         (gst_queue_src_activate_push), (gst_queue_change_state),
27393         (gst_queue_get_property):
27394         * gst/gstqueue.h:
27395         Propagate GstFlowReturn more intelligently upstream and output
27396         an ERROR/EOS when streaming stopped due to fatal error.
27397
27398 2005-07-19  Wim Taymans  <wim@fluendo.com>
27399
27400         * tools/gst-launch.c: (check_intr), (event_loop), (main):
27401         Don't block forever for the state change to complete, the
27402         pipeline already did with a sensible timeout.
27403
27404 2005-07-19  Wim Taymans  <wim@fluendo.com>
27405
27406         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
27407         Make sure we never call the create function is we
27408         got deactivated.
27409
27410 2005-07-19  Andy Wingo  <wingo@pobox.com>
27411
27412         * gst/parse/parse.l: Attempt to solve bug #172815.
27413
27414 2005-07-19  Wim Taymans  <wim@fluendo.com>
27415
27416         * docs/design/part-clocks.txt:
27417         * docs/design/part-events.txt:
27418         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
27419         Small docs updates.
27420         Only update the seeking values when we are not
27421         busy streaming.
27422
27423 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27424
27425         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27426           Oops, ignore the result of gst_pad_push_event here.
27427
27428 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27429
27430         * gst/base/gstbasesrc.c: (gst_base_src_loop),
27431         (gst_base_src_activate_push):
27432           Send discont event from the loop function, as pads
27433           aren't activated yet in the activate_push handler.
27434
27435         * gst/gstbin.c: (bin_bus_handler):
27436           Don't leak element name.
27437
27438 2005-07-18  Andy Wingo  <wingo@pobox.com>
27439
27440         * configure.ac: Use AS_LIBTOOL_TAGS.
27441
27442 2005-07-18  Wim Taymans  <wim@fluendo.com>
27443
27444         * docs/gst/gstreamer.types:
27445         Remove deleted types.
27446
27447 2005-07-18  Wim Taymans  <wim@fluendo.com>
27448
27449         * check/elements/gstfakesrc.c: (GST_START_TEST):
27450         * configure.ac:
27451         * gst/Makefile.am:
27452         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
27453         (init_popt_callback):
27454         * gst/gst.h:
27455         * gst/gst_private.h:
27456         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
27457         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
27458         * gst/gstbin.h:
27459         * gst/gstbus.h:
27460         * gst/gstconfig.h.in:
27461         * gst/gstelement.c: (gst_element_class_init),
27462         (gst_element_set_base_time), (gst_element_get_base_time),
27463         (iterator_fold_with_resync), (gst_element_change_state),
27464         (gst_element_dispose), (gst_element_get_bus):
27465         * gst/gstelement.h:
27466         * gst/gstelementfactory.h:
27467         * gst/gsterror.c: (_gst_core_errors_init):
27468         * gst/gsterror.h:
27469         * gst/gstevent.h:
27470         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27471         * gst/gstindex.c:
27472         * gst/gstinfo.c: (_gst_debug_init):
27473         * gst/gstmessage.c: (_gst_message_copy):
27474         * gst/gstmessage.h:
27475         * gst/gstminiobject.h:
27476         * gst/gstobject.c:
27477         * gst/gstobject.h:
27478         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27479         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
27480         * gst/gstpad.h:
27481         * gst/gstparse.h:
27482         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27483         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27484         (gst_pipeline_get_last_stream_time):
27485         * gst/gstpipeline.h:
27486         * gst/gstpluginfeature.h:
27487         * gst/gstquery.h:
27488         * gst/gstscheduler.c:
27489         * gst/gstscheduler.h:
27490         * gst/gststructure.h:
27491         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27492         (gst_task_finalize), (gst_task_func), (gst_task_create),
27493         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
27494         (gst_task_stop), (gst_task_pause):
27495         * gst/gsttask.h:
27496         * gst/gsttypefind.h:
27497         * gst/gsttypes.h:
27498         * gst/registries/gstlibxmlregistry.c: (load_feature),
27499         (gst_xml_registry_load), (gst_xml_registry_save_feature):
27500         * gst/registries/gstxmlregistry.c:
27501         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
27502         * gst/schedulers/threadscheduler.c:
27503         * libs/gst/control/dparammanager.h:
27504         * tools/gst-inspect.c: (print_element_list),
27505         (print_plugin_features), (print_element_features):
27506         * tools/gst-xmlinspect.c: (print_element_list),
27507         (print_plugin_info), (main):
27508         Removed plugable schedulers.
27509         Removed Scheduler/Manager from elements.
27510         Removed gsttypes.h, rearranged includes.
27511         Removed dependency pad<->element, element<>pipeline, and
27512         various others,  fix includes.
27513         implement gst_pad_get_parent() with gst_object_get_parent()
27514         Make GstTask sefcontained.
27515         Fix _get_state() on GstBin, it did not return ASYNC with a 0
27516         timeout.
27517         Fix endless loop in iterator_fold_with_resync.
27518
27519
27520 2005-07-18  Wim Taymans  <wim@fluendo.com>
27521
27522         * gst/Makefile.am:
27523         * gst/gstarch.h:
27524         Remove old file.
27525
27526 2005-07-18  Wim Taymans  <wim@fluendo.com>
27527
27528         * gst/Makefile.am:
27529         No more cothreads.h
27530
27531 2005-07-18  Wim Taymans  <wim@fluendo.com>
27532
27533         * gst/cothreads.c:
27534         * gst/cothreads.h:
27535         Let's remove these.
27536
27537 2005-07-18  Wim Taymans  <wim@fluendo.com>
27538
27539         * docs/design/part-dynamic.txt:
27540         * docs/design/part-events.txt:
27541         * docs/design/part-seeking.txt:
27542         Some more docs in the works.
27543
27544         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27545         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
27546         (gst_base_transform_setcaps), (gst_base_transform_get_size),
27547         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
27548         (gst_base_transform_handle_buffer),
27549         (gst_base_transform_sink_activate_push),
27550         (gst_base_transform_src_activate_pull),
27551         (gst_base_transform_set_passthrough),
27552         (gst_base_transform_is_passthrough):
27553         Refcounting fixes.
27554
27555         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
27556         Cleanups.
27557
27558         * gst/gstevent.c: (gst_event_finalize):
27559         Set SRC to NULL.
27560
27561         * gst/gstutils.c: (gst_element_unlink),
27562         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
27563         (gst_pad_proxy_setcaps):
27564         * gst/gstutils.h:
27565         Add _get_parent_element() to get a pads parent as an element.
27566
27567 2005-07-18  Wim Taymans  <wim@fluendo.com>
27568
27569         * check/gst/gstbin.c: (GST_START_TEST):
27570         Remove bogus test.
27571
27572 2005-07-18  Wim Taymans  <wim@fluendo.com>
27573
27574         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
27575         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
27576         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
27577         (gst_base_sink_event), (gst_base_sink_do_sync),
27578         (gst_base_sink_chain), (gst_base_sink_loop),
27579         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
27580         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
27581         Refcounting fixes.
27582         Fix logic for returning ASYNC when not prerolled.
27583
27584 2005-07-18  Wim Taymans  <wim@fluendo.com>
27585
27586         * gst/gstqueue.c: (gst_queue_handle_sink_event):
27587         Fix nasty refcount bug.
27588
27589 2005-07-16 Philippe Khalaf <burger@speedy.org>
27590
27591         * gst/elements/gstfdsrc.c:
27592         * gst/elements/gstfdsrc.h:
27593         * gst/elements/gstelements.c:
27594         * gst/elements/Makefile.am:
27595         Ported fdsrc to 0.9.
27596
27597 2005-07-16  Wim Taymans  <wim@fluendo.com>
27598
27599         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27600         (gst_base_sink_do_sync):
27601         Fix compile error.
27602
27603 2005-07-16  Wim Taymans  <wim@fluendo.com>
27604
27605         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27606         (gst_base_sink_event), (gst_base_sink_get_times),
27607         (gst_base_sink_do_sync), (gst_base_sink_change_state):
27608         * gst/base/gstbasesink.h:
27609         Store and use discont values when syncing buffers as described
27610         in design docs.
27611         
27612         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27613         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
27614         (gst_base_src_activate_push):
27615         Push discont event when starting.
27616
27617         * gst/elements/gstidentity.c: (gst_identity_transform):
27618         Small cleanups.
27619
27620         * gst/gstbin.c: (gst_bin_change_state):
27621         Small cleanups in base_time  distribution.
27622
27623         * gst/gstelement.c: (gst_element_set_base_time),
27624         (gst_element_get_base_time), (gst_element_change_state):
27625         * gst/gstelement.h:
27626         Added methods for the base_time of the element.
27627         Some MT fixes.
27628
27629         * gst/gstpipeline.c: (gst_pipeline_send_event),
27630         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27631         (gst_pipeline_get_last_stream_time):
27632         * gst/gstpipeline.h:
27633         MT fixes.
27634         Handle seeking as described in design doc, remove stream_time
27635         hack.
27636         Cleanups clock and stream_time selection code. Added accessors
27637         for the stream_time.
27638         
27639
27640 2005-07-16  Andy Wingo  <wingo@pobox.com>
27641
27642         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
27643         (#305291).
27644
27645 2005-07-16  Wim Taymans  <wim@fluendo.com>
27646
27647         * check/gst/gstbin.c: (GST_START_TEST):
27648         Make elements silent as the deep_notify refs the
27649         parent, which might make the test fail.
27650
27651         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27652         Don't hold the lock for too long.
27653
27654 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
27655
27656         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
27657           Don't unref the caps we passed to gst_caps_make_writable() after
27658           passing them. gst_caps_make_writable() will do that for us.
27659
27660 2005-07-15  Andy Wingo  <wingo@pobox.com>
27661
27662         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
27663         (#157311).
27664
27665         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
27666         own marshalling function for the handoff signal. Properly type the
27667         buffer as a buffer. Fixes some warnings. Should do a more general
27668         solution.
27669         (gst_identity_class_init): Plug into the right marshaller.
27670
27671 2005-07-15  Wim Taymans  <wim@fluendo.com>
27672
27673         * docs/design/part-TODO.txt:
27674         * docs/design/part-clocks.txt:
27675         * docs/design/part-element-sink.txt:
27676         * docs/design/part-events.txt:
27677         * docs/design/part-gstpipeline.txt:
27678         Updated docs, mostly DISCONT related.
27679
27680 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
27681
27682         * docs/pwg/building-pads.xml:
27683           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
27684
27685 2005-07-15  Andy Wingo  <wingo@pobox.com>
27686
27687         * tools/gst-typefind.c: Update, add copyright block.
27688
27689         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
27690         Normalize and truncate caps before fixation.
27691
27692         * gst/gstcaps.h:
27693         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
27694         discards all but the first structure from its argument.
27695
27696 2005-07-15  Wim Taymans  <wim@fluendo.com>
27697
27698         * gst/base/gstbasetransform.c: (gst_base_transform_init),
27699         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
27700         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27701         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27702         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
27703         (gst_base_transform_chain), (gst_base_transform_change_state),
27704         (gst_base_transform_set_passthrough),
27705         (gst_base_transform_is_passthrough):
27706         * gst/base/gstbasetransform.h:
27707         Make passthrough work using the bufferpools.
27708         Changed API a bit, subclasses have to write into a buffer
27709         provided by the base class.
27710         More debug info in nego functions.
27711         
27712         * gst/elements/gstidentity.c: (gst_identity_init),
27713         (gst_identity_transform):
27714         Port to new base class.
27715
27716 2005-07-15  Wim Taymans  <wim@fluendo.com>
27717
27718         * gst/gstmessage.c: (gst_message_new_state_changed):
27719         * tools/gst-launch.c: (event_loop), (main):
27720         Totally dump messages in -launch with the -m option.
27721         Fix message name for State messages,
27722
27723 2005-07-14  Wim Taymans  <wim@fluendo.com>
27724
27725         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27726         Post error messages on errors.
27727
27728 2005-07-14  Wim Taymans  <wim@fluendo.com>
27729
27730         * gst/gstcaps.c: (gst_caps_do_simplify):
27731         Remove debug info.
27732
27733         * gst/gsterror.h:
27734         Define error for stream stopped.
27735
27736         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
27737         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
27738         Do proper return values.
27739
27740         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27741         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
27742         (gst_pad_get_range):
27743         Better return values.
27744
27745         * gst/gstpad.h:
27746         Reorganise return values, add macro to check for fatal errors.
27747
27748         * gst/gstqueue.c: (gst_queue_chain):
27749         Return proper GstFlowReturn values,
27750
27751 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
27752
27753         * docs/gst/gstreamer-sections.txt:
27754         * docs/gst/gstreamer.types:
27755         * docs/gst/tmpl/gst.sgml:
27756         * docs/gst/tmpl/gstbasesink.sgml:
27757         * docs/gst/tmpl/gstbasesrc.sgml:
27758         * docs/gst/tmpl/gstbasetransform.sgml:
27759         * docs/gst/tmpl/gstbin.sgml:
27760         * docs/gst/tmpl/gstbuffer.sgml:
27761         * docs/gst/tmpl/gstcaps.sgml:
27762         * docs/gst/tmpl/gstclock.sgml:
27763         * docs/gst/tmpl/gstcompat.sgml:
27764         * docs/gst/tmpl/gstconfig.sgml:
27765         * docs/gst/tmpl/gstelement.sgml:
27766         * docs/gst/tmpl/gstelementdetails.sgml:
27767         * docs/gst/tmpl/gstelementfactory.sgml:
27768         * docs/gst/tmpl/gstenumtypes.sgml:
27769         * docs/gst/tmpl/gsterror.sgml:
27770         * docs/gst/tmpl/gstevent.sgml:
27771         * docs/gst/tmpl/gstfakesink.sgml:
27772         * docs/gst/tmpl/gstfakesrc.sgml:
27773         * docs/gst/tmpl/gstfilesink.sgml:
27774         * docs/gst/tmpl/gstfilesrc.sgml:
27775         * docs/gst/tmpl/gstfilter.sgml:
27776         * docs/gst/tmpl/gstformat.sgml:
27777         * docs/gst/tmpl/gstghostpad.sgml:
27778         * docs/gst/tmpl/gstimplementsinterface.sgml:
27779         * docs/gst/tmpl/gstindex.sgml:
27780         * docs/gst/tmpl/gstindexfactory.sgml:
27781         * docs/gst/tmpl/gstinfo.sgml:
27782         * docs/gst/tmpl/gstiterator.sgml:
27783         * docs/gst/tmpl/gstmacros.sgml:
27784         * docs/gst/tmpl/gstmemchunk.sgml:
27785         * docs/gst/tmpl/gstminiobject.sgml:
27786         * docs/gst/tmpl/gstobject.sgml:
27787         * docs/gst/tmpl/gstpad.sgml:
27788         * docs/gst/tmpl/gstpadtemplate.sgml:
27789         * docs/gst/tmpl/gstparse.sgml:
27790         * docs/gst/tmpl/gstpipeline.sgml:
27791         * docs/gst/tmpl/gstplugin.sgml:
27792         * docs/gst/tmpl/gstpluginfeature.sgml:
27793         * docs/gst/tmpl/gstquery.sgml:
27794         * docs/gst/tmpl/gstqueue.sgml:
27795         * docs/gst/tmpl/gstregistry.sgml:
27796         * docs/gst/tmpl/gstregistrypool.sgml:
27797         * docs/gst/tmpl/gstscheduler.sgml:
27798         * docs/gst/tmpl/gstschedulerfactory.sgml:
27799         * docs/gst/tmpl/gststructure.sgml:
27800         * docs/gst/tmpl/gstsystemclock.sgml:
27801         * docs/gst/tmpl/gsttaglist.sgml:
27802         * docs/gst/tmpl/gsttagsetter.sgml:
27803         * docs/gst/tmpl/gsttrace.sgml:
27804         * docs/gst/tmpl/gsttrashstack.sgml:
27805         * docs/gst/tmpl/gsttypefind.sgml:
27806         * docs/gst/tmpl/gsttypefindfactory.sgml:
27807         * docs/gst/tmpl/gsttypes.sgml:
27808         * docs/gst/tmpl/gsturihandler.sgml:
27809         * docs/gst/tmpl/gsturitype.sgml:
27810         * docs/gst/tmpl/gstutils.sgml:
27811         * docs/gst/tmpl/gstvalue.sgml:
27812         * docs/gst/tmpl/gstversion.sgml:
27813         * docs/gst/tmpl/gstxml.sgml:
27814         * docs/libs/tmpl/gstcontrol.sgml:
27815         * docs/libs/tmpl/gstdataprotocol.sgml:
27816         * docs/libs/tmpl/gstdparam.sgml:
27817         * docs/libs/tmpl/gstdplinint.sgml:
27818         * docs/libs/tmpl/gstdpman.sgml:
27819         * docs/libs/tmpl/gstdpsmooth.sgml:
27820         * docs/libs/tmpl/gstgetbits.sgml:
27821         * docs/libs/tmpl/gstunitconvert.sgml:
27822         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
27823         (gst_push_src_base_init), (gst_push_src_class_init),
27824         (gst_push_src_init), (gst_push_src_create):
27825         * gst/base/gstpushsrc.h:
27826         * gst/elements/gstelements.c:
27827         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
27828         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
27829         (gst_fake_sink_init), (gst_fake_sink_set_property),
27830         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
27831         (gst_fake_sink_event), (gst_fake_sink_preroll),
27832         (gst_fake_sink_render), (gst_fake_sink_change_state):
27833         * gst/elements/gstfakesink.h:
27834         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
27835         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
27836         (gst_fake_src_base_init), (gst_fake_src_class_init),
27837         (gst_fake_src_init), (gst_fake_src_event_handler),
27838         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
27839         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
27840         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
27841         (gst_fake_src_create_buffer), (gst_fake_src_create),
27842         (gst_fake_src_start), (gst_fake_src_stop):
27843         * gst/elements/gstfakesrc.h:
27844         * gst/elements/gstfilesink.c: (_do_init),
27845         (gst_file_sink_base_init), (gst_file_sink_class_init),
27846         (gst_file_sink_init), (gst_file_sink_dispose),
27847         (gst_file_sink_set_location), (gst_file_sink_set_property),
27848         (gst_file_sink_get_property), (gst_file_sink_open_file),
27849         (gst_file_sink_close_file), (gst_file_sink_query),
27850         (gst_file_sink_event), (gst_file_sink_render),
27851         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
27852         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
27853         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
27854         * gst/elements/gstfilesink.h:
27855         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
27856         (gst_file_src_class_init), (gst_file_src_init),
27857         (gst_file_src_finalize), (gst_file_src_set_location),
27858         (gst_file_src_set_property), (gst_file_src_get_property),
27859         (gst_file_src_map_region), (gst_file_src_map_small_region),
27860         (gst_file_src_create_mmap), (gst_file_src_create_read),
27861         (gst_file_src_create), (gst_file_src_is_seekable),
27862         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
27863         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
27864         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
27865         (gst_file_src_uri_handler_init):
27866         * gst/elements/gstfilesrc.h:
27867           more autistic cleanliness in functions/names/defines
27868
27869 2005-07-13  Andy Wingo  <wingo@pobox.com>
27870
27871         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
27872         source couldn't negotiate.
27873
27874         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
27875         connections again.
27876
27877         * gst/gstutils.h:
27878         * gst/gstutils.c (gst_element_link_pads_filtered): New old
27879         function. I am channeling Hades. Put your boots on suckers!!!
27880
27881 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
27882
27883         * testsuite/caps/Makefile.am:
27884         * testsuite/caps/value_compare.c:
27885         * testsuite/caps/value_intersect.c:
27886         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
27887           move two testsuite apps over to the check dir
27888
27889 2005-07-12  Wim Taymans  <wim@fluendo.com>
27890
27891         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27892         Added more debug info in the negotiate process.
27893
27894         * gst/gstmessage.h:
27895         Prepare for segment playback.
27896
27897         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
27898         Better debugging.
27899
27900         * gst/gstutils.c:
27901         Some more docs.
27902
27903         * tools/gst-launch.c: (main):
27904         NULL pipeline on errors.
27905
27906 2005-07-12  Andy Wingo  <wingo@pobox.com>
27907
27908         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
27909         not it comes from a malloc region. Make sure our copy gets freed.
27910
27911 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
27912
27913         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27914         * check/gst/gstmessage.c: (GST_START_TEST):
27915         * check/gst/gststructure.c: (GST_START_TEST),
27916         (gst_structure_suite), (main):
27917           more testing
27918         * gst/gstelement.c: (gst_element_message_full):
27919           clean up GError and debug string now that they get copied
27920         * gst/gstmessage.c: (gst_message_new_error),
27921         (gst_message_new_warning), (gst_message_parse_error),
27922         (gst_message_parse_warning):
27923           use GST_TYPE_G_ERROR for structure_new, and take copies of
27924           arguments, so that we don't mess up refcounting
27925
27926 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
27927
27928         * check/Makefile.am:
27929           add per-test valgrind targets
27930         * check/gst-libs/gdp.c: (GST_START_TEST),
27931         (gst_data_protocol_suite), (main):
27932           clean up
27933
27934 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
27935
27936         * check/Makefile.am:
27937           instate more valgrindable tests
27938         * check/elements/gstfakesrc.c: (chain_func), (event_func),
27939         (GST_START_TEST), (fakesrc_suite):
27940         * check/gst/gstpad.c: (GST_START_TEST):
27941         * check/gst/gststructure.c: (GST_START_TEST):
27942           fix test leaks
27943         * docs/gst/tmpl/gstminiobject.sgml:
27944         * gst/gstpad.c: (gst_pad_finalize):
27945           fix the static mutex leak
27946
27947 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
27948
27949         * check/Makefile.am:
27950           add two more tests for valgrinding
27951         * check/gst/gstvalue.c: (GST_START_TEST):
27952           test refcount of deserialized buffer, found a leak
27953         * docs/gst/gstreamer-docs.sgml:
27954         * docs/gst/gstreamer-sections.txt:
27955         * docs/gst/gstreamer.types:
27956         * docs/gst/tmpl/gstminiobject.sgml:
27957           add miniobject to docs
27958         * gst/gstminiobject.c:
27959           add some docs
27960         * gst/gstvalue.c: (gst_value_deserialize_buffer),
27961         (gst_string_unwrap):
27962           fix a hard-to-find invalid write for one of the tests
27963           fix a leak for deserialized buffers
27964
27965 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27966
27967         * docs/pwg/advanced-events.xml:
27968         * docs/pwg/advanced-request.xml:
27969         * docs/pwg/advanced-scheduling.xml:
27970         * docs/pwg/appendix-porting.xml:
27971         * docs/pwg/building-boiler.xml:
27972         * docs/pwg/intro-preface.xml:
27973         * docs/pwg/other-ntoone.xml:
27974           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
27975           of example code and explanation for pad activation, loop() and
27976           getrange() functions and a bit more. Remove old comments pointing
27977           to loop-functions.
27978         * examples/pwg/Makefile.am:
27979           Add loop/getrange examples.
27980
27981 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
27982
27983         * configure.ac:
27984           check for valgrind binary + some fixes
27985         * check/gst.supp:
27986           valgrind suppressions for the tests
27987         * check/Makefile.am:
27988           add a valgrind: target that valgrinds the unit tests
27989         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
27990         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
27991         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
27992         * check/gst/gstghostpad.c:
27993           added some cleanup
27994         * check/gst/gstdata.c:
27995           removed
27996         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
27997         (thread_unref), (gst_mini_object_suite), (main):
27998           added
27999         * gst/gst.c: (gst_deinit):
28000         * gst/gst.h:
28001           add a method to clean up.
28002         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28003         (gst_system_clock_obtain):
28004           allow for disposing the system clock.
28005         * tools/gst-launch.c: (main):
28006           deinit
28007
28008 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28009
28010         * docs/gst/tmpl/gstbasesrc.sgml:
28011         * docs/gst/tmpl/gstfakesrc.sgml:
28012         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28013         (gst_base_src_init), (gst_base_src_set_property),
28014         (gst_base_src_get_property), (gst_base_src_get_range),
28015         (gst_base_src_start):
28016         * gst/base/gstbasesrc.h:
28017           add num-buffers property
28018         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28019         (gst_fakesrc_init), (gst_fakesrc_set_property),
28020         (gst_fakesrc_get_property), (gst_fakesrc_create),
28021         (gst_fakesrc_start):
28022           remove num-buffers property
28023
28024 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28025
28026         * docs/gst/gstreamer-sections.txt:
28027         * docs/gst/tmpl/gstbasesink.sgml:
28028         * docs/gst/tmpl/gstbasesrc.sgml:
28029         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28030         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28031         (gst_base_sink_finalize), (gst_base_sink_set_clock),
28032         (gst_base_sink_set_property), (gst_base_sink_get_property),
28033         (gst_base_sink_handle_object), (gst_base_sink_event),
28034         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
28035         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
28036         (gst_base_sink_loop), (gst_base_sink_deactivate),
28037         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
28038         (gst_base_sink_change_state):
28039         * gst/base/gstbasesink.h:
28040         * gst/base/gstbasesrc.h:
28041         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
28042         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28043         (gst_filesink_init):
28044           more macro splitting
28045
28046 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28047
28048         * gst/gstelement.c: (gst_element_get_bus):
28049           add debug
28050         * tools/gst-launch.c: (check_intr), (event_loop):
28051           fix bus leaks
28052
28053 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28054
28055         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
28056           fix a caps leak
28057
28058 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28059
28060         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28061         (gst_base_src_finalize):
28062           add finalize method and clean up properly
28063         * gst/gstpipeline.c: (gst_pipeline_dispose):
28064           add debug
28065
28066 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28067
28068         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
28069         (gst_bin_suite):
28070           add more things to check
28071         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
28072         * gst/gstelement.c:
28073           more debug
28074
28075 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28076
28077         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28078         (GST_START_TEST), (fakesrc_suite):
28079         * check/gst-libs/gdp.c: (GST_START_TEST):
28080         * check/gst/gst.c: (GST_START_TEST):
28081         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
28082         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28083         * check/gst/gstbus.c: (GST_START_TEST):
28084         * check/gst/gstcaps.c: (GST_START_TEST):
28085         * check/gst/gstdata.c: (GST_START_TEST):
28086         * check/gst/gstelement.c: (GST_START_TEST):
28087         * check/gst/gstghostpad.c: (GST_START_TEST):
28088         * check/gst/gstiterator.c: (GST_START_TEST):
28089         * check/gst/gstmessage.c: (GST_START_TEST):
28090         * check/gst/gstobject.c: (GST_START_TEST):
28091         * check/gst/gstpad.c: (GST_START_TEST):
28092         * check/gst/gststructure.c: (GST_START_TEST):
28093         * check/gst/gstsystemclock.c: (GST_START_TEST),
28094         (gst_systemclock_suite):
28095         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
28096         * check/gst/gstvalue.c: (GST_START_TEST):
28097         * check/pipelines/cleanup.c: (GST_START_TEST):
28098         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
28099         * check/states/sinks.c: (GST_START_TEST):
28100         * check/gstcheck.c: (gst_check_init):
28101         * check/gstcheck.h:
28102           add debugging category
28103           use GST_START_TEST now, so we add a debug line
28104
28105 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28106
28107         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
28108           add test for state change message on a bin
28109         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
28110           add another test
28111         * gst/gstbin.c: (gst_bin_init):
28112         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
28113         * gst/gstelement.c: (gst_element_post_message),
28114         (gst_element_set_state):
28115         * gst/gstelementfactory.c: (gst_element_factory_create):
28116         * gst/gstmessage.c: (gst_message_new):
28117         * gst/gstscheduler.c:
28118           various debugging additions and cleanups
28119
28120 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28121
28122         * check/Makefile.am:
28123         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
28124         (main):
28125           adding tests for elements
28126         * gst/gstelement.c: (gst_element_dispose):
28127
28128 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28129
28130         * gst/registries/gstlibxmlregistry.c: (load_feature):
28131           plug more leaks.  A simple gst_init() now is leakfree, yay.
28132
28133 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28134
28135         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
28136         (gst_xml_registry_load):
28137           plug another memleak
28138
28139 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28140
28141         * configure.ac:
28142           use GST_SET_ERROR_CFLAGS
28143         * docs/faq/cvs.xml:
28144           change to ERROR_CFLAGS
28145
28146 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28147
28148         * configure.ac:
28149           make GST_ERROR_CFLAGS overridable and re-enable Werror
28150         * docs/faq/cvs.xml:
28151           add a note about error CFLAGS
28152         * docs/gst/tmpl/gstfakesrc.sgml:
28153         * gst/elements/gstfakesrc.c:
28154           comment out some unused code
28155         * gst/gst.c: (split_and_iterate):
28156         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
28157         (load_feature):
28158           plug some memleaks
28159
28160 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28161
28162         * common/Makefile.am:
28163         * common/gtk-doc.mak:
28164         * docs/gst/Makefile.am:
28165           factor out gtk-doc.mak
28166
28167 2005-07-07  Wim Taymans  <wim@fluendo.com>
28168
28169         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
28170         (gst_thread_scheduler_dispose):
28171         Unlock the STREAM_LOCK completely.
28172
28173 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28174
28175         * check/Makefile.am:
28176         * check/elements/.cvsignore:
28177         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28178         (START_TEST), (fakesrc_suite), (main):
28179         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28180         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28181         (gst_fakesrc_create), (gst_fakesrc_start):
28182         * gst/elements/gstfakesrc.h:
28183           adding a first element test
28184
28185 2005-07-07  Andy Wingo  <wingo@pobox.com>
28186
28187         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
28188         debug message.
28189
28190 2005-07-07  Wim Taymans  <wim@fluendo.com>
28191
28192         * gst/gstquery.c:
28193         * gst/gstquery.h:
28194         Remove old types
28195
28196 2005-07-07  Wim Taymans  <wim@fluendo.com>
28197
28198         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
28199         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
28200         Allow subclasses to implement their own negotiation.
28201
28202 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28203
28204         * docs/design/part-gstbin.txt:
28205         * docs/design/part-gstpipeline.txt:
28206           Update design notes to reflect the movement of
28207           responsibility for bus handling from GstPipeline to
28208           GstBin
28209
28210 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28211
28212         * configure.ac:
28213           Remove unnecessary queue2/3/4 examples.
28214
28215 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28216
28217         * examples/Makefile.am:
28218         * examples/helloworld/helloworld.c: (event_loop), (main):
28219         * examples/queue/queue.c: (event_loop), (main):
28220         * examples/queue2/queue2.c: (main):
28221           Update a couple of the examples to work again.
28222
28223         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28224         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
28225          Spelling corrections and extra debug.
28226         
28227         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
28228         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
28229         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
28230         * gst/gstbin.h:
28231         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28232         (gst_pipeline_change_state):
28233         * gst/gstpipeline.h:
28234           Move the bus handler for children to the GstBin, and create a
28235           separate bus for receiving messages from children to the one the
28236           bus sends 'upwards' on.
28237
28238 2005-07-06  Wim Taymans  <wim@fluendo.com>
28239
28240         * gst/base/README:
28241         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28242         (gst_base_sink_handle_object), (gst_base_sink_loop),
28243         (gst_base_sink_change_state):
28244         * gst/base/gstbasesink.h:
28245         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28246         (gst_base_src_init), (gst_base_src_setcaps),
28247         (gst_base_src_getcaps), (gst_base_src_loop),
28248         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
28249         (gst_base_src_start), (gst_base_src_change_state):
28250         * gst/base/gstbasesrc.h:
28251         Make basesrc negotiate.
28252         Handle the case where preroll fails in basesink.
28253         Update README.
28254
28255 2005-07-06  Wim Taymans  <wim@fluendo.com>
28256
28257         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
28258         Implement the fixate function.
28259         Clean up acceptcaps.
28260
28261 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28262
28263         * docs/pwg/building-filterfactory.xml:
28264         * docs/pwg/pwg.xml:
28265           Remove never-written filter-factory chapter; I'll add the various
28266           base classes to part 4 ("other element types") later on.
28267
28268 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28269
28270         * docs/pwg/advanced-negotiation.xml:
28271         * docs/pwg/building-boiler.xml:
28272         * docs/pwg/building-pads.xml:
28273         * docs/pwg/pwg.xml:
28274         * examples/pwg/Makefile.am:
28275           Add a chapter on caps negotiation, simplify the original code
28276           samples a bit w.r.t. caps negotiation, add link to the advanced
28277           section. Add a bunch of examples showing different use cases of
28278           different types of caps negotiation. Upstream renegotiation isn't
28279           fully documented yet since nobody knows how that works.
28280
28281 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
28282
28283         * check/gst/gstpad.c:
28284         * check/gstcheck.c:
28285         * gst/gstpad.c: (gst_pad_get_internal_links_default):
28286           if pad has no parent, return NULL as list of internal links
28287
28288 2005-07-05  Andy Wingo  <wingo@pobox.com>
28289
28290         * gst/elements/gstfilesrc.c:
28291         * gst/elements/gstfakesrc.c: 
28292         * gst/base/gstpushsrc.c:
28293         * gst/base/gstbasesrc.h: 
28294         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
28295         
28296 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
28297
28298         * Makefile.am:
28299           better report generation target (lcov needs a patch)
28300
28301 2005-07-05  Andy Wingo  <wingo@pobox.com>
28302
28303         * gst/elements, testsuite: Null if we got it...
28304
28305 2005-07-05  Wim Taymans  <wim@fluendo.com>
28306
28307         * configure.ac:
28308         * libs/gst/dataprotocol/Makefile.am:
28309         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
28310         * libs/gst/dataprotocol/dataprotocol.h:
28311         * pkgconfig/Makefile.am:
28312         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
28313         * pkgconfig/gstreamer-dataprotocol.pc.in:
28314         Ported dataprotol to 0.9. 
28315         Added pkgconfig files.
28316
28317 2005-07-05  Andy Wingo  <wingo@pobox.com>
28318
28319         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
28320         Default to returning TRUE for the case when tranform_caps returns
28321         a fixed caps, like for identity or volume.
28322
28323         * check/gst/gstbus.c (pound_bus_with_messages): 
28324         * check/gst/gstmessage.c (START_TEST): 
28325         * check/pipelines/simple_launch_lines.c (got_handoff): Application
28326         message API change.
28327
28328         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
28329         logic weaks here: always run transform_caps, trying passthrough
28330         operation only if the original caps intersects with the transform.
28331
28332         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
28333         source and sink caps.
28334
28335         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
28336         Intersect the peer caps with the pad template before going into
28337         transform_caps.
28338         (gst_base_transform_transform_caps): More debugging.
28339
28340         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
28341         src argument.
28342
28343 2005-07-04  Edward Hervey  <edward@fluendo.com>
28344
28345         * gst/gstutils.c:
28346         * gst/gstutils.h:
28347         (gst_pad_add_*_probe): now returns the signal id for better wrapping
28348         in bindings.
28349
28350 2005-07-04  Andy Wingo  <wingo@pobox.com>
28351
28352         * check/gst/gstpad.c: Only set explicit caps on pads.
28353
28354 2005-07-01  Andy Wingo  <wingo@pobox.com>
28355
28356         * tests/network-clock.scm: Commentary update.
28357
28358         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28359         Didn't really make sense, not implementable with basetransform,
28360         etc.
28361         (gst_identity_transform): Unref inbuf via make_writable. Feeble
28362         attempt at implementing the sync property, needs an unlock method.
28363
28364         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28365         New func, by default returns the same caps (the identity
28366         transformation).
28367         (gst_base_transform_getcaps): Uses transform_caps to return
28368         something sensible.
28369         (gst_base_transform_setcaps): Complicated logic to get caps on
28370         both pads, even if they are different, and to call set_caps once
28371         for every time both pads get their caps set.
28372         (gst_base_transform_handle_buffer): Give the ref to the transform
28373         function. Allows in-place modification of the buffer.
28374
28375         * gst/base/gstbasetransform.h (transform_caps): New class method.
28376         Given caps on one side, what can I do on the other.
28377         (set_caps): Take two caps, one for each side of the element.
28378
28379         * gst/gstpad.h:
28380         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
28381         caps in place. This is safe because we can check the mutability of
28382         the caps, and a good idea because fixate functions are just called
28383         as a matter of last resort. (Not actually implemented.)
28384         (gst_pad_set_caps): If the caps we're setting is actually the same
28385         as the existing pad caps, just update the pointer without calling
28386         setcaps. Assert that caps is either NULL or fixed, as per the
28387         docs.
28388
28389         * gst/gstghostpad.c: Update for fixate changes.
28390
28391 2005-07-02  Andy Wingo  <wingo@pobox.com>
28392
28393         * gst/gstcaps.c:
28394         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
28395         two refcounts makes it immutable, which is enough. Doc more.
28396
28397 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
28398
28399         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
28400           Put the mini_object into GValue as a mini_object,
28401           not a gpointer, since that's how we declared
28402           the signal.
28403
28404 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28405
28406         * examples/pwg/Makefile.am:
28407           Fix buildbot again.
28408
28409 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28410
28411         * docs/pwg/building-testapp.xml:
28412           Add extra check.
28413         * examples/pwg/Makefile.am:
28414           Fix buildbot.
28415
28416 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28417
28418         * configure.ac:
28419         * examples/Makefile.am:
28420         * examples/pwg/Makefile.am:
28421         * examples/pwg/extract.pl:
28422           Enable building the PWG examples.
28423         * docs/pwg/advanced-interfaces.xml:
28424           Add URI interface stub.
28425         * docs/pwg/advanced-types.xml:
28426         * docs/pwg/other-autoplugger.xml:
28427         * docs/pwg/appendix-porting.xml:
28428         * docs/pwg/pwg.xml:
28429           Add porting guide (mostly stubs), remove autoplugging (see ADM).
28430         * docs/pwg/building-boiler.xml:
28431         * docs/pwg/building-chainfn.xml:
28432         * docs/pwg/building-pads.xml:
28433         * docs/pwg/building-props.xml:
28434         * docs/pwg/building-state.xml:
28435         * docs/pwg/building-testapp.xml:
28436           Update the building-*.xml parts for 0.9 changes. All examples
28437           code blocks compile in examples/pwg/*.
28438
28439 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28440
28441         * docs/manual/advanced-autoplugging.xml:
28442         * docs/manual/appendix-checklist.xml:
28443         * docs/manual/appendix-integration.xml:
28444         * docs/manual/highlevel-components.xml:
28445           Fix playbin/decodebin examples, update docs a bit, mention bus
28446           instead of signals in various places, mention kmplayer and
28447           kaffeine since they have a working GStreamer backend in the KDE
28448           section.
28449
28450 2005-06-30  Wim Taymans  <wim@fluendo.com>
28451
28452         * CHANGES-0.9:
28453         * docs/design/draft-ghostpads.txt:
28454         * docs/design/draft-push-pull.txt:
28455         * docs/design/draft-query.txt:
28456         * docs/design/part-TODO.txt:
28457         * docs/design/part-query.txt:
28458         Added CHANGES-0.9 doc, updated status of other docs.
28459         
28460         * gst/gstquery.h:
28461         Remove "hmm" macro
28462
28463 2005-06-30  Wim Taymans  <wim@fluendo.com>
28464
28465         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28466         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28467         (gst_base_sink_change_state):
28468         * gst/base/gstbasesink.h:
28469         Some tweaks, only EOS and a buffer complete a preroll.
28470
28471 2005-06-30  Andy Wingo  <wingo@pobox.com>
28472
28473         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
28474         activate_push down to the internal pad as well.
28475
28476 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
28477
28478         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28479
28480         * gst/gsttaginterface.c:
28481           Some documentation fixes (#307394 and #307397).
28482
28483 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
28484
28485         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28486
28487         * gst/gstvalue.c: (gst_value_intersect_list):
28488           Fix memleak (#309125).
28489
28490 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28491
28492         * docs/manual/advanced-dataaccess.xml:
28493           Fix fakesrc example to compile; doesn't work, bug somewhere...?
28494         * docs/manual/basics-pads.xml:
28495           Add reference for filtered caps to above chapter.
28496
28497 2005-06-30  Wim Taymans  <wim@fluendo.com>
28498
28499         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
28500         (gst_bin_change_state):
28501         Probes are gone.
28502         Lame attempt at making the state change function a bit
28503         more readable.
28504
28505 2005-06-30  Wim Taymans  <wim@fluendo.com>
28506
28507         * docs/design/part-clocks.txt:
28508         * docs/design/part-element-sink.txt:
28509         * docs/design/part-events.txt:
28510         * docs/design/part-preroll.txt:
28511         * docs/design/part-states.txt:
28512         Some more tweeks and additions to the docs.
28513
28514 2005-06-30  Wim Taymans  <wim@fluendo.com>
28515
28516         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28517         (default_have_data), (gst_pad_class_init), (gst_pad_init),
28518         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28519         (gst_pad_check_pull_range), (gst_pad_get_range),
28520         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
28521         * gst/gstpad.h:
28522         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
28523         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28524         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28525         (gst_pad_remove_buffer_probe):
28526         Removed atomic operations, use existing LOCK.
28527         Move exception handling out of main code path.
28528
28529 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28530
28531         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28532         (silly_return_true_function), (gst_pad_class_init),
28533         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28534         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
28535         (gst_pad_send_event):
28536           Fix accumulator, add default value by using _emitv() instead
28537           of _emit() for signal emission.
28538
28539 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28540
28541         * docs/manual/advanced-dataaccess.xml:
28542         * examples/manual/Makefile.am:
28543           Add probe example.
28544         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
28545           Make work (??).
28546
28547 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
28548
28549         * gst/elements/gstfilesink.c: (gst_filesink_render):
28550           Simplify code so that we don't have to handle short
28551           writes and return GST_FLOW_ERROR if an error occured.
28552
28553 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28554
28555         * docs/gst/gstreamer-docs.sgml:
28556           Remove probes more.
28557
28558 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28559
28560         * docs/gst/gstreamer-sections.txt:
28561         * docs/gst/tmpl/gstpad.sgml:
28562         * docs/gst/tmpl/gstprobe.sgml:
28563         * gst/Makefile.am:
28564         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28565         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
28566         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
28567         (gst_pad_push_event), (gst_pad_send_event):
28568         * gst/gstpad.h:
28569         * gst/gstutils.c: (gst_pad_add_data_probe),
28570         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28571         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28572         (gst_pad_remove_buffer_probe):
28573         * gst/gstutils.h:
28574           Remove old probes, add new g-signal-based probes and some utility
28575           functions.
28576
28577 2005-06-29  Edward Hervey  <edward@fluendo.com>
28578
28579         * gst/gstelementfactory.c:
28580         * gst/gstutils.h:
28581         * gst/gstutils.c:
28582         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
28583         the definition to the header file.
28584
28585 2005-06-29  Andy Wingo  <wingo@pobox.com>
28586
28587         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
28588         plugins from the source directory.
28589
28590 2005-06-29  Wim Taymans  <wim@fluendo.com>
28591
28592         * docs/gst/tmpl/gstbuffer.sgml:
28593         * docs/gst/tmpl/gstclock.sgml:
28594         Some fixings for blantently wrong text.
28595
28596 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
28597
28598         * check/Makefile.am:
28599         * gst/gst.c: (add_path_func), (init_pre):
28600         * gst/gstregistry.c: (gst_registry_add_path):
28601           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
28602           only scan the GST_PLUGIN_PATH locations, and not add
28603           system locations
28604
28605 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
28606
28607         * docs/gst/gstreamer-sections.txt:
28608         * docs/gst/tmpl/gstbasesrc.sgml:
28609         * gst/gstelement.c:
28610         * gst/gstelement.h:
28611         * gst/gstevent.c:
28612         * gst/gstutils.c:
28613           doc fixes
28614
28615 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28616
28617         * docs/manual/advanced-autoplugging.xml:
28618           Fix autoplugging example.
28619
28620 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28621
28622         * docs/manual/advanced-autoplugging.xml:
28623         * docs/manual/mime-world.fig:
28624           Try to get autoplugging working, fix type detection. Fix text
28625           in hello-world image.
28626
28627 2005-06-29  Wim Taymans  <wim@fluendo.com>
28628
28629         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28630         (gst_base_sink_change_state):
28631         Small debug line.
28632
28633         * gst/gstclock.h:
28634         map SIGNAL and BROADCAST to the right function.
28635
28636         * gst/gstobject.h:
28637         Remove redundant braces.
28638
28639         * gst/gstpad.c: (gst_pad_set_caps):
28640         Don't call setcaps function when reseting caps to NULL.
28641
28642         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28643         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
28644         (gst_system_clock_id_unschedule):
28645         Use BROADCAST as this is what we do.
28646
28647 2005-06-29  Wim Taymans  <wim@fluendo.com>
28648
28649         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
28650         We are actually prerolling before commiting the state
28651         change. 
28652
28653 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28654
28655         * docs/manual/advanced-clocks.xml:
28656         * docs/manual/advanced-interfaces.xml:
28657         * docs/manual/advanced-metadata.xml:
28658         * docs/manual/advanced-position.xml:
28659         * docs/manual/advanced-schedulers.xml:
28660         * docs/manual/advanced-threads.xml:
28661         * docs/manual/appendix-porting.xml:
28662         * docs/manual/basics-bins.xml:
28663         * docs/manual/basics-bus.xml:
28664         * docs/manual/basics-elements.xml:
28665         * docs/manual/basics-helloworld.xml:
28666         * docs/manual/basics-pads.xml:
28667         * docs/manual/highlevel-components.xml:
28668         * docs/manual/manual.xml:
28669         * docs/manual/thread.fig:
28670           Update (until threads/scheduling) Application Development Manual;
28671           remove GstThread, add GstBus, add simple porting checklist, add
28672           documentation for tag writing, clocks, make all examples until this
28673           part compile and run.
28674         * examples/manual/Makefile.am:
28675           Update from changes to Application Development Manual; add bus
28676           example, remove thread example.
28677
28678 2005-06-28  Wim Taymans  <wim@fluendo.com>
28679
28680         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
28681         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
28682         (gst_bus_source_dispatch):
28683         Add debugging messages.
28684         Make internal methods static.
28685         Handle the case where the bus is flushed in the handler.
28686         
28687         * gst/gstelement.c: (gst_element_get_bus):
28688         Fix refcount in _get_bus();
28689
28690         * gst/gstpipeline.c: (gst_pipeline_change_state),
28691         (gst_pipeline_get_clock_func):
28692         Clock refcounting fixes.
28693         Handle the case where preroll timed out more gracefully.
28694         
28695         * gst/gstsystemclock.c: (gst_system_clock_dispose):
28696         Clean up the internal thread in dispose. This is needed
28697         for subclasses that actually get disposed.
28698         
28699         * gst/schedulers/threadscheduler.c:
28700         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
28701         (gst_thread_scheduler_dispose):
28702         Free thread pool in dispose.
28703
28704 2005-06-28  Andy Wingo  <wingo@pobox.com>
28705
28706         * tests/network-clock-utils.scm (debug, print-event): New utils.
28707
28708         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
28709         (*packet-loss*): Unified loss probability.
28710         (network-time): Report out-of-band events.
28711
28712         * tests/plot-data: Add support for out-of-band events. Hack it
28713         into this script instead of passing it down the pipe; should fix
28714         this later.
28715
28716 2005-06-28  Wim Taymans  <wim@fluendo.com>
28717
28718         * docs/gst/gstreamer.types:
28719         * docs/gst/tmpl/gstbasesrc.sgml:
28720         * docs/gst/tmpl/gstpad.sgml:
28721         Docs fixes.
28722
28723 2005-06-28  Wim Taymans  <wim@fluendo.com>
28724
28725         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28726         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
28727         (gst_proxy_pad_do_fixatecaps):
28728         Correctly proxy the check_pull_range function.
28729
28730 2005-06-28  Andy Wingo  <wingo@pobox.com>
28731
28732         * tests/network-clock.scm: Removed need for slib.
28733         
28734 2005-06-28  Wim Taymans  <wim@fluendo.com>
28735
28736         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
28737         (gst_basesink_preroll_queue_flush):
28738         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
28739         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
28740         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28741         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
28742         (gst_proxy_pad_set_property):
28743         * gst/gstpad.c:
28744         * gst/gstpad.h:
28745         * gst/gstqueue.c: (gst_queue_init):
28746         The deprecated pad loop function is removed now.
28747
28748 2005-06-28  Andy Wingo  <wingo@pobox.com>
28749
28750         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
28751         New parameters, simulate network packet loss.
28752
28753         * tests/network-clock-utils.scm: Initialize the RNG.
28754
28755 2005-06-28  Wim Taymans  <wim@fluendo.com>
28756
28757         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
28758         (gst_basesink_event), (gst_basesink_deactivate):
28759         Flushing the preroll queue always needs to unlock the waiters.
28760
28761 2005-06-28  Edward Hervey  <edward@fluendo.com>
28762
28763         * gst/gstpipeline.c: (gst_pipeline_send_event): 
28764         Wheen a seek was successful on a pipeline, set the stream_time to the
28765         seek offset in order to have a synchronized stream_time.
28766
28767 2005-06-28  Wim Taymans  <wim@fluendo.com>
28768
28769         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28770         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
28771         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
28772         (gst_proxy_pad_do_fixatecaps):
28773         Call wrapper function instead of just calling the function
28774         pointers. This takes care of any locking and whatmore.
28775
28776 2005-06-28  Wim Taymans  <wim@fluendo.com>
28777
28778         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
28779         (gst_pad_pull_range):
28780         * gst/gstpad.h:
28781         CONNECTED -> LINKED.
28782
28783 2005-06-28  Andy Wingo  <wingo@pobox.com>
28784
28785         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
28786         source-munging commit!!!
28787
28788         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
28789         (gst_object_sink): Take gpointer arguments, not GstObject --
28790         avoids casts. Like GLib.
28791
28792         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
28793         activate.
28794
28795 2005-06-27  Andy Wingo  <wingo@pobox.com>
28796
28797         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
28798         remaining buffer.
28799
28800         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
28801         returns a sorted copy of the trace list.
28802         (gst_alloc_trace_print_live): New API, only prints traces with
28803         live objects. Sort the list.
28804         (gst_alloc_trace_print_all): Sort the list.
28805         (gst_alloc_trace_print): Align columns.
28806
28807         * gst/elements/gstttypefindelement.c:
28808         * gst/elements/gsttee.c:
28809         * gst/base/gstbasesrc.c:
28810         * gst/base/gstbasesink.c:
28811         * gst/base/gstbasetransform.c:
28812         * gst/gstqueue.c: Adapt for pad activation changes.
28813
28814         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
28815         sched.
28816         (gst_pipeline_dispose): Drop ref on sched.
28817
28818         * gst/gstpad.c (gst_pad_init): Set the default activate func.
28819         (gst_pad_activate_default): Push mode by default.
28820         (pre_activate_switch, post_activate_switch): New stubs, things to
28821         do before and after switching activation modes on pads.
28822         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
28823         the pad's activate function to choose which mode to activate.
28824         Shortcut on deactivation and call the right function directly.
28825         (gst_pad_activate_pull): New API, (de)activates a pad in pull
28826         mode.
28827         (gst_pad_activate_push): New API, same for push mode.
28828         (gst_pad_set_activate_function) 
28829         (gst_pad_set_activatepull_function) 
28830         (gst_pad_set_activatepush_function): Setters for new API.
28831
28832         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
28833         Trace all miniobjects.
28834         (gst_mini_object_make_writable): Unref the arg if we copy, like
28835         gst_caps_make_writable.
28836
28837         * gst/gstmessage.c (_gst_message_initialize): No trace init.
28838
28839         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
28840         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
28841         Adapt for new pad API.
28842
28843         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
28844
28845         * gst/gstelement.h:
28846         * gst/gstelement.c (gst_element_iterate_src_pads) 
28847         (gst_element_iterate_sink_pads): New API functions.
28848         
28849         * gst/gstelement.c (iterator_fold_with_resync): New utility,
28850         should fold into gstiterator.c in some form.
28851         (gst_element_pads_activate): Simplified via use of fold and
28852         delegation of decisions to gstpad->activate.
28853
28854         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
28855         help in debugging.
28856
28857         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
28858         class once in init, like gstmessage. Didn't run into this issue
28859         but it seems correct. Don't initialize a trace, gstminiobject does
28860         that.
28861
28862         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
28863         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
28864         to the bus.
28865         (assert_live_count): New util function, uses alloc traces to check
28866         cleanup.
28867
28868         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
28869         To be modified when unlink drops the internal pad.
28870
28871 2005-06-27  Wim Taymans  <wim@fluendo.com>
28872
28873         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
28874         (gst_bin_change_state):
28875         Cleanup the get_state() function a little, make sure it
28876         iterates the same set of elements.
28877         Added stub iterate_state_order().
28878
28879 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
28880
28881         * docs/gst/gstreamer-docs.sgml:
28882         * docs/gst/gstreamer-sections.txt:
28883         * docs/gst/gstreamer.types:
28884         * docs/gst/tmpl/gstbasesink.sgml:
28885         * docs/gst/tmpl/gstbasesrc.sgml:
28886         * docs/gst/tmpl/gstbasetransform.sgml:
28887         * docs/gst/tmpl/gstelement.sgml:
28888         * docs/gst/tmpl/gstiterator.sgml:
28889         * gst/base/gstbasesrc.c:
28890         * gst/base/gstbasesrc.h:
28891         * gst/base/gstbasetransform.h:
28892         * gst/gstelement.c:
28893         * gst/gstiterator.h:
28894           adding basetransform and iterator docs
28895
28896 2005-06-27  Andy Wingo  <wingo@pobox.com>
28897
28898         * docs/design/part-activation.txt: Notes on how activation should
28899         work -- not quite implemented yet.
28900
28901 2005-06-25  Wim Taymans  <wim@fluendo.com>
28902
28903         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
28904         At least get the chain function correct, needs more
28905         fixing.
28906
28907 2005-06-25  Wim Taymans  <wim@fluendo.com>
28908
28909         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
28910         (gst_basesink_handle_object), (gst_basesink_event),
28911         (gst_basesink_do_sync), (gst_basesink_handle_event),
28912         (gst_basesink_change_state):
28913         * gst/gsttask.h:
28914         Right, two problems here: ghostpads don't take locks and
28915         glib _rec_mutex_lock_full() with depth==0 still locks.
28916         Catch illegal locking and g_warn them.
28917
28918 2005-06-25  Wim Taymans  <wim@fluendo.com>
28919
28920         * check/states/sinks.c: (START_TEST), (gst_object_suite):
28921         Have to check for completion now...
28922
28923 2005-06-25  Wim Taymans  <wim@fluendo.com>
28924
28925         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
28926         (gst_basesink_handle_object), (gst_basesink_event),
28927         (gst_basesink_do_sync), (gst_basesink_handle_event),
28928         (gst_basesink_change_state):
28929         * gst/gstpad.h:
28930         Unlock STREAM_LOCK whatever the recursion was.
28931
28932 2005-06-25  Wim Taymans  <wim@fluendo.com>
28933
28934         * gst/base/gstbasesink.c: (gst_basesink_set_property),
28935         (gst_basesink_preroll_queue_empty),
28936         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
28937         (gst_basesink_event), (gst_basesink_do_sync),
28938         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
28939         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
28940         (gst_basesink_change_state):
28941         Reworked the base sink, handle event and buffer serialisation
28942         correctly and removed possible deadlock.
28943         Handle EOS correctly.
28944
28945 2005-06-25  Wim Taymans  <wim@fluendo.com>
28946
28947         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
28948         (gst_pipeline_change_state):
28949         * tools/gst-launch.c: (check_intr), (event_loop), (main):
28950         Allow elements to post EOS in the state change function.
28951         Fix up -launch, make it exit the poll loop when the
28952         pipeline actually changed state.
28953         Fix up warning parsing in -launch.
28954
28955 2005-06-25  Wim Taymans  <wim@fluendo.com>
28956
28957         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
28958         (gst_tee_sink_activate):
28959         Core takes STREAM_LOCK for us now.
28960
28961 2005-06-25  Wim Taymans  <wim@fluendo.com>
28962
28963         * gst/gstelement.c: (gst_element_get_state_func),
28964         (gst_element_set_state):
28965         * gst/gstelement.h:
28966         * gst/gstmessage.c: (gst_message_parse_error),
28967         (gst_message_parse_warning):
28968         Keep track of current target state while performing a state
28969         change so that subclasses can do something interesting.
28970         Fix parsing of warning/error messages when GError is NULL.
28971
28972 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
28973
28974         * docs/gst/Makefile.am:
28975         * docs/gst/gstreamer-docs.sgml:
28976         * docs/gst/gstreamer-sections.txt:
28977         * docs/gst/gstreamer.types:
28978         * docs/gst/tmpl/gstbasesink.sgml:
28979         * docs/gst/tmpl/gstbasesrc.sgml:
28980         * docs/gst/tmpl/gstbin.sgml:
28981         * docs/gst/tmpl/gstcompat.sgml:
28982         * docs/gst/tmpl/gstfakesink.sgml:
28983         * docs/gst/tmpl/gstfakesrc.sgml:
28984         * docs/gst/tmpl/gstfilesink.sgml:
28985         * docs/gst/tmpl/gstfilesrc.sgml:
28986         * docs/gst/tmpl/gstindex.sgml:
28987         * docs/manual/appendix-quotes.xml:
28988         * gst/base/gstbasesrc.h:
28989         * gst/elements/gstfakesrc.h:
28990         * gst/gstmessage.h:
28991           start pulling in base classes and elements in our docs
28992
28993 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
28994
28995         * docs/gst/Makefile.am:
28996         * docs/libs/Makefile.am:
28997           fixed make distcheck with gtk-doc 1.3
28998
28999 2005-06-23  Wim Taymans  <wim@fluendo.com>
29000
29001         * gst/gstelement.c: (gst_element_get_state_func),
29002         (gst_element_set_state), (gst_element_change_state):
29003         When the state did not change, also report NO_PREROLL
29004         when it matters.
29005
29006 2005-06-23  Wim Taymans  <wim@fluendo.com>
29007
29008         * gst/gstpad.c: (gst_pad_event_default):
29009         * gst/gstqueue.c: (gst_queue_loop):
29010         No unsafe task pausing please.
29011
29012 2005-06-23  Wim Taymans  <wim@fluendo.com>
29013
29014         * gst/schedulers/threadscheduler.c:
29015         (gst_thread_scheduler_task_start),
29016         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
29017         Ref the task before pushing it on the threadpool. This
29018         makes sure that we have a ref when the threadfunction is
29019         actually called.
29020
29021 2005-06-23  Andy Wingo  <wingo@pobox.com>
29022
29023         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
29024         offset is greater than the file's size.
29025
29026         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
29027         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
29028         * gst/gstobject.c (gst_object_class_init): Make the class lock
29029         recursive. Wim won't let me drop deep_notify. Decodebin works
29030         again, whoopdy doo.
29031
29032         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
29033         internal pad, and hacks accordingly. Doesn't do it on the target
29034         pad because we change its caps. Probably catches all cases of
29035         interest tho.
29036         (gst_ghost_pad_set_property): Connect to notify::caps as
29037         appropritate.
29038
29039         * tests/network-clock.scm (plot-simulation): Pipe data to the
29040         elite python skript.
29041
29042         * tests/network-clock-utils.scm (define-parameter): New macro,
29043         defines a parameter that can be set via the command line.
29044         (set-parameter!, parse-parameter-arguments): Command line args
29045         parser.
29046
29047         * tests/plot-data: Simple matplotlib-based plotter, takes input on
29048         stdin.
29049
29050 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
29051
29052         * gst/elements/gsttypefindelement.c:
29053         (gst_type_find_element_handle_event):
29054           Don't restart typefinding on a discont.
29055         * gst/gstelement.c: (gst_element_set_state):
29056           Debug spelling fix.
29057         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
29058           Allow changing mode of an active pad.
29059           Debug output fixes.
29060         * gst/registries/gstlibxmlregistry.c: (load_feature):
29061           Don't cast a static pad template to a normal pad template.
29062
29063 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
29064
29065         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29066         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29067           remove gst_strtoll completely, since it didn't actually do
29068           anything more than what g_ascii_strtoull already does.
29069           check for range errors when deserializing
29070           do a cast for the unsigned cases; but further fixing needs
29071           a decision on what the interpretation of "(int)" and
29072           deserialization should be for values that fall outside the
29073           type's boundaries (ie, refuse, or interpret as casting)
29074
29075 2005-06-23  Wim Taymans  <wim@fluendo.com>
29076
29077         * check/Makefile.am:
29078         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
29079         * docs/design/part-live-source.txt:
29080         * docs/design/part-states.txt:
29081         * gst/base/gstbasesrc.c: (gst_basesrc_init),
29082         (gst_basesrc_set_live), (gst_basesrc_is_live),
29083         (gst_basesrc_get_range), (gst_basesrc_activate),
29084         (gst_basesrc_change_state):
29085         * gst/base/gstbasesrc.h:
29086         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29087         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29088         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
29089         * gst/gstelement.c: (gst_element_get_state_func),
29090         (gst_element_set_state):
29091         * gst/gstelement.h:
29092         * gst/gsttypes.h:
29093         * tools/gst-launch.c: (event_loop), (main):
29094         Added support for live sources and other elements that
29095         cannot do preroll.
29096         Updated design docs, added live-source design doc.
29097         Implemented live source functionality in basesrc
29098         Fix error condition in _bin_get_state()
29099         Implement live source handling in -launch.
29100         Added check for live sources.
29101         Fixed case in GstBin where elements were changed state
29102         multiple times.
29103
29104
29105 2005-06-23  Andy Wingo  <wingo@pobox.com>
29106
29107         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
29108         borken refcounting.
29109
29110         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
29111         gst_caps_replace takes care of this for us.
29112
29113         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
29114         gst_pad_set_caps on the target, not just its setcaps() function.
29115
29116         * tests/network-clock.scm: 
29117         * tests/network-clock-utils.scm: A network clock simulator.
29118         Something of an algorithmic testbed before doing something in C.
29119
29120 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29121
29122         * check/Makefile.am:
29123         * check/gst/capslist.h:
29124           copy over from 0.8, and add two with bitmasks specified with
29125           (int) 0xFF...
29126         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29127           add test to parse everything from capslist.h
29128         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
29129         (main):
29130           add test for structure deserialization
29131         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29132           add tests for deserialization of strings to int types
29133         * gst/gststructure.c: (gst_structure_nth_field_name):
29134         * gst/gststructure.h:
29135           add a way to get the name of a field referenced by index
29136         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29137           instead of checking if the resulting long long lies between
29138           min and max, we check if the long long would fit into
29139           a number of bytes for the final type.
29140           This fixes cases where a string represents 2^32 - 1, which
29141           when cast to int would be the (valid) -1, but is bigger than
29142           G_MAXINT
29143
29144 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29145
29146         * gst/parse/grammar.y:
29147           add a log line for type deserialization
29148
29149 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29150
29151         * check/gst/gstvalue.c: (START_TEST):
29152         * gst/gstvalue.c: (gst_value_deserialize):
29153           return long long, not int, so gint64 deserialization actually
29154           works.  Is there any flag that makes the compiler check this ?
29155           Fixes #308559
29156
29157 2005-06-22  Wim Taymans  <wim@fluendo.com>
29158
29159         * gst/gstbuffer.h:
29160         Added convenience macros for setting buffers in GValue.
29161
29162 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29163
29164         * check/gst/.cvsignore:
29165         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29166           add a test deserializing int64, and comment part out because
29167           it fails, yay !
29168
29169 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29170
29171         * check/Makefile.am:
29172         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
29173         * testsuite/Makefile.am:
29174         * testsuite/caps/Makefile.am:
29175         * testsuite/caps/value_serialize.c:
29176         * testsuite/test_gst_init.c:
29177           move a value_serialize test over
29178
29179 2005-06-20  Wim Taymans  <wim@fluendo.com>
29180
29181         * gst/gstpad.c:
29182         Small doc updates.
29183         
29184         * gst/gstvalue.c: (gst_value_compare_buffer),
29185         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
29186         (gst_value_compare_flags), (gst_value_serialize_flags),
29187         (gst_value_deserialize_flags), (_gst_value_initialize):
29188         Fix serialisation of buffers, they are not boxed types anymore
29189
29190 2005-06-20  Wim Taymans  <wim@fluendo.com>
29191
29192         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29193         Testcase to show error in buffer-on-caps serialisation.
29194
29195 2005-06-20  Andy Wingo  <wingo@pobox.com>
29196
29197         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
29198         will be adding to later.
29199
29200         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
29201         if its socks fill with rocks.
29202         (gst_system_clock_obtain): Set the name on object construction.
29203         Avoid double-checked locking.
29204
29205 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
29206
29207         * gst/gsturi.c: (gst_element_make_from_uri):
29208           Fix potential endless loop.
29209
29210 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29211
29212         * check/Makefile.am:
29213           add gsttag
29214         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
29215         (main):
29216           move over from testsuite dir and clean up
29217         * configure.ac:
29218         * gst/gsttag.c:
29219         * testsuite/Makefile.am:
29220         * testsuite/tags/.cvsignore:
29221         * testsuite/tags/Makefile.am:
29222         * testsuite/tags/merge.c:
29223           remove testsuite/tags
29224
29225 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29226
29227         * docs/gst/gstreamer-sections.txt:
29228         * docs/gst/tmpl/gstenumtypes.sgml:
29229         * win32/gstenumtypes.c:
29230           clean up documentation build a little
29231
29232 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29233
29234         * check/gstcheck.h:
29235           add macros for checking refcounts on objects and caps
29236         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
29237           add some more unit tests
29238         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
29239         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
29240           fix leaked refcounts (I hope :)) so unittest works
29241         * gst/gstpad.h:
29242           whitespace removal
29243
29244 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29245
29246         * configure.ac: back to HEAD
29247
29248 === release 0.9.1 ===
29249
29250 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
29251
29252         * NEWS:
29253         * RELEASE:
29254           updated
29255
29256 2005-06-17  Andy Wingo  <wingo@pobox.com>
29257
29258         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
29259         assert; it's always possible that the pad gets deactivated in
29260         between the checks in gstpad.c and the implementation. Rely on
29261         finish_preroll() to return a FLUSHING or similar instead of on the
29262         assert.
29263         
29264         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
29265         clock and post an EOS message if we come out of finish_preroll in
29266         the playing state.
29267
29268 2005-06-16  David Schleef  <ds@schleef.org>
29269
29270         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
29271         (gst_capsfilter_set_property): Allow NULL as possible value
29272         for filter_caps property, indicating GST_CAPS_ANY.
29273
29274 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29275
29276         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
29277           fix debug output
29278         * gst/schedulers/Makefile.am:
29279           use libgst prefix
29280         * gstreamer.spec.in:
29281           fix spec for it
29282
29283 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29284
29285         * gstreamer.spec.in:
29286           clean up
29287
29288 2005-06-08  Andy Wingo  <wingo@pobox.com>
29289
29290         * gst/gstutils.c: RPAD fixes all around.
29291         (gst_element_link_pads): Refcounting fixes.
29292
29293         * tools/gst-inspect.c:
29294         * tools/gst-xmlinspect.c:
29295         * parse/grammar.y:
29296         * gst/base/gsttypefindhelper.c:
29297         * gst/base/gstbasesink.c:
29298         * gst/gstqueue.c: RPAD fixes.
29299
29300         * gst/gstghostpad.h:
29301         * gst/gstghostpad.c: New ghost pad implementation as full proxy
29302         pads. The tricky thing is they provide both source and sink
29303         interfaces, since they proxy the internal pad for the external
29304         pad, and vice versa. Implement with lower-level ProxyPad objects,
29305         with the interior proxy pad as a child of the exterior ghost pad.
29306         Should write a doc on this.
29307         
29308         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
29309         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
29310         gst_object API.
29311         
29312         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
29313         pads are real pads. No ghost pads in this file. Not documenting
29314         the myriad s/RPAD/PAD/ and REALIZE fixes.
29315         (gst_pad_class_init): Add properties for "direction" and
29316         "template". Both are construct-only, so they can't change during
29317         the life of the pad. Fixes properly deriving from GstPad.
29318         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
29319         derived objects, just set properties when creating the objects via
29320         g_object_new.
29321         (gst_pad_get_parent): Implement as a function, return NULL if the
29322         parent is not an element.
29323         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
29324         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
29325         
29326         * gst/gstobject.c (gst_object_class_init): Make name a construct
29327         property. Don't set it in the object init.
29328
29329         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
29330         with UNKNOWN direction.
29331         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
29332         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
29333         (gst_element_remove_pad): Remove ghost-pad special cases.
29334         (gst_element_pads_activate): Remove rpad cruft.
29335
29336         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
29337         catch the pad's-parent-not-an-element case.
29338
29339         * gst/gst.h: Include gstghostpad.h.
29340
29341         * gst/gst.c (init_post): No more real, ghost pads.
29342
29343         * gst/Makefile.am: Add gstghostpad.[ch].
29344
29345         * check/Makefile.am:
29346         * check/gst/gstbin.c:
29347         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
29348         into a bin creates ghost pads, and that the refcounts are right.
29349         Partly moved from gstbin.c.
29350
29351 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29352
29353         * check/gst-libs/.cvsignore:
29354         * check/gst/.cvsignore:
29355         * check/pipelines/.cvsignore:
29356           ignore more
29357         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29358         (START_TEST), (cleanup_suite), (main):
29359           add some tests related to cleanup after running pipelines
29360
29361 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29362
29363         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29364           add a testsuite for GstBuffer
29365
29366 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29367
29368         * gst/gstminiobject.h:
29369           add defines for accessing the refcount
29370
29371 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
29372
29373         * Makefile.am: added support for html unit test coverage reports
29374
29375 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
29376
29377         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
29378           Free existing caps if the capsfilter changes. Add a FIXME about
29379           setting those caps on the pads.
29380
29381         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
29382           Before adding a ghost pad to a parent bin, check that there isn't
29383           already one for the element on the bin. Prevents infinite recursion
29384           when using decodebin in parse pipelines. Andy says he'll rewrite the
29385           way this works anyway, so ignore the hack.
29386
29387 2005-06-02  Andy Wingo  <wingo@pobox.com>
29388
29389         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
29390         file size, pass it on to the type find helper.
29391
29392         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
29393         segment_start and segment_end properly according to the seek
29394         method. Segment_end is still a bit flaky because offset can be
29395         negative for CUR and END cases, but it takes -1 as an "unset"
29396         value.
29397
29398 2005-06-02  Wim Taymans  <wim@fluendo.com>
29399
29400         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
29401         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
29402         (gst_basesink_activate):
29403         * gst/base/gstbasesink.h:
29404         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29405         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29406         (gst_pad_query), (gst_pad_start_task):
29407         * gst/gstpad.h:
29408         * gst/gstqueue.c: (gst_queue_bufferalloc),
29409         (gst_queue_handle_sink_event), (gst_queue_chain):
29410         Bufferalloc: return GstFlowReturn to more accuratly report
29411         why allocation failed.
29412
29413 2005-06-02  Wim Taymans  <wim@fluendo.com>
29414
29415         * gst/gstpipeline.c: (gst_pipeline_send_event):
29416         Take snapshot of state without blocking.
29417
29418 2005-06-02  Wim Taymans  <wim@fluendo.com>
29419
29420         * docs/design/part-TODO.txt:
29421         * docs/design/part-caps.txt:
29422         * docs/design/part-clocks.txt:
29423         * docs/design/part-negotiation.txt:
29424         * docs/design/part-preroll.txt:
29425         Small doc updates 
29426
29427 2005-05-30  Wim Taymans  <wim@fluendo.com>
29428
29429         * gst/elements/gstidentity.c: (gst_identity_event),
29430         (gst_identity_transform), (gst_identity_get_property):
29431         Protect last_message property as it is accessed from
29432         multiple threads.
29433
29434 2005-05-30  Wim Taymans  <wim@fluendo.com>
29435
29436         * gst/gstelement.c: (gst_element_init),
29437         (gst_element_pads_activate), (gst_element_change_state):
29438         Slicker pad activation code.
29439
29440 2005-05-30  Wim Taymans  <wim@fluendo.com>
29441
29442         * gst/Makefile.am:
29443         * gst/gstelement.h:
29444         * gst/gstelementfactory.h:
29445         * gst/gsttypes.h:
29446         Move elementfactory methods to separate .h file.
29447
29448 2005-05-30  Wim Taymans  <wim@fluendo.com>
29449
29450         * docs/design/part-overview.txt:
29451         * gst/gstsystemclock.h:
29452         Small typo fixes, doc updates.
29453
29454 2005-05-30  Wim Taymans  <wim@fluendo.com>
29455
29456         * gst/gst.c: (gst_init_get_popt_table), (init_post),
29457         (init_popt_callback):
29458         Remove cpu-opt flag.
29459
29460 2005-05-30  Wim Taymans  <wim@fluendo.com>
29461
29462         * gst/gstbuffer.c: (gst_subbuffer_finalize),
29463         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
29464         * gst/gstbuffer.h:
29465         Avoid typechecking in places where not needed.
29466         Added accessor for malloc_data.
29467
29468 2005-05-30  Wim Taymans  <wim@fluendo.com>
29469
29470         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
29471         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
29472         (gst_pad_configure_sink), (gst_pad_configure_src),
29473         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
29474         (gst_pad_start_task):
29475         Propagate errors from _set_caps() in configure_src/sink
29476         functions instead of returning TRUE.
29477         FLUSH events can travel up and downstream
29478
29479
29480 2005-05-30  Wim Taymans  <wim@fluendo.com>
29481
29482         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29483         (gst_basesink_activate):
29484         Handle EOS in preroll.
29485
29486 2005-05-30  Wim Taymans  <wim@fluendo.com>
29487
29488         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29489         (gst_queue_loop), (gst_queue_handle_src_event):
29490         Remove old pieces of code
29491         Flushing the queue in an upstream event is a very bad idea.
29492
29493 2005-05-26  Andy Wingo  <wingo@pobox.com>
29494
29495         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
29496         gst_value_set_mini_object so as to add a ref on the object (which
29497         will be removed when the value is unset).
29498
29499         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
29500         arg type in ::handoff.
29501
29502         * gst/gstelement.c (gst_element_change_state): Also deactivate
29503         pads in READY->NULL, just in case the element didn't make it to
29504         PAUSED. Wingo tested, Wim approved.
29505
29506 2005-05-26  Wim Taymans  <wim@fluendo.com>
29507
29508         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29509         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29510         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
29511         A flushing pad cannot be used to alloc_buffer from.
29512
29513 2005-05-26  Wim Taymans  <wim@fluendo.com>
29514
29515         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
29516         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
29517         (gst_bus_source_dispatch), (gst_bus_source_finalize),
29518         (gst_bus_create_watch), (gst_bus_add_watch_full):
29519         * gst/gstbus.h:
29520         Implement a real GSource and use g_main_context_wakeup() to
29521         signal new messages instead of the socketpair.
29522
29523 2005-05-25  Wim Taymans  <wim@fluendo.com>
29524
29525         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
29526         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
29527         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29528         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29529         (gst_pad_send_event), (gst_pad_start_task):
29530         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
29531         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
29532         (gst_queue_sink_activate), (gst_queue_src_activate),
29533         (gst_queue_change_state):
29534         * gst/gstqueue.h:
29535         Fix state changes for non sinks. We now change sinks, then elements
29536         with unconnected srcpads, then the rest.
29537         More efficient queue unlocking in flush and state changes.
29538         Set the pad activate mode even if it does not have an activate
29539         function.
29540
29541 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29542
29543         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
29544           Don't go in pull mode for non-seekable sources.
29545         * gst/elements/gsttypefindelement.h:
29546         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29547         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
29548         (free_entry), (stop_typefinding),
29549         (gst_type_find_element_handle_event), (find_peek),
29550         (gst_type_find_element_chain), (do_pull_typefind),
29551         (gst_type_find_element_change_state):
29552           Allow typefinding (w/o seeking) in push-mode, simplified version
29553           of what was in 0.8.
29554         * gst/gstutils.c: (gst_buffer_join):
29555         * gst/gstutils.h:
29556           gst_buffer_join() from 0.8.
29557
29558 2005-05-25  Wim Taymans  <wim@fluendo.com>
29559
29560         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29561         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29562         (gst_pad_send_event), (gst_pad_start_task):
29563         Disable attempt at mode switching until it is figured out.
29564
29565 2005-05-25  Wim Taymans  <wim@fluendo.com>
29566
29567         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
29568         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29569         (gst_basesink_finish_preroll), (gst_basesink_chain),
29570         (gst_basesink_loop), (gst_basesink_activate),
29571         (gst_basesink_change_state):
29572         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
29573         (gst_basesrc_get_range), (gst_basesrc_loop),
29574         (gst_basesrc_activate):
29575         * gst/elements/gsttee.c: (gst_tee_sink_activate):
29576         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
29577         (gst_real_pad_init), (gst_real_pad_set_property),
29578         (gst_real_pad_get_property), (gst_pad_set_active),
29579         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
29580         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
29581         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
29582         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
29583         (gst_pad_event_default_dispatch), (gst_pad_event_default),
29584         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
29585         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
29586         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
29587         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
29588         (gst_pad_stop_task):
29589         * gst/gstpad.h:
29590         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29591         (gst_queue_loop), (gst_queue_src_activate):
29592         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
29593         (gst_task_get_state):
29594         * gst/gsttask.h:
29595         * gst/schedulers/threadscheduler.c:
29596         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
29597         Implement gst_pad_pause/start/stop_task(), take STREAM lock
29598         in task function.
29599         Remove ACTIVE pad flag, use FLUSHING everywhere
29600         Added _pad_chain(), _pad_get_range() to call chain/getrange 
29601         functions.
29602         Add locks around IS_FLUSHING when reading.
29603         Take STREAM lock in chain(), get_range() functions so plugins
29604         don't need to take it anymore.
29605         
29606
29607
29608 2005-05-25  Wim Taymans  <wim@fluendo.com>
29609
29610         * tools/gst-launch.c: (event_loop):
29611         Unref message after using its contents instead of
29612         before.
29613
29614 2005-05-24  Wim Taymans  <wim@fluendo.com>
29615
29616         * docs/design/draft-ghostpads.txt:
29617         * docs/design/draft-push-pull.txt:
29618         * docs/design/draft-query.txt:
29619         * docs/design/part-overview.txt:
29620         Docs updates, added general overview doc.
29621
29622 2005-05-21  David Schleef  <ds@schleef.org>
29623
29624         * docs/gst/tmpl/old/GstBin.sgml:
29625         * docs/gst/tmpl/old/GstBuffer.sgml:
29626         * docs/gst/tmpl/old/GstCaps.sgml:
29627         * docs/gst/tmpl/old/GstClock.sgml:
29628         * docs/gst/tmpl/old/GstCompat.sgml:
29629         * docs/gst/tmpl/old/GstData.sgml:
29630         * docs/gst/tmpl/old/GstElement.sgml:
29631         * docs/gst/tmpl/old/GstEvent.sgml:
29632         * docs/gst/tmpl/old/GstIndex.sgml:
29633         * docs/gst/tmpl/old/GstStructure.sgml:
29634         * docs/gst/tmpl/old/GstTag.sgml:
29635         * docs/gst/tmpl/old/cothreads.sgml:
29636         * docs/gst/tmpl/old/cothreads_compat.sgml:
29637         * docs/gst/tmpl/old/gettext.sgml:
29638         * docs/gst/tmpl/old/gobject2gtk.sgml:
29639         * docs/gst/tmpl/old/grammar.tab.sgml:
29640         * docs/gst/tmpl/old/gst-i18n-app.sgml:
29641         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
29642         * docs/gst/tmpl/old/gst_private.sgml:
29643         * docs/gst/tmpl/old/gstaggregator.sgml:
29644         * docs/gst/tmpl/old/gstarch.sgml:
29645         * docs/gst/tmpl/old/gstatomic_impl.sgml:
29646         * docs/gst/tmpl/old/gstbufferstore.sgml:
29647         * docs/gst/tmpl/old/gstdata_private.sgml:
29648         * docs/gst/tmpl/old/gstdisksink.sgml:
29649         * docs/gst/tmpl/old/gstdisksrc.sgml:
29650         * docs/gst/tmpl/old/gstelementfactory.sgml:
29651         * docs/gst/tmpl/old/gstextratypes.sgml:
29652         * docs/gst/tmpl/old/gstfakesink.sgml:
29653         * docs/gst/tmpl/old/gstfakesrc.sgml:
29654         * docs/gst/tmpl/old/gstfdsink.sgml:
29655         * docs/gst/tmpl/old/gstfdsrc.sgml:
29656         * docs/gst/tmpl/old/gstfilesink.sgml:
29657         * docs/gst/tmpl/old/gstfilesrc.sgml:
29658         * docs/gst/tmpl/old/gsthttpsrc.sgml:
29659         * docs/gst/tmpl/old/gstidentity.sgml:
29660         * docs/gst/tmpl/old/gstindexfactory.sgml:
29661         * docs/gst/tmpl/old/gstmarshal.sgml:
29662         * docs/gst/tmpl/old/gstmd5sink.sgml:
29663         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
29664         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
29665         * docs/gst/tmpl/old/gstpadtemplate.sgml:
29666         * docs/gst/tmpl/old/gstpipefilter.sgml:
29667         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
29668         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
29669         * docs/gst/tmpl/old/gstshaper.sgml:
29670         * docs/gst/tmpl/old/gstspider.sgml:
29671         * docs/gst/tmpl/old/gstspideridentity.sgml:
29672         * docs/gst/tmpl/old/gststatistics.sgml:
29673         * docs/gst/tmpl/old/gsttee.sgml:
29674         * docs/gst/tmpl/old/gsttimecache.sgml:
29675         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
29676         * docs/gst/tmpl/old/gstxmlregistry.sgml:
29677         * docs/gst/tmpl/old/gthread-cothreads.sgml:
29678         * docs/gst/tmpl/old/types.sgml:
29679           I didn't intend to add these or check them in.
29680
29681 2005-05-19  David Schleef  <ds@schleef.org>
29682
29683         * configure.ac: Use -no-common everywhere.  In a sane world, it
29684           would be the default in libtool, because without it, you can't
29685           build DLLs on Windows.
29686         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
29687         * docs/gst/gstreamer-sections.txt:
29688         * docs/gst/tmpl/gstcpu.sgml:
29689         * docs/gst/tmpl/gstdata.sgml:
29690         * docs/gst/tmpl/gstthread.sgml:
29691
29692 2005-05-19  David Schleef  <ds@schleef.org>
29693
29694         * gst/gstminiobject.c: (gst_value_set_mini_object),
29695         (gst_value_take_mini_object), (gst_value_get_mini_object):
29696         * gst/gstminiobject.h: Add GValue set/get functions.
29697
29698 2005-05-19  Wim Taymans  <wim@fluendo.com>
29699
29700         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
29701         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
29702         (gst_subbuffer_init), (gst_buffer_is_span_fast):
29703         * gst/gstbuffer.h:
29704         * gst/gstbus.c: (gst_bus_post):
29705         * gst/gstelement.c: (gst_element_get_random_pad):
29706         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
29707         Make subbufer unref the parent in finalize.
29708         some more debugging info.
29709
29710
29711 2005-05-19  Wim Taymans  <wim@fluendo.com>
29712
29713         * gst/base/gstbasesink.c: (gst_basesink_class_init),
29714         (gst_basesink_init), (gst_basesink_finalize),
29715         (gst_basesink_activate), (gst_basesink_change_state):
29716         Don't free preroll queue too early.
29717
29718 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29719
29720         * gst/Makefile.am:
29721         * gst/ROADMAP:
29722           Hi, I'm outdated. Please shoot me.
29723
29724 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29725
29726         * gst/gstpipeline.c: (gst_pipeline_send_event):
29727           Do not access variables after they have been deleted.
29728
29729 2005-05-19  Wim Taymans  <wim@fluendo.com>
29730
29731         * tools/gst-inspect.c: (print_plugin_features):
29732         A plugin feature does unfortunatly not use the
29733         object name yet...
29734
29735 2005-05-18  Wim Taymans  <wim@fluendo.com>
29736
29737         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
29738         Port _span() functions to new subbuffers.
29739
29740 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29741
29742         * gst/gstbin.c: (gst_bin_add_func):
29743           Fix clock settery in bins when adding kids after the clock has
29744           been selected.
29745
29746 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29747
29748         * gst/elements/gstidentity.c: (gst_identity_class_init):
29749           Workaround until signals support GstMiniObject.
29750
29751 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
29752
29753         * gst/gstbuffer.c:
29754         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
29755
29756 2005-05-18  Wim Taymans  <wim@fluendo.com>
29757
29758         * gst/base/Makefile.am:
29759         * gst/base/gstadapter.c: (gst_adapter_base_init),
29760         (gst_adapter_class_init), (gst_adapter_init),
29761         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
29762         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
29763         (gst_adapter_flush), (gst_adapter_available),
29764         (gst_adapter_available_fast):
29765         * gst/base/gstadapter.h:
29766         Ported and added adapter to the base classes.
29767
29768 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
29769
29770         * gst/gst.c:
29771         * gst/gstmessage.c:
29772           Make sure the class is reffed/unreffed once before threads can be
29773           used.  Fixes #304551.
29774
29775 2005-05-17  Wim Taymans  <wim@fluendo.com>
29776
29777         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
29778         (gst_basesink_chain_unlocked), (gst_basesink_activate):
29779         * gst/gstminiobject.c: (gst_mini_object_get_type),
29780         (gst_mini_object_free):
29781         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
29782         (gst_pad_push), (gst_pad_push_event):
29783         * gst/gstqueue.c: (gst_queue_change_state):
29784         Don't queue buffers in basesink when we are flushing.
29785         Unref buffer when flushing in basesink.
29786         Flush queue when going to READY
29787         Unref buffer when _push() returns an error.
29788         Don't free MiniObject instance when refcount is incremented
29789         in _finalize() so that we can recover objects.
29790
29791 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
29792
29793         * docs/manual/advanced-schedulers.xml:
29794         * docs/manual/appendix-checklist.xml:
29795         * docs/pwg/advanced-clock.xml:
29796         * docs/pwg/advanced-interfaces.xml:
29797         * docs/pwg/advanced-request.xml:
29798         * docs/pwg/advanced-types.xml:
29799         * docs/pwg/intro-preface.xml:
29800         * examples/plugins/example.c: (gst_example_get_type),
29801         (gst_example_class_init), (gst_example_chain),
29802         (gst_example_set_property), (gst_example_get_property),
29803         (gst_example_change_state), (plugin_init):
29804         * examples/plugins/example.h:
29805           small doc fixes
29806
29807 2005-05-17  Wim Taymans  <wim@fluendo.com>
29808
29809         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
29810         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
29811         * gst/gstqueue.c: (gst_queue_change_state):
29812         Clear queue when going to READY.
29813         Remove IN_SETCAPS flag too.
29814
29815 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
29816
29817         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
29818           Remove implicit cast from gboolean to GstElementStateReturn;
29819           make sure we still return failure in paused => ready case if
29820           the parent class fails to change state and our own stop 
29821           vfunc succeeds.
29822
29823 2005-05-17  Wim Taymans  <wim@fluendo.com>
29824
29825         * tools/gst-launch.c: (event_loop):
29826         Message was unreffed too soon.
29827
29828 2005-05-16  Andy Wingo  <wingo@pobox.com>
29829
29830         * gst/gstbin.c (sink_iterator_filter): Err... um...
29831
29832         * check/gst/gstbin.c (test_ghost_pads): New test for the
29833         ghosting-if-elements-not-in-same-bin behavior.
29834
29835 2005-05-16  David Schleef  <ds@schleef.org>
29836
29837         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
29838         accessing refcount directly.
29839
29840 2005-05-15  David Schleef  <ds@schleef.org>
29841
29842         * check/Makefile.am: remove GstData checks
29843         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
29844         * gst/Makefile.am: add miniobject, remove data
29845         * gst/gst.h: add miniobject, remove data
29846         * gst/gstdata.c: remove
29847         * gst/gstdata.h: remove
29848         * gst/gstdata_private.h: remove
29849         * gst/gsttypes.h: remove GstEvent and GstMessage
29850         * gst/gstelement.c: (gst_element_post_message): fix for API changes
29851         * gst/gstmarshal.list: change BOXED -> OBJECT
29852
29853         Implement GstMiniObject.
29854         * gst/gstminiobject.c:
29855         * gst/gstminiobject.h:
29856
29857         Modify to be subclasses of GstMiniObject.
29858         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
29859         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
29860         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
29861         (gst_subbuffer_get_type), (gst_subbuffer_init),
29862         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
29863         (gst_buffer_span):
29864         * gst/gstbuffer.h:
29865         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
29866         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
29867         (_gst_event_copy), (gst_event_new):
29868         * gst/gstevent.h:
29869         * gst/gstmessage.c: (_gst_message_initialize),
29870         (gst_message_get_type), (gst_message_class_init),
29871         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
29872         (gst_message_new), (gst_message_new_error),
29873         (gst_message_new_warning), (gst_message_new_tag),
29874         (gst_message_new_state_changed), (gst_message_new_application):
29875         * gst/gstmessage.h:
29876         * gst/gstprobe.c: (gst_probe_perform),
29877         (gst_probe_dispatcher_dispatch):
29878         * gst/gstprobe.h:
29879         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
29880         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
29881         (_gst_query_copy), (gst_query_new):
29882
29883         Update elements for GstData -> GstMiniObject changes
29884         * gst/gstquery.h:
29885         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
29886         (gst_queue_chain), (gst_queue_loop):
29887         * gst/elements/gstbufferstore.c:
29888         (gst_buffer_store_add_buffer_func),
29889         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
29890         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
29891         (gst_fakesink_render):
29892         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
29893         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
29894         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
29895         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
29896         (gst_filesrc_create_read):
29897         * gst/elements/gstidentity.c: (gst_identity_class_init):
29898         * gst/elements/gsttypefindelement.c:
29899         (gst_type_find_element_src_event), (free_entry_buffers),
29900         (gst_type_find_element_handle_event):
29901         * libs/gst/dataprotocol/dataprotocol.c:
29902         (gst_dp_header_from_buffer):
29903         * libs/gst/dataprotocol/dataprotocol.h:
29904         * libs/gst/dataprotocol/dp-private.h:
29905
29906 2005-05-15  David Schleef  <ds@schleef.org>
29907
29908         * gst/elements/gstelements.c: Don't include headers that were
29909         just removed.
29910
29911 2005-05-15  David Schleef  <ds@schleef.org>
29912
29913         * gst/elements/Makefile.am: Remove some elements that don't
29914         need to be in the core (or even exist at all).
29915         * gst/elements/gstaggregator.c:
29916         * gst/elements/gstaggregator.h:
29917         * gst/elements/gstmd5sink.c:
29918         * gst/elements/gstmd5sink.h:
29919         * gst/elements/gstmultifilesrc.c:
29920         * gst/elements/gstmultifilesrc.h:
29921         * gst/elements/gstpipefilter.c:
29922         * gst/elements/gstpipefilter.h:
29923         * gst/elements/gstshaper.c:
29924         * gst/elements/gstshaper.h:
29925         * gst/elements/gststatistics.c:
29926         * gst/elements/gststatistics.h:
29927         * po/POTFILES.in: Remove above files.
29928
29929 2005-05-14  Andy Wingo  <wingo@pobox.com>
29930
29931         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
29932         so as to get the refs right.
29933         (sink_iterator_filter): New function, wraps bin_element_is_sink,
29934         unreffing objects that don't pass the filter.
29935
29936         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
29937         gst_element_set_bus.
29938         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
29939         normal cases, this will destroy the bus.
29940
29941         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
29942         object.
29943
29944         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
29945         has no sinks.
29946
29947 2005-05-13  Andy Wingo  <wingo@pobox.com>
29948
29949         * gst/gstutils.c (gst_element_link_pads): Instead of calling
29950         gst_pad_link, call pad_link_maybe_ghosting,
29951         (pad_link_maybe_ghosting): Links pads, making sure that the
29952         elements being linked are in the same bin.
29953         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
29954         Helpers for pad_link_maybe_ghosting.
29955
29956 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
29957
29958         * configure.ac:
29959           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
29960
29961 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
29962
29963         * docs/design/part-element-source.txt:
29964           Mention GstPushSrc
29965
29966 2005-05-12  Wim Taymans  <wim@fluendo.com>
29967
29968         * gst/base/gstbasesink.c: (gst_basesink_init),
29969         (gst_basesink_activate):
29970         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
29971         (gst_basesrc_is_seekable):
29972         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
29973         (bin_element_is_sink), (gst_bin_change_state):
29974         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
29975         * gst/gstelement.h:
29976         Identify sinks by their flag to avoid overly complicated
29977         checks (fow now).
29978         Do state changes even for elements not reachable from the
29979         sinks.
29980         BaseSink is a sink now :)
29981         Some more debugging info in the basesrc.
29982
29983
29984 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29985
29986         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
29987           Implement _query on a bin, similar to _send_event.
29988
29989 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
29990
29991         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
29992           Discont event offset format should be GST_FORMAT_BYTES,
29993           not GST_FORMAT_TIME.
29994
29995 2005-05-12  Wim Taymans  <wim@fluendo.com>
29996
29997         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
29998         Same fix as Ronald's but without the signal. 
29999
30000 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30001
30002         * gst/gstutils.c: (gst_element_query_position):
30003           No, an element is not a pad.
30004
30005 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30006
30007         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
30008         (gst_bin_get_state):
30009           If a child is removed from a bin while we remove the child from
30010           the bin and while we're retrieving its state, signal this to the
30011           get_state function so we abort the wait (instead of waiting for
30012           a timeout) and can immediately re-iterate over all other elements.
30013
30014 2005-05-12  Wim Taymans  <wim@fluendo.com>
30015
30016         * gst/base/Makefile.am:
30017         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
30018         (gst_basesrc_start):
30019         * gst/base/gstbasesrc.h:
30020         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
30021         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
30022         (gst_pushsrc_init), (gst_pushsrc_create):
30023         * gst/base/gstpushsrc.h:
30024         Added is_seekable to BaseSrc
30025         Added simple PushSrc.
30026
30027 2005-05-11  Wim Taymans  <wim@fluendo.com>
30028
30029         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30030         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30031         (gst_element_link_pads), (gst_element_query_position),
30032         (gst_element_query_convert), (intersect_caps_func),
30033         (gst_pad_query_position), (gst_pad_query_convert):
30034         Fix refcounting in utils function.
30035         No point in trying to activate a pad when it's added, it could
30036         be added from the state change function and then we deadlock, the
30037         element has to decide what to do.
30038
30039 2005-05-10  Andy Wingo  <wingo@pobox.com>
30040
30041         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
30042         *all* the arguments.
30043
30044         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
30045         stream lock if it's a FLUSH_DONE; normal flushes don't get the
30046         lock (according to the docs -- if this is wrong change the docs).
30047
30048         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
30049         flush messages in the NULL state.
30050
30051         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
30052         message immediately and return.
30053         (gst_bus_set_flushing): New function. If a bus is flushing, it
30054         flushes out any queued messages and immediately unrefs new
30055         messages. This is so when an element goes to NULL, all of the
30056         unhandled messages coming from it can be freed, and their
30057         references to the element dropped. In other words: message source
30058         ref considered harmful :P
30059
30060         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
30061         we're finished with it.
30062
30063         * gst/gstmessage.c (gst_message_new_state_changed): 
30064
30065 2005-05-10  Wim Taymans  <wim@fluendo.com>
30066
30067         * gst/gstvalue.c: (gst_value_compare_flags),
30068         (gst_value_serialize_flags), (gst_value_deserialize_flags),
30069         (_gst_value_initialize):
30070         Added flags serialize/deserialize/compare code.
30071
30072 2005-05-09  Andy Wingo  <wingo@pobox.com>
30073
30074         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
30075         Intersect the peer's caps with our caps.
30076
30077 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30078
30079         * gst/base/gsttypefindhelper.c: (helper_find_peek):
30080         * gst/elements/gsttypefindelement.c: (find_peek):
30081           Handle negative offsets better. Fixes decodebin.
30082
30083 2005-05-09  Wim Taymans  <wim@fluendo.com>
30084
30085         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
30086         (gst_base_transform_event):
30087         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
30088         Implement accept_caps.
30089         Fix silly lock/unlock mismatch in base class.
30090
30091 2005-05-09  Wim Taymans  <wim@fluendo.com>
30092
30093         * docs/design/draft-push-pull.txt:
30094         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
30095         * gst/elements/gstfilesink.c: (gst_filesink_init),
30096         (gst_filesink_query):
30097         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30098         (gst_type_find_handle_src_query), (find_element_get_length):
30099         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
30100         * gst/gstelement.h:
30101         * gst/gstmessage.c:
30102         * gst/gstmessage.h:
30103         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
30104         (gst_real_pad_get_caps_unlocked),
30105         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
30106         (gst_pad_event_default_dispatch), (gst_pad_event_default),
30107         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
30108         (gst_real_pad_dispose), (gst_real_pad_finalize),
30109         (gst_pad_load_and_link), (gst_pad_save_thyself),
30110         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
30111         (gst_pad_check_pull_range), (gst_pad_pull_range),
30112         (gst_pad_template_get_type), (gst_pad_template_class_init),
30113         (gst_pad_template_init), (gst_pad_template_dispose),
30114         (name_is_valid), (gst_static_pad_template_get),
30115         (gst_pad_template_new), (gst_static_pad_template_get_caps),
30116         (gst_pad_template_get_caps), (gst_pad_set_element_private),
30117         (gst_pad_get_element_private), (gst_pad_start_task),
30118         (gst_pad_pause_task), (gst_pad_stop_task),
30119         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
30120         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
30121         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
30122         (gst_ghost_pad_new):
30123         * gst/gstpad.h:
30124         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
30125         (gst_query_new_position), (gst_query_set_position),
30126         (gst_query_parse_position), (gst_query_new_convert),
30127         (gst_query_set_convert), (gst_query_parse_convert):
30128         * gst/gstquery.h:
30129         * gst/gstqueryutils.c:
30130         * gst/gstqueryutils.h:
30131         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30132         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30133         (gst_queue_handle_src_query):
30134         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30135         (gst_element_query_position), (gst_element_query_convert),
30136         (intersect_caps_func), (gst_pad_query_position),
30137         (gst_pad_query_convert):
30138         * gst/gstutils.h:
30139         * tools/gst-inspect.c: (print_pad_info):
30140         * tools/gst-xmlinspect.c: (print_element_info):
30141         Remove old query functions. Ported old code.
30142         Added position/convert helper functions to gstutils.
30143         Reordered gstpad.c code, grouping relevant things.
30144         Remove gst_message_new(), always need to speficy a specific
30145         message.
30146
30147
30148 2005-05-09  Andy Wingo  <wingo@pobox.com>
30149
30150         * gst/gstiterator.h: Add some includes.
30151
30152         * gst/gstqueryutils.h: Include more headers.
30153
30154         * gst/gstpad.h:
30155         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
30156         some uses of gst_pad_query.
30157
30158         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
30159         NULL out parameters.
30160         (gst_query_new_position): New proc, allocates a new position
30161         query.
30162
30163         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
30164         gstqueryutils.c to the build.
30165
30166         * gst/gststructure.c (gst_structure_set_valist): Implement with
30167         the generic G_VALUE_COLLECT.
30168         
30169 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
30170
30171         * gst/Makefile.am: (gst_headers):
30172         Added gstqueryutils.h to the list of headers to install, that was
30173         a 'nachty' move wingo :)
30174
30175 2005-05-06  Andy Wingo  <wingo@pobox.com>
30176
30177         * gst/gstquery.h
30178         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
30179         GstData, init a memchunk.
30180         (standard_definitions): Add a few query types, deprecate a few.
30181         (gst_query_get_type): New proc.
30182         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
30183         implementation.
30184         (gst_query_new_application, gst_query_get_structure): New public
30185         procs.
30186
30187         * docs/design/draft-query.txt: Removed LINKS from the query types,
30188         because all the rest can be dispatched to other pads -- seemed
30189         ugly to have a query that couldn't be dispatched. internal_links
30190         is fine as a pad method.
30191
30192         * gst/gstpad.h: Add query2 as a pad method, add the new functions
30193         in gstpad.c, but maintain binary compatibility for the moment.
30194         Will fix before 0.9 is out.
30195
30196         * gst/gstqueryutils.c: 
30197         * gst/gstqueryutils.h: New files, implement 3 methods for each
30198         query type: parse_query, parse_response, and set. Probably need an
30199         allocator as well.
30200
30201         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
30202
30203         * gst/elements/gstfilesink.c (gst_filesink_query2):
30204         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
30205         query_types, and formats methods.
30206
30207         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
30208         (gst_pad_set_query2_function): New functions.
30209         (gst_real_pad_init): Set query2_default as the default query2
30210         function. Basically just dispatches to internally linked pads.
30211
30212         Needs review!
30213         
30214         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
30215         without using the atomic operations. Only one thread can possibly
30216         be accessing the data at this point. Changed so as to avoid
30217         gst_atomic operations.
30218
30219 2005-05-06  Wim Taymans  <wim@fluendo.com>
30220
30221         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
30222         Also set caps if we use the fallback buffer alloc.
30223
30224 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
30225
30226         * docs/gst/Makefile.am:
30227         * docs/gst/gstreamer-docs.sgml:
30228         * docs/gst/gstreamer-sections.txt:
30229         * docs/gst/tmpl/gstatomic.sgml:
30230         * docs/gst/tmpl/gstmemchunk.sgml:
30231         * testsuite/elements/struct_i386.h:
30232         * win32/GStreamer.vcproj:
30233         * win32/Makefile:
30234           Purge GstAtomic stuff from docs and win32 makefiles as well
30235
30236 2005-05-06  Wim Taymans  <wim@fluendo.com>
30237
30238         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
30239         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
30240         * gst/gstpad.c: (gst_pad_peer_get_caps):
30241         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30242         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30243         (gst_queue_src_activate), (gst_queue_change_state):
30244         * gst/gstqueue.h:
30245         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30246         (intersect_caps_func):
30247         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
30248         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
30249         Some fixes for the peer_get_caps() change.
30250
30251 2005-05-06  Wim Taymans  <wim@fluendo.com>
30252
30253         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
30254         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
30255         (gst_basesink_activate):
30256         Actually do something with error codes returned from the push
30257         functions.
30258
30259 2005-05-06  Wim Taymans  <wim@fluendo.com>
30260
30261         * docs/design/part-element-sink.txt:
30262         * docs/design/part-element-source.txt:
30263         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30264         (gst_basesink_event), (gst_basesink_activate):
30265         * gst/base/gstbasesink.h:
30266         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
30267         (gst_basesrc_activate):
30268         * gst/base/gstbasesrc.h:
30269         * gst/gstelement.c: (gst_element_pads_activate):
30270         Some more documentation.
30271         Fixed scheduling decision in _pads_activate().
30272
30273 2005-05-05  Andy Wingo  <wingo@pobox.com>
30274
30275         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
30276         the test suite.
30277
30278 2005-05-05  Wim Taymans  <wim@fluendo.com>
30279
30280         * gst/base/Makefile.am:
30281         * gst/base/gstbasesink.h:
30282         * gst/base/gstbasesrc.c: (gst_basesrc_init),
30283         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
30284         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
30285         (gst_collectpads_class_init), (gst_collectpads_init),
30286         (gst_collectpads_finalize), (gst_collectpads_new),
30287         (gst_collectpads_set_function), (gst_collectpads_add_pad),
30288         (find_pad), (gst_collectpads_remove_pad),
30289         (gst_collectpads_is_active), (gst_collectpads_collect),
30290         (gst_collectpads_collect_range), (gst_collectpads_start),
30291         (gst_collectpads_stop), (gst_collectpads_peek),
30292         (gst_collectpads_pop), (gst_collectpads_available),
30293         (gst_collectpads_read), (gst_collectpads_flush),
30294         (gst_collectpads_chain):
30295         * gst/base/gstcollectpads.h:
30296         * gst/elements/Makefile.am:
30297         * gst/elements/gstelements.c:
30298         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30299         (gst_fakesink_get_times), (gst_fakesink_event),
30300         (gst_fakesink_preroll), (gst_fakesink_render):
30301         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
30302         (gst_filesink_init), (gst_filesink_set_location),
30303         (gst_filesink_open_file), (gst_filesink_close_file),
30304         (gst_filesink_pad_query), (gst_filesink_event),
30305         (gst_filesink_render), (gst_filesink_change_state):
30306         * gst/elements/gstfilesink.h:
30307         Added object to help in making collect pad based elements.
30308         Ported filesink.
30309         Make event function in sink baseclass return gboolean.
30310
30311 2005-05-05  Wim Taymans  <wim@fluendo.com>
30312
30313         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
30314         (gst_bin_get_by_name):
30315         * gst/gstbuffer.h:
30316         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
30317         (gst_clock_finalize):
30318         * gst/gstdata.c: (gst_data_replace):
30319         * gst/gstdata.h:
30320         * gst/gstelement.c: (gst_element_request_pad),
30321         (gst_element_pads_activate):
30322         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
30323         (gst_object_unref):
30324         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30325         (gst_pad_set_checkgetrange_function),
30326         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
30327         (gst_pad_check_pull_range), (gst_pad_pull_range),
30328         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30329         (gst_pad_pause_task), (gst_pad_stop_task):
30330         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30331         (gst_element_request_pad), (gst_pad_proxy_getcaps):
30332         Fix name lookup in GstBin.
30333         Added _data_replace() function and _buffer_replace()
30334         Use finalize method to clean up clock.
30335         Fix refcounting on request pads.
30336         Fix pad schedule mode error.
30337         Some more object refcounting debug info,
30338
30339
30340 2005-05-04  Andy Wingo <wingo@pobox.com>
30341
30342         * check/Makefile.am:
30343         * docs/gst/tmpl/gstatomic.sgml:
30344         * docs/gst/tmpl/gstplugin.sgml:
30345         * gst/base/gstbasesink.c: (gst_basesink_activate):
30346         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
30347         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
30348         (gst_basesrc_query), (gst_basesrc_set_property),
30349         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
30350         (gst_basesrc_activate):
30351         * gst/base/gstbasesrc.h:
30352         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
30353         (gst_base_transform_src_activate):
30354         * gst/elements/gstelements.c:
30355         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30356         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30357         * gst/elements/gsttee.c: (gst_tee_sink_activate):
30358         * gst/elements/gsttypefindelement.c: (find_element_get_length),
30359         (gst_type_find_element_checkgetrange),
30360         (gst_type_find_element_activate):
30361         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30362         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30363         (gst_caps_load_thyself):
30364         * gst/gstelement.c: (gst_element_pads_activate),
30365         (gst_element_save_thyself), (gst_element_restore_thyself):
30366         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30367         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30368         * gst/gstpad.h:
30369         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
30370         (gst_xml_parse_file), (gst_xml_parse_memory),
30371         (gst_xml_get_element), (gst_xml_make_element):
30372         * gst/indexers/gstfileindex.c: (gst_file_index_load),
30373         (_file_index_id_save_xml), (gst_file_index_commit):
30374         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
30375         (read_enum), (load_pad_template), (load_feature), (load_plugin),
30376         (load_paths):
30377         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
30378         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
30379         * tools/gst-complete.c: (main):
30380         * tools/gst-compprep.c: (main):
30381         * tools/gst-inspect.c: (print_element_properties_info):
30382         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
30383         * tools/gst-xmlinspect.c: (print_element_properties):
30384         GCC 4 fixen.
30385         
30386 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
30387
30388         * gst/gstplugin.c: (gst_plugin_check_module),
30389         (gst_plugin_check_file), (gst_plugin_load_file):
30390             apply patch from #172526 to make register work on MacOSX
30391
30392 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30393
30394         * docs/gst/tmpl/gstconfig.sgml:
30395         * gst/gstconfig.h.in:
30396           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
30397         * testsuite/debug/printf_extension.c: (main):
30398           Do not use GST_PTR_FORMAT on pointers to types with
30399           sizeof < sizeof(gpointer).  Fixes test on 64-bit
30400         * testsuite/elements/property.h:
30401           use correct printf format
30402
30403 2005-05-02  Wim Taymans  <wim@fluendo.com>
30404
30405         * docs/design/draft-push-pull.txt:
30406         * docs/design/draft-query.txt:
30407         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
30408         (gst_basesrc_start):
30409         Added draft for new query API.
30410         Added draft for better selecting scheduling methods.
30411         Make basesrc ignore length if the subclass does not support
30412         it.
30413
30414 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30415
30416         * gst/Makefile.am:
30417           possible fixes for automake-1.5 - _LIBADD is reserved
30418
30419 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30420
30421         * docs/faq/Makefile.am:
30422         * docs/manual/Makefile.am:
30423         * docs/manuals.mak:
30424         * docs/pwg/Makefile.am:
30425         * gst/Makefile.am:
30426           possible fixes for automake-1.5
30427
30428 2005-04-28  Wim Taymans  <wim@fluendo.com>
30429
30430         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30431         (gst_basesink_pad_getcaps), (gst_basesink_init),
30432         (gst_basesink_do_sync):
30433         * gst/gstclock.c: (gst_clock_entry_new):
30434         * gst/gstevent.c: (gst_event_discont_get_value):
30435         * gst/gstpipeline.c: (pipeline_bus_handler),
30436         (gst_pipeline_change_state):
30437         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
30438         Better debugging of clocking info.
30439         Allow NULL values when getting discont values.
30440
30441 2005-04-27  Wim Taymans  <wim@fluendo.com>
30442
30443         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30444         * check/gst/gstpad.c: (gst_pad_suite):
30445         Increase timeout for checks.
30446
30447 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30448
30449         * check/Makefile.am:
30450           fix the broken rule for cleanup.  Apparently this rule is
30451           only needed on FC2, so maybe this warrants further autotool
30452           inspection.
30453
30454 2005-04-26  Wim Taymans  <wim@fluendo.com>
30455
30456         * gst/gsttrashstack.h:
30457         Ooohh. a nasty one! After having a failed pop() from the stack,
30458         it's possible that the stack is empty. In that case, don't
30459         follow the NULL pointer.
30460
30461 2005-04-25  Wim Taymans  <wim@fluendo.com>
30462
30463         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30464         (gst_pad_set_checkgetrange_function),
30465         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
30466         (gst_pad_check_pull_range), (gst_pad_pull_range),
30467         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30468         (gst_pad_pause_task), (gst_pad_stop_task):
30469         * gst/gstplugin.c: (gst_plugin_load):
30470         * gst/gstplugin.h:
30471         Remove gst_library_load as it does more harm than good with
30472         the new g_module flags.
30473         Revert bogus caps template check in pad linking, pad caps
30474         are important when linking not the template, which is more
30475         general than the current caps.
30476
30477 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30478
30479         * gst/autoplug/.cvsignore:
30480         * gst/autoplug/Makefile.am:
30481         * gst/autoplug/gstsearchfuncs.c:
30482         * gst/autoplug/gstsearchfuncs.h:
30483         * gst/autoplug/gstspider.c:
30484         * gst/autoplug/gstspider.h:
30485         * gst/autoplug/gstspideridentity.c:
30486         * gst/autoplug/gstspideridentity.h:
30487         * gst/autoplug/spidertest.c:
30488           Die, spider, die.
30489
30490 2005-04-25  Wim Taymans  <wim@fluendo.com>
30491
30492         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30493         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30494         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
30495         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
30496         * gst/gstpad.h:
30497         Added stubs for unimplemented functions. 
30498
30499 2005-04-24  David Schleef  <ds@schleef.org>
30500
30501         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
30502         please fix.
30503
30504 2005-04-24  David Schleef  <ds@schleef.org>
30505
30506         Convert everything from GstAtomicInt to g_atomic_int_*, and
30507         remove gstatomic.
30508         * gst/Makefile.am:
30509         * gst/gstatomic.c:
30510         * gst/gstatomic.h:
30511         * gst/gstatomic_impl.h:
30512         * gst/gstbuffer.c:
30513         * gst/gstcaps.c:
30514         * gst/gstcaps.h:
30515         * gst/gstclock.c:
30516         * gst/gstclock.h:
30517         * gst/gstdata.c:
30518         * gst/gstdata.h:
30519         * gst/gstdata_private.h:
30520         * gst/gstevent.c:
30521         * gst/gstinfo.c:
30522         * gst/gstinfo.h:
30523         * gst/gstmessage.c:
30524         * gst/gstobject.c:
30525         * gst/gstobject.h:
30526         * gst/gststructure.c:
30527         * gst/gststructure.h:
30528         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
30529         * gst/gstutils.h:
30530
30531 2005-04-24  David Schleef  <ds@schleef.org>
30532
30533         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
30534         make the regressions tests work.  Remove some code that is no
30535         longer true.
30536         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
30537         Disable warning for pads without templates.
30538
30539 2005-04-24  David Schleef  <ds@schleef.org>
30540
30541         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
30542         functions that handle filtered links.
30543         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
30544         removed functions.
30545         * gst/gstutils.c: Fix/remove utility functions that handle
30546         filtered caps.
30547         * gst/gstutils.h:
30548         * gst/gstvalue.c: Add serialization/deserialization of caps
30549         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
30550         requires fixing so that the filter caps notation creates
30551         a capsfilter element and sets the filter_caps property.  I
30552         think everyone probably wants to keep the shorthand notation.
30553         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
30554         * docs/gst/tmpl/gstpad.sgml:
30555
30556         * gst/elements/gstelements.c: Register capsfilter element.
30557         * gst/Makefile.am: fix spacing
30558         * docs/random/ds/0.9-suggested-changes: random
30559
30560 2005-04-23  David Schleef  <ds@schleef.org>
30561
30562         * gst/elements/Makefile.am:
30563         * gst/elements/gstcapsfilter.c: New element that acts like an
30564         identity, but filters caps.  Will eventually replace filtered
30565         caps in pad linking.
30566         * gst/gstutils.c: (gst_element_create_all_pads): New function
30567         to create all the ALWAYS pads that are registered with an
30568         element class.  This functionality should eventually be
30569         merged in with GstElement initialization.
30570         * gst/gstutils.h:
30571         * testsuite/trigger/README: part of trigger test code that should
30572         have been checked in a long time ago.
30573
30574 2005-04-23  David Schleef  <ds@schleef.org>
30575
30576         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
30577         needed with new versions of libtool (nobody will confirm this),
30578         and hard to carry around.
30579         * gst/autoplug/Makefile.am:
30580         * gst/base/Makefile.am:
30581         * gst/elements/Makefile.am:
30582         * gst/indexers/Makefile.am:
30583         * gst/schedulers/Makefile.am:
30584         * libs/gst/bytestream/Makefile.am:
30585         * libs/gst/control/Makefile.am:
30586         * libs/gst/dataprotocol/Makefile.am:
30587         * libs/gst/getbits/Makefile.am:
30588
30589 2005-04-21  Wim Taymans  <wim@fluendo.com>
30590
30591         * docs/design/draft-push-pull.txt:
30592         * docs/design/part-MT-refcounting.txt:
30593         * docs/design/part-TODO.txt:
30594         * docs/design/part-caps.txt:
30595         * docs/design/part-events.txt:
30596         * docs/design/part-gstbus.txt:
30597         * docs/design/part-gstpipeline.txt:
30598         * docs/design/part-messages.txt:
30599         * docs/design/part-push-pull.txt:
30600         * docs/design/part-query.txt:
30601         Some more docs.
30602
30603 2005-04-21  Wim Taymans  <wim@fluendo.com>
30604
30605         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
30606         (gst_message_new), (gst_message_new_error),
30607         (gst_message_new_warning), (gst_message_new_tag),
30608         (gst_message_new_state_changed), (gst_message_new_application),
30609         (gst_message_get_structure):
30610         * gst/gstmessage.h:
30611         * gst/gststructure.c: (gst_structure_set_parent_refcount),
30612         (gst_structure_copy_conditional):
30613         Use parent refcount in GstMessage to ensure GstStructure
30614         consistency.
30615         Cleaned up headers a bit.
30616         
30617
30618 2005-04-20  Wim Taymans  <wim@fluendo.com>
30619
30620         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30621         (gst_basesink_pad_getcaps), (gst_basesink_init),
30622         (gst_basesink_chain_unlocked):
30623         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
30624         (gst_type_find_helper):
30625         * gst/elements/gsttypefindelement.c:
30626         (gst_type_find_element_have_type), (gst_type_find_element_init),
30627         (stop_typefinding), (gst_type_find_element_handle_event),
30628         (find_suggest), (gst_type_find_element_chain),
30629         (gst_type_find_element_checkgetrange),
30630         (gst_type_find_element_getrange), (do_typefind),
30631         (gst_type_find_element_activate):
30632         * gst/gstbuffer.c: (_gst_buffer_sub_free),
30633         (gst_buffer_default_free), (gst_buffer_default_copy),
30634         (gst_buffer_set_caps):
30635         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
30636         (gst_caps_replace):
30637         * gst/gstmessage.c: (gst_message_new),
30638         (gst_message_new_state_changed):
30639         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30640         (gst_pad_set_checkgetrange_function),
30641         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
30642         (gst_pad_set_caps), (gst_pad_check_pull_range),
30643         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
30644         * gst/gstpad.h:
30645         * gst/gsttypefind.c: (gst_type_find_register):
30646         Make gst_caps_replace() work like other _replace() functions.
30647         Use _caps_replace() where possible.
30648         Make sure _message_new() initialises its field.
30649         Add gst_static_pad_template_get_caps()
30650
30651
30652 2005-04-18  Andy Wingo  <wingo@pobox.com>
30653
30654         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
30655         on the peer, not the pad. I think that was a typo. Pass an extra
30656         arg to see if random access is possible. Activate the pads as
30657         PULL_RANGE if possible.
30658
30659         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
30660
30661         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
30662         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
30663         to PROP_....
30664
30665 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30666
30667         * docs/faq/using.xml:
30668           Add note on gstreamer-properties (#154996).
30669
30670 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30671
30672         * docs/random/bbb/optional-properties:
30673           Some analysis on optional properties.
30674
30675 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30676
30677         * docs/gst/tmpl/gstelementfactory.sgml:
30678         * gst/gstelement.h:
30679         * gst/gstelementfactory.c: (gst_element_factory_init),
30680         (gst_element_factory_cleanup), (gst_element_register),
30681         (__gst_element_factory_add_static_pad_template),
30682         (gst_element_factory_get_static_pad_templates),
30683         (gst_element_factory_can_src_caps),
30684         (gst_element_factory_can_sink_caps):
30685         * gst/registries/Makefile.am:
30686         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
30687         (gst_xml_registry_class_init), (gst_xml_registry_init),
30688         (gst_xml_registry_new), (gst_xml_registry_set_property),
30689         (gst_xml_registry_get_property), (get_time), (make_dir),
30690         (gst_xml_registry_get_perms_func),
30691         (plugin_times_older_than_recurse), (plugin_times_older_than),
30692         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
30693         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
30694         (add_to_char_array), (read_string), (read_uint), (read_enum),
30695         (load_pad_template), (load_feature), (load_plugin), (load_paths),
30696         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
30697         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
30698         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
30699         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
30700         (gst_xml_registry_rebuild):
30701         * gst/registries/gstlibxmlregistry.h:
30702         * tools/gst-compprep.c: (main):
30703         * tools/gst-inspect.c: (print_pad_templates_info):
30704         * tools/gst-xmlinspect.c: (print_element_info):
30705           Use libxml2 for registry parsing, use staticpadtemplates in
30706           elementfactories. Makes gst_init() +/- 10x faster.
30707
30708 2005-04-12  Wim Taymans  <wim@fluendo.com>
30709
30710         * gst/base/Makefile.am:
30711         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30712         (gst_basesink_pad_getcaps), (gst_basesink_init),
30713         (gst_basesink_event), (gst_basesink_change_state):
30714         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30715         (gst_basesrc_init), (gst_basesrc_query),
30716         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
30717         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
30718         (gst_basesrc_check_get_range), (gst_basesrc_loop),
30719         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
30720         (gst_basesrc_stop), (gst_basesrc_activate),
30721         (gst_basesrc_change_state):
30722         * gst/base/gsttypefindhelper.c: (helper_find_peek),
30723         (helper_find_suggest), (gst_type_find_helper):
30724         * gst/base/gsttypefindhelper.h:
30725         * gst/elements/Makefile.am:
30726         * gst/elements/gstelements.c:
30727         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30728         (gst_fakesink_get_times), (gst_fakesink_event),
30729         (gst_fakesink_preroll), (gst_fakesink_render):
30730         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30731         (gst_fakesrc_init), (gst_fakesrc_event_handler),
30732         (gst_fakesrc_get_property), (gst_fakesrc_create),
30733         (gst_fakesrc_start), (gst_fakesrc_stop):
30734         * gst/elements/gstfakesrc.h:
30735         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
30736         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
30737         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
30738         (gst_filesrc_create_read), (gst_filesrc_create),
30739         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
30740         (gst_filesrc_start):
30741         * gst/elements/gsttypefindelement.c:
30742         (gst_type_find_element_have_type), (gst_type_find_element_init),
30743         (start_typefinding), (stop_typefinding), (push_buffer_store),
30744         (gst_type_find_element_handle_event),
30745         (gst_type_find_element_chain),
30746         (gst_type_find_element_checkgetrange),
30747         (gst_type_find_element_getrange), (do_typefind),
30748         (gst_type_find_element_activate),
30749         (gst_type_find_element_change_state):
30750         * gst/elements/gsttypefindelement.h:
30751         * gst/gstpipeline.c: (pipeline_bus_handler):
30752         Added typefind helper.
30753         Small preroll fix in the base sink.
30754         Disable typefind code in basesrc.
30755         Crude port of typefindelement.
30756         Fakesrc cleanups.
30757
30758
30759 2005-04-11  Wim Taymans  <wim@fluendo.com>
30760
30761         * check/gst/gstbus.c: (gstbus_suite):
30762         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
30763         * check/gstcheck.h:
30764           Fix up the timeout so that the test does not fail.
30765
30766 2005-04-06  Wim Taymans  <wim@fluendo.com>
30767
30768         * gst/base/README:
30769         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30770         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
30771         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
30772         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
30773         (gst_basesrc_check_get_range), (gst_basesrc_loop),
30774         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
30775         (gst_basesrc_stop), (gst_basesrc_activate),
30776         (gst_basesrc_change_state), (basesrc_find_peek),
30777         (basesrc_find_suggest), (gst_basesrc_type_find):
30778         * gst/base/gstbasesrc.h:
30779         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
30780         (gst_filesrc_class_init), (gst_filesrc_init),
30781         (gst_filesrc_finalize), (gst_filesrc_set_location),
30782         (gst_filesrc_set_property), (gst_filesrc_get_property),
30783         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
30784         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
30785         (gst_filesrc_create_read), (gst_filesrc_create),
30786         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
30787         * gst/elements/gstfilesrc.h:
30788         * gst/gstelement.c: (gst_element_get_state_func),
30789         (gst_element_lost_state), (gst_element_pads_activate):
30790         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30791         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30792         (gst_pad_pull_range):
30793         * gst/gstpad.h:
30794         More work on the generic source base class, implement seeking,
30795         query.
30796         Make filesrc extend the base source class.
30797         Added gst_pad_set_checkgetrange_function to GstPad.
30798
30799 2005-04-06  Andy Wingo  <wingo@pobox.com>
30800
30801         * pkgconfig/gstreamer-base.pc.in:
30802         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
30803
30804         * pkgconfig/Makefile.am:
30805         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
30806
30807 2005-04-04  Wim Taymans  <wim@fluendo.com>
30808
30809         * gst/base/Makefile.am:
30810         * gst/base/README:
30811         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30812         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
30813         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
30814         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
30815         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30816         (gst_basesrc_base_init), (gst_basesrc_class_init),
30817         (gst_basesrc_init), (gst_basesrc_get_formats),
30818         (gst_basesrc_get_query_types), (gst_basesrc_query),
30819         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
30820         (gst_basesrc_set_property), (gst_basesrc_get_property),
30821         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
30822         (gst_basesrc_loop), (gst_basesrc_activate),
30823         (gst_basesrc_change_state):
30824         * gst/base/gstbasesrc.h:
30825         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
30826         (gst_fakesrc_class_init), (gst_fakesrc_init),
30827         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
30828         (gst_fakesrc_get_property), (gst_fakesrc_create):
30829         * gst/elements/gstfakesrc.h:
30830         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
30831         (gst_filesrc_open_file), (gst_filesrc_loop),
30832         (gst_filesrc_activate), (filesrc_find_peek),
30833         (gst_filesrc_type_find):
30834         Made base source class, make fakesrc extend it.
30835         Add comments to basesink class.
30836         Some filesrc cleanup.
30837
30838 2005-03-31  David Schleef  <ds@schleef.org>
30839
30840         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
30841         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
30842         expected to link against libgstreamer.
30843         * gst/base/Makefile.am: link against libgstreamer
30844         * gst/elements/Makefile.am: same
30845
30846 2005-03-31  Andy Wingo  <wingo@pobox.com>
30847
30848         * tests/instantiate/Makefile.am:
30849         * tests/instantiate/caps.c: Add test to test speed of caps copy
30850         and free.
30851
30852         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
30853         GMemChunk to be fair.
30854
30855         * gst/gsttrashstack.h: Remove warning about using the fallback
30856         trash stack implementation, it's still faster than malloc.
30857
30858 2005-03-30  Andy Wingo  <wingo@pobox.com>
30859
30860         * tests/complexity.c: Add a copyright.
30861
30862 2005-03-31  Wim Taymans  <wim@fluendo.com>
30863
30864         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
30865         (gst_base_transform_class_init), (gst_base_transform_init),
30866         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
30867         (gst_base_transform_get_property),
30868         (gst_base_transform_sink_activate),
30869         (gst_base_transform_src_activate),
30870         (gst_base_transform_change_state):
30871         * gst/base/gstbasetransform.h:
30872         * gst/elements/gstidentity.c: (gst_identity_class_init),
30873         (gst_identity_event), (gst_identity_check_perfect),
30874         (gst_identity_transform), (gst_identity_start),
30875         (gst_identity_stop):
30876         Added start/stop methods to transform base class so subclasses 
30877         don't need to deal with state changes even.
30878
30879 2005-03-31  Wim Taymans  <wim@fluendo.com>
30880
30881         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
30882         (gst_event_new_discontinuous), (gst_event_discont_get_value):
30883         * gst/gstevent.h:
30884         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30885         (gst_pad_pull_range):
30886         Added rate to the discont event to prepare for variable speed
30887         and reverse playback.
30888
30889 2005-03-29  David Schleef  <ds@schleef.org>
30890
30891         * configure.ac:
30892         * testsuite/trigger/Makefile.am:
30893         * testsuite/trigger/trigger.c: A little example program to show
30894         how trigger-based elements can work.
30895
30896 2005-03-29  Wim Taymans  <wim@fluendo.com>
30897
30898         * gst/base/Makefile.am:
30899         * gst/base/README:
30900         * gst/base/gstbasesink.c: (gst_basesink_get_type),
30901         (gst_basesink_base_init), (gst_basesink_class_init),
30902         (gst_basesink_pad_getcaps), (gst_basesink_init),
30903         (gst_basesink_activate), (gst_basesink_change_state):
30904         * gst/base/gstbasesink.h:
30905         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
30906         (gst_base_transform_base_init), (gst_base_transform_finalize),
30907         (gst_base_transform_class_init), (gst_base_transform_init),
30908         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
30909         (gst_base_transform_event), (gst_base_transform_getrange),
30910         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
30911         (gst_base_transform_set_property),
30912         (gst_base_transform_get_property),
30913         (gst_base_transform_sink_activate),
30914         (gst_base_transform_src_activate),
30915         (gst_base_transform_change_state):
30916         * gst/base/gstbasetransform.h:
30917         * gst/elements/gstidentity.c: (gst_identity_finalize),
30918         (gst_identity_class_init), (gst_identity_init),
30919         (gst_identity_event), (gst_identity_check_perfect),
30920         (gst_identity_transform), (gst_identity_set_property),
30921         (gst_identity_get_property), (gst_identity_change_state):
30922         * gst/elements/gstidentity.h:
30923         * gst/gstelement.c: (gst_element_get_state_func),
30924         (gst_element_lost_state), (gst_element_pads_activate):
30925         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30926         (gst_pad_check_pull_range), (gst_pad_pull_range):
30927         * gst/gstpad.h:
30928         Simplify pad activation.
30929         Added function to check if pull_range can be performed.
30930         Error out when pulling inactive or flushing pads.
30931         Removed const from refcounted types as it does not make sense.
30932         Simplify pad templates in basesink
30933         Added base class for simple 1-to-1 transforms.
30934         Make identity subclass the base transform.
30935
30936 2005-03-29  Andy Wingo  <wingo@pobox.com>
30937
30938         * docs/libs/gstreamer-libs-overrides.txt: 
30939         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
30940         really don't understand what's going on, but like whatever. I want
30941         green buildbot!
30942
30943         * docs/gst/Makefile.am:
30944         * docs/libs/Makefile.am: Dist the overrides files.
30945
30946         * check/Makefile.am (clean-local): Remove .libs directories.
30947
30948         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
30949         elements to EXTRA_DIST, so po/ files are happy.
30950
30951         * po/POTFILES.in: Er, remove it here.
30952
30953         * po/POTFILES: Remove gstspider.c.
30954
30955         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
30956
30957         * docs/libs/gstreamer-libs-docs.sgml: 
30958         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
30959         bytestream.
30960
30961         * tests/complexity.c (main): Set the length of the preroll queue
30962         on the sinks to prevent a lockup.
30963
30964         * libs/gst/dataprotocol/Makefile.am: 
30965         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
30966         the same as the one in check/gst-libs/gdp.c.
30967
30968         * po/, docs/gst/: Commit automatic changes to docs and po files.
30969
30970         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
30971         the versioned libgstbase.
30972
30973         * check/Makefile.am: Depend on an unversioned gst-register, seems
30974         to make autoconf happier.
30975
30976         * gst/base/Makefile.am: Make libgstbase a versioned lib.
30977
30978 2005-03-28  Wim Taymans  <wim@fluendo.com>
30979
30980         * configure.ac:
30981         * docs/design/part-gstelement.txt:
30982         * docs/design/part-negotiation.txt:
30983         * docs/design/part-preroll.txt:
30984         * docs/design/part-scheduling.txt:
30985         * docs/design/part-states.txt:
30986         * gst/Makefile.am:
30987         * gst/base/Makefile.am:
30988         * gst/base/README:
30989         * gst/base/gstbasesink.c: (gst_basesink_get_template),
30990         (gst_basesink_base_init), (gst_basesink_class_init),
30991         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
30992         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
30993         (gst_basesink_set_pad_functions),
30994         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
30995         (gst_basesink_set_property), (gst_basesink_get_property),
30996         (gst_base_sink_get_template), (gst_base_sink_get_caps),
30997         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
30998         (gst_basesink_preroll_queue_push),
30999         (gst_basesink_preroll_queue_empty),
31000         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
31001         (gst_basesink_event), (gst_basesink_get_times),
31002         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
31003         (gst_basesink_chain_unlocked), (gst_basesink_chain),
31004         (gst_basesink_loop), (gst_basesink_activate),
31005         (gst_basesink_change_state):
31006         * gst/base/gstbasesink.h:
31007         * gst/elements/Makefile.am:
31008         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
31009         (gst_fakesink_class_init), (gst_fakesink_init),
31010         (gst_fakesink_set_property), (gst_fakesink_get_property),
31011         (gst_fakesink_get_times), (gst_fakesink_event),
31012         (gst_fakesink_preroll), (gst_fakesink_render),
31013         (gst_fakesink_change_state):
31014         * gst/elements/gstfakesink.h:
31015         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31016         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
31017         * gst/gstelement.c: (gst_element_add_pad),
31018         (gst_element_get_state_func), (gst_element_abort_state),
31019         (gst_element_commit_state), (gst_element_lost_state),
31020         (gst_element_set_state), (gst_element_pads_activate):
31021         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
31022         * gst/gstpipeline.c: (gst_pipeline_send_event),
31023         (gst_pipeline_change_state):
31024         Added state change code.
31025         Added/updated docs.
31026         Added sink base class, make fakesink extend the base class.
31027         Small cleanups in GstPipeline.
31028
31029 2005-03-26  David Schleef  <ds@schleef.org>
31030
31031         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
31032         is broken and should be implemented in a different library.
31033         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
31034         * gst/gst.h: remove gstcpu.h
31035         * gst/gstcpu.c: remove
31036         * gst/gstcpu.h: remove
31037         * gst/Makefile.am.future: Remove this file.  It's ancient.
31038
31039 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31040
31041         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31042         (gst_bin_send_event):
31043           Add default event/set_manager handlers. The set_manager handler
31044           takes care that the manager is distributed over kids that were
31045           already in the bin before the manager was set. The event handler
31046           is a utility virtual function that sends the event over all sinks,
31047           so that gst_element_send_event (bin, event); has the expected
31048           behaviour.
31049         * gst/gstpad.c: (gst_pad_event_default):
31050           Re-install default event handling for discontinuities, so that
31051           seeking works without requiring hacks in applications or extra
31052           code in sinks.
31053         * gst/gstpipeline.c: (gst_pipeline_class_init),
31054         (gst_pipeline_send_event):
31055           Half hack, half utility: set a pipeline to PAUSED for seek events,
31056           since that is the only way we can guarantee a/v sync. Means that
31057           you can do gst_element_seek (pipeline, method, pos); on a pipeline
31058           and it "just works".
31059
31060 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31061
31062         * gst/gstpipeline.c: (gst_pipeline_use_clock):
31063           Lock/unlock mismatch.
31064
31065 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
31066
31067         * docs/faq/gst-uninstalled:
31068           add gst-plugins-base
31069         * docs/gst/Makefile.am:
31070           don't error out until docs are fixed
31071         * docs/gst/gstreamer.types:
31072           remove thread
31073
31074 2005-03-22  Wim Taymans  <wim@fluendo.com>
31075
31076         * check/Makefile.am:
31077         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
31078         * gst/gststructure.c: (gst_structure_set_valist),
31079         (gst_structure_copy_conditional):
31080         Activated more tests.
31081         Added message test.
31082         Added G_TYPE_POINTER to GstStructure.
31083         
31084
31085 2005-03-22  Wim Taymans  <wim@fluendo.com>
31086
31087         * docs/design/part-TODO.txt:
31088         * docs/design/part-events.txt:
31089         * docs/design/part-gstbin.txt:
31090         * docs/design/part-gstbus.txt:
31091         * docs/design/part-gstpipeline.txt:
31092         * docs/design/part-messages.txt:
31093         * gst/gstbus.c:
31094         * gst/gstmessage.c:
31095         Docs updates
31096
31097 2005-03-21  Wim Taymans  <wim@fluendo.com>
31098
31099         * gst/gstbus.c: (gst_bus_post):
31100         Fix copy-and-paste error.
31101
31102 2005-03-21  Wim Taymans  <wim@fluendo.com>
31103
31104         * check/Makefile.am:
31105         * gst/Makefile.am:
31106         * gst/elements/Makefile.am:
31107         * gst/elements/gstelements.c:
31108         * gst/elements/gstfakesink.c: (gst_fakesink_init),
31109         (gst_fakesink_event), (gst_fakesink_chain):
31110         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31111         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
31112         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
31113         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
31114         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
31115         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
31116         (gst_fakesrc_loop), (gst_fakesrc_activate),
31117         (gst_fakesrc_change_state):
31118         * gst/elements/gstfakesrc.h:
31119         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
31120         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
31121         (gst_filesrc_open_file), (gst_filesrc_loop),
31122         (gst_filesrc_activate), (gst_filesrc_change_state),
31123         (filesrc_find_peek), (filesrc_find_suggest),
31124         (gst_filesrc_type_find):
31125         * gst/elements/gstidentity.c: (gst_identity_finalize),
31126         (gst_identity_class_init), (gst_identity_init),
31127         (gst_identity_proxy_getcaps), (identity_queue_push),
31128         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
31129         (gst_identity_getrange), (gst_identity_chain),
31130         (gst_identity_sink_loop), (gst_identity_src_loop),
31131         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
31132         (gst_identity_set_property), (gst_identity_get_property),
31133         (gst_identity_change_state):
31134         * gst/elements/gstidentity.h:
31135         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
31136         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
31137         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
31138         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
31139         (gst_tee_sink_activate):
31140         * gst/elements/gsttee.h:
31141         * gst/gst.c: (gst_register_core_elements), (init_post):
31142         * gst/gst.h:
31143         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
31144         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
31145         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
31146         (gst_bin_change_state):
31147         * gst/gstbin.h:
31148         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
31149         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
31150         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
31151         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
31152         (gst_bus_set_sync_handler), (gst_bus_create_watch),
31153         (bus_watch_callback), (bus_watch_destroy),
31154         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
31155         (poll_timeout), (gst_bus_poll):
31156         * gst/gstbus.h:
31157         * gst/gstcaps.h:
31158         * gst/gstdata.h:
31159         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31160         (gst_element_post_message), (gst_element_message_full),
31161         (gst_element_get_state_func), (gst_element_get_state),
31162         (gst_element_abort_state), (gst_element_commit_state),
31163         (gst_element_lost_state), (gst_element_set_state),
31164         (gst_element_pads_activate), (gst_element_change_state),
31165         (gst_element_dispose), (gst_element_set_manager_func),
31166         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
31167         (gst_element_set_manager), (gst_element_get_manager),
31168         (gst_element_set_bus), (gst_element_get_bus),
31169         (gst_element_set_scheduler), (gst_element_get_scheduler):
31170         * gst/gstelement.h:
31171         * gst/gstevent.c: (gst_event_new_segment_seek),
31172         (gst_event_new_flush):
31173         * gst/gstevent.h:
31174         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
31175         (_gst_message_free), (gst_message_get_type), (gst_message_new),
31176         (gst_message_new_eos), (gst_message_new_error),
31177         (gst_message_new_warning), (gst_message_new_tag),
31178         (gst_message_new_state_changed), (gst_message_new_application),
31179         (gst_message_get_structure), (gst_message_parse_tag),
31180         (gst_message_parse_state_changed), (gst_message_parse_error),
31181         (gst_message_parse_warning):
31182         * gst/gstmessage.h:
31183         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
31184         (gst_real_pad_set_property), (gst_pad_set_active),
31185         (gst_pad_is_active), (gst_pad_set_blocked_async),
31186         (gst_pad_set_blocked), (gst_pad_is_blocked),
31187         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
31188         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
31189         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
31190         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
31191         (gst_pad_link_filtered), (gst_pad_relink_filtered),
31192         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
31193         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
31194         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
31195         (gst_pad_set_caps), (gst_pad_configure_sink),
31196         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
31197         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
31198         (gst_real_pad_dispose), (gst_real_pad_finalize),
31199         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
31200         (gst_pad_event_default_dispatch), (gst_pad_event_default),
31201         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
31202         * gst/gstpad.h:
31203         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
31204         (pipeline_bus_handler), (gst_pipeline_change_state),
31205         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
31206         * gst/gstpipeline.h:
31207         * gst/gstprobe.h:
31208         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
31209         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
31210         (gst_queue_link_src), (gst_queue_bufferalloc),
31211         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
31212         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
31213         (gst_queue_loop), (gst_queue_handle_src_event),
31214         (gst_queue_handle_src_query), (gst_queue_src_activate),
31215         (gst_queue_change_state):
31216         * gst/gstqueue.h:
31217         * gst/gstscheduler.c: (gst_scheduler_init),
31218         (gst_scheduler_dispose), (gst_scheduler_create_task),
31219         (gst_scheduler_factory_create):
31220         * gst/gstscheduler.h:
31221         * gst/gststructure.c: (gst_structure_get_type),
31222         (gst_structure_copy_conditional):
31223         * gst/gststructure.h:
31224         * gst/gsttaginterface.h:
31225         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
31226         (gst_task_init), (gst_task_dispose), (gst_task_create),
31227         (gst_task_get_state), (gst_task_start), (gst_task_stop),
31228         (gst_task_pause):
31229         * gst/gsttask.h:
31230         * gst/gstthread.c:
31231         * gst/gstthread.h:
31232         * gst/gsttypes.h:
31233         * gst/schedulers/Makefile.am:
31234         * gst/schedulers/cothreads_compat.h:
31235         * gst/schedulers/entryscheduler.c:
31236         * gst/schedulers/faircothreads.c:
31237         * gst/schedulers/faircothreads.h:
31238         * gst/schedulers/fairscheduler.c:
31239         * gst/schedulers/gstbasicscheduler.c:
31240         * gst/schedulers/gstoptimalscheduler.c:
31241         * gst/schedulers/gthread-cothreads.h:
31242         * gst/schedulers/threadscheduler.c:
31243         (gst_thread_scheduler_task_get_type),
31244         (gst_thread_scheduler_task_class_init),
31245         (gst_thread_scheduler_task_init),
31246         (gst_thread_scheduler_task_start),
31247         (gst_thread_scheduler_task_stop),
31248         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
31249         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
31250         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
31251         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
31252         (plugin_init):
31253         * libs/gst/Makefile.am:
31254         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
31255         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
31256         (gst_file_pad_parent_set):
31257         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
31258         (gst_dp_event_from_packet):
31259         * tests/complexity.c: (main):
31260         * tests/mass_elements.c: (main):
31261         * testsuite/states/locked.c: (message_received), (main):
31262         * testsuite/states/parent.c: (main):
31263         * tools/gst-inspect.c: (print_element_flag_info),
31264         (print_implementation_info), (print_pad_info):
31265         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
31266         (main):
31267         * tools/gst-md5sum.c: (event_loop), (main):
31268         * tools/gst-typefind.c: (main):
31269         * tools/gst-xmlinspect.c: (print_element_info):
31270         Next big merge.
31271         Added GstBus for mainloop integration.
31272         Added GstMessage for sending notifications on the bus.
31273         Added GstTask as an abstraction for pipeline entry points.
31274         Removed GstThread.
31275         Removed Schedulers.
31276         Simplified GstQueue for multithreaded core.
31277         Made _link threadsafe, removed old capsnego.
31278         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
31279         Added pad blocking functions.
31280         Reworked scheduling functions in GstPad to prepare for
31281         scheduling updates soon.
31282         Moved events out of data stream.
31283         Simplified GstEvent types.
31284         Added return values to push/pull.
31285         Removed clocking from GstElement.
31286         Added prototypes for state change function for next merge.
31287         Removed iterate from bins and state change management.
31288         Fixed some elements, disabled others for now.
31289         Fixed -inspect and -launch.
31290         Added check for GstBus.
31291
31292 2005-03-10  Wim Taymans  <wim@fluendo.com>
31293
31294         * docs/design/part-MT-refcounting.txt:
31295         * docs/design/part-clocks.txt:
31296         * docs/design/part-gstelement.txt:
31297         * docs/design/part-gstobject.txt:
31298         * docs/design/part-standards.txt:
31299         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31300         (gst_bin_remove_func), (gst_bin_remove):
31301         * gst/gstbin.h:
31302         * gst/gstbuffer.c:
31303         * gst/gstcaps.h:
31304         * testsuite/clock/clock1.c: (main):
31305         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
31306         (main):
31307         * testsuite/dlopen/loadgst.c: (do_test):
31308         * testsuite/refcounting/bin.c: (add_remove_test1),
31309         (add_remove_test2), (main):
31310         * testsuite/refcounting/element.c: (main):
31311         * testsuite/refcounting/element_pad.c: (main):
31312         * testsuite/refcounting/pad.c: (main):
31313         * tools/gst-launch.c: (sigint_handler_sighandler):
31314         * tools/gst-typefind.c: (main):
31315         Doc updates.
31316         Added doc about clock.
31317         removed gst_bin_iterate_recurse_up(), marked methods
31318         for removal.
31319         Fix more testsuites.
31320
31321 2005-03-09  Wim Taymans  <wim@fluendo.com>
31322
31323         * gst/gstpad.c: (gst_pad_get_direction),
31324         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
31325         (gst_pad_collect_valist):
31326         * testsuite/bins/interface.c: (main):
31327         * testsuite/caps/audioscale.c: (test_caps):
31328         * testsuite/caps/caps.c: (test1), (test2), (test3):
31329         * testsuite/caps/deserialize.c: (main):
31330         * testsuite/caps/enumcaps.c: (main):
31331         * testsuite/caps/filtercaps.c: (main):
31332         * testsuite/caps/intersect2.c: (main):
31333         * testsuite/caps/random.c: (main):
31334         * testsuite/caps/renegotiate.c: (my_fixate), (main):
31335         * testsuite/caps/sets.c: (check_caps):
31336         * testsuite/caps/simplify.c: (check_caps), (main):
31337         * testsuite/caps/subtract.c: (check_caps):
31338         Fix _pad_get_direction wrt ghostpads.
31339         Fix caps testsuite.
31340
31341 2005-03-09  Wim Taymans  <wim@fluendo.com>
31342
31343         * check/Makefile.am:
31344         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
31345         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
31346         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
31347         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
31348         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
31349         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
31350         (gst_bin_remove), (gst_bin_iterate_recurse_up),
31351         (bin_element_is_sink), (gst_bin_iterate_sinks),
31352         (gst_bin_iterate_all_by_interface):
31353         * gst/gstbin.h:
31354         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31355         (gst_element_change_state), (gst_element_dispose),
31356         (gst_element_finalize), (gst_element_set_loop_function):
31357         * gst/gstelement.h:
31358         * gst/gstiterator.c: (find_custom_fold_func):
31359         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31360         (gst_pad_collectv), (gst_pad_collect_valist),
31361         (gst_pad_template_new):
31362         * gst/gstpipeline.c: (gst_pipeline_class_init),
31363         (gst_pipeline_dispose), (gst_pipeline_set_property),
31364         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31365         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31366         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31367         * gst/gstutils.h:
31368         * gst/schedulers/entryscheduler.c:
31369         * gst/schedulers/gstbasicscheduler.c:
31370         (gst_basic_scheduler_cothreaded_chain),
31371         (gst_basic_scheduler_chain_add_element):
31372         * testsuite/bins/interface.c: (main):
31373         Added GstBin test.
31374         Added GstSystemClock test.
31375         Implemented clock distribution code in GstBin.
31376         Implemented iterate sinks method for future use.
31377         Rearranged gstelement.h
31378         Fix GstIterator comparison bug.
31379         Moved some code to GstPipeline, mostly clocking related.
31380
31381 2005-03-09  Wim Taymans  <wim@fluendo.com>
31382
31383         * configure.ac:
31384         * gst/gst_private.h:
31385         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31386         (gst_bin_remove_func), (gst_bin_remove),
31387         (gst_bin_get_by_name_recurse_up):
31388         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
31389         (gst_clock_id_compare_func), (gst_clock_id_wait),
31390         (gst_clock_id_wait_async), (gst_clock_init),
31391         (gst_clock_adjust_unlocked), (gst_clock_get_time):
31392         * gst/gstelement.h:
31393         * gst/gstinfo.c: (_gst_debug_init):
31394         * gst/gstobject.h:
31395         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31396         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
31397         * gst/gstpad.h:
31398         Bump version number, we're now 0.9.0
31399         Add future debugging category.
31400         Fix NULL _unref() in _get_by_name_recurse_up
31401         Rearrange gstpad.h.
31402         Update some docs.
31403
31404 2005-03-08  Wim Taymans  <wim@fluendo.com>
31405
31406         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
31407         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
31408         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
31409         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
31410         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
31411         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
31412         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
31413         * gst/elements/gstidentity.c: (gst_identity_class_init):
31414         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
31415         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
31416         * gst/elements/gstshaper.c: (gst_shaper_class_init):
31417         * gst/elements/gststatistics.c: (gst_statistics_class_init):
31418         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
31419         (gst_tee_link):
31420         * gst/gstelement.c: (gst_element_class_init),
31421         (gst_element_base_class_init), (gst_element_init),
31422         (gst_element_get_random_pad), (gst_element_wait_state_change),
31423         (gst_element_change_state), (gst_element_dispose),
31424         (gst_element_finalize), (gst_element_set_loop_function):
31425         * gst/gstelement.h:
31426         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
31427         * gst/gstthread.c: (gst_thread_class_init),
31428         (gst_thread_release_children_locks), (gst_thread_change_state):
31429         * gst/schedulers/gstbasicscheduler.c:
31430         (gst_basic_scheduler_loopfunc_wrapper),
31431         (gst_basic_scheduler_chain_wrapper),
31432         (gst_basic_scheduler_src_wrapper),
31433         (gst_basic_scheduler_remove_element):
31434         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
31435         Remove threadsafe properties. Fix elements because GObject
31436         complains when installing a property before declaring a
31437         set/get_property handler.
31438         Rearrange gstelement.h file, use STATE macros for state locks.
31439         Free mutexes in the finalize method instead of dispose.
31440
31441 2005-03-08  Wim Taymans  <wim@fluendo.com>
31442
31443         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31444         * gst/gstthread.c: (gst_thread_release_children_locks):
31445         Added parentage check.
31446         Fix build og GstThread again.
31447
31448 2005-03-08  Wim Taymans  <wim@fluendo.com>
31449
31450         * docs/design/part-MT-refcounting.txt:
31451         * docs/design/part-conventions.txt:
31452         * docs/design/part-gstobject.txt:
31453         * docs/design/part-relations.txt:
31454         * docs/design/part-standards.txt:
31455         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31456         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
31457         (gst_bin_get_by_name), (gst_bin_get_by_interface),
31458         (gst_bin_iterate_all_by_interface):
31459         * gst/gstbuffer.h:
31460         * gst/gstclock.h:
31461         * gst/gstelement.c: (gst_element_class_init),
31462         (gst_element_change_state), (gst_element_set_loop_function):
31463         * gst/gstelement.h:
31464         * gst/gstiterator.c:
31465         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
31466         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
31467         (gst_object_dispatch_properties_changed), (gst_object_set_name),
31468         (gst_object_set_parent), (gst_object_unparent),
31469         (gst_object_check_uniqueness):
31470         * gst/gstobject.h:
31471         Docs updates, clean up some headers.
31472
31473 2005-03-07  Wim Taymans  <wim@fluendo.com>
31474
31475         * check/.cvsignore:
31476         * check/Makefile.am:
31477         * check/gst-libs/.cvsignore:
31478         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
31479         * check/gst/.cvsignore:
31480         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
31481         (START_TEST), (gstbus_suite), (main):
31482         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
31483         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
31484         (gst_data_suite), (main):
31485         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
31486         (add_fold_func), (gstiterator_suite), (main):
31487         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
31488         (thread_name_object), (thread_name_object_default),
31489         (gst_object_name_compare), (gst_object_suite), (main):
31490         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
31491         (gst_pad_suite), (main):
31492         * check/gstcheck.c: (gst_check_log_message_func),
31493         (gst_check_log_critical_func), (gst_check_init):
31494         * check/gstcheck.h:
31495         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
31496         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
31497         Added checks.
31498
31499 2005-03-07  Wim Taymans  <wim@fluendo.com>
31500
31501         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
31502         (gst_list_iterator_next), (gst_list_iterator_resync),
31503         (gst_list_iterator_free), (gst_iterator_new_list),
31504         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
31505         (gst_iterator_free), (gst_iterator_push), (filter_next),
31506         (filter_resync), (filter_uninit), (filter_free),
31507         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
31508         (gst_iterator_foreach), (find_custom_fold_func),
31509         (gst_iterator_find_custom):
31510         * gst/gstiterator.h:
31511         Added missing files.
31512
31513 2005-03-07  Wim Taymans  <wim@fluendo.com>
31514
31515         * Makefile.am:
31516         * configure.ac:
31517         * docs/design/part-MT-refcounting.txt:
31518         * docs/design/part-conventions.txt:
31519         * docs/design/part-gstobject.txt:
31520         * docs/design/part-relations.txt:
31521         * examples/mixer/mixer.c: (main):
31522         * examples/thread/thread.c: (eos), (main):
31523         * gst/Makefile.am:
31524         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
31525         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
31526         (gst_spider_plug_from_srcpad):
31527         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
31528         (gst_spider_identity_change_state),
31529         (gst_spider_identity_sink_loop_type_finding):
31530         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
31531         * gst/elements/gstidentity.c: (gst_identity_init):
31532         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
31533         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
31534         * gst/elements/gsttypefindelement.c: (free_entry):
31535         * gst/gst.c:
31536         * gst/gst.h:
31537         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
31538         (gst_bin_set_clock_func), (gst_bin_auto_clock),
31539         (gst_bin_set_index), (gst_bin_set_element_sched),
31540         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
31541         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
31542         (gst_bin_iterate_elements), (iterate_child_recurse),
31543         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
31544         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
31545         (compare_interface), (gst_bin_get_by_interface),
31546         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
31547         * gst/gstbin.h:
31548         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
31549         (gst_buffer_default_free), (gst_buffer_default_copy),
31550         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
31551         (gst_buffer_create_sub):
31552         * gst/gstbuffer.h:
31553         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
31554         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
31555         (gst_caps_unref), (gst_static_caps_get),
31556         (gst_caps_remove_and_get_structure), (gst_caps_append),
31557         (gst_caps_append_structure), (gst_caps_remove_structure),
31558         (gst_caps_copy_nth), (gst_caps_set_simple),
31559         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
31560         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
31561         (gst_caps_structure_intersect_field), (gst_caps_intersect),
31562         (gst_caps_structure_subtract_field), (gst_caps_subtract),
31563         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
31564         (gst_caps_structure_figure_out_union),
31565         (gst_caps_switch_structures), (gst_caps_do_simplify),
31566         (gst_caps_replace), (gst_caps_from_string),
31567         (gst_caps_copy_conditional):
31568         * gst/gstcaps.h:
31569         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
31570         (_gst_clock_id_free), (gst_clock_id_unref),
31571         (gst_clock_id_compare_func), (gst_clock_id_wait),
31572         (gst_clock_id_wait_async), (gst_clock_class_init),
31573         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
31574         (gst_clock_get_time), (gst_clock_set_time_adjust),
31575         (gst_clock_set_property), (gst_clock_get_property):
31576         * gst/gstclock.h:
31577         * gst/gstcompat.h:
31578         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
31579         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
31580         * gst/gstdata.h:
31581         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31582         (gst_element_requires_clock), (gst_element_provides_clock),
31583         (gst_element_set_clock), (gst_element_clock_wait),
31584         (gst_element_wait), (gst_element_set_time_delay),
31585         (gst_element_is_indexable), (gst_element_add_pad),
31586         (gst_element_add_ghost_pad), (gst_element_remove_pad),
31587         (pad_compare_name), (gst_element_get_static_pad),
31588         (gst_element_request_pad), (gst_element_get_request_pad),
31589         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
31590         (gst_element_class_get_pad_template_list),
31591         (gst_element_class_get_pad_template), (gst_element_error_func),
31592         (gst_element_get_random_pad), (gst_element_get_event_masks),
31593         (gst_element_send_event), (gst_element_seek),
31594         (gst_element_get_query_types), (gst_element_query),
31595         (gst_element_get_formats), (gst_element_convert),
31596         (gst_element_is_locked_state), (gst_element_set_locked_state),
31597         (gst_element_sync_state_with_parent), (gst_element_change_state),
31598         (gst_element_finalize), (gst_element_yield),
31599         (gst_element_interrupt), (gst_element_set_scheduler),
31600         (gst_element_get_scheduler), (gst_element_set_loop_function):
31601         * gst/gstelement.h:
31602         * gst/gstevent.h:
31603         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
31604         (gst_format_get_by_nick), (gst_format_get_details),
31605         (gst_format_iterate_definitions):
31606         * gst/gstformat.h:
31607         * gst/gstindex.c: (gst_index_gtype_resolver):
31608         * gst/gstinfo.c:
31609         * gst/gstinfo.h:
31610         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
31611         (gst_mem_chunk_free):
31612         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
31613         (gst_object_ref), (gst_object_unref), (gst_object_sink),
31614         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
31615         (gst_object_dispatch_properties_changed),
31616         (gst_object_set_name_default), (gst_object_set_name),
31617         (gst_object_get_name), (gst_object_set_name_prefix),
31618         (gst_object_get_name_prefix), (gst_object_set_parent),
31619         (gst_object_get_parent), (gst_object_unparent),
31620         (gst_object_check_uniqueness), (gst_object_save_thyself),
31621         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
31622         (gst_object_set_property), (gst_object_get_property),
31623         (gst_object_get_path_string):
31624         * gst/gstobject.h:
31625         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
31626         (gst_real_pad_init), (gst_real_pad_get_property),
31627         (gst_pad_custom_new), (gst_pad_get_direction),
31628         (gst_pad_set_active), (gst_pad_is_active),
31629         (gst_pad_set_event_function), (gst_pad_is_linked),
31630         (gst_pad_link_free), (gst_pad_link_intersect),
31631         (gst_pad_link_fixate), (gst_pad_set_caps),
31632         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
31633         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
31634         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
31635         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
31636         (gst_pad_get_caps), (gst_pad_peer_get_caps),
31637         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
31638         (gst_pad_realize), (gst_pad_get_allowed_caps),
31639         (gst_real_pad_dispose), (gst_real_pad_finalize),
31640         (gst_pad_collectv), (gst_pad_collect_valist),
31641         (gst_pad_template_dispose), (gst_pad_template_new),
31642         (gst_pad_get_internal_links):
31643         * gst/gstpad.h:
31644         * gst/gstpipeline.c: (gst_pipeline_dispose),
31645         (gst_pipeline_change_state):
31646         * gst/gstpipeline.h:
31647         * gst/gstplugin.c:
31648         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
31649         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
31650         * gst/gstpluginfeature.h:
31651         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
31652         * gst/gstquery.c: (_gst_query_type_initialize),
31653         (gst_query_type_register), (gst_query_type_get_by_nick),
31654         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
31655         * gst/gstquery.h:
31656         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
31657         * gst/gstscheduler.c: (gst_scheduler_add_element),
31658         (gst_scheduler_factory_create):
31659         * gst/gststructure.c: (gst_structure_set_parent_refcount),
31660         (gst_structure_free), (gst_structure_set_name),
31661         (gst_structure_id_set_value), (gst_structure_set_value),
31662         (gst_structure_set_valist), (gst_structure_remove_field),
31663         (gst_structure_remove_fields),
31664         (gst_structure_remove_fields_valist),
31665         (gst_structure_remove_all_fields), (gst_structure_foreach),
31666         (gst_structure_map_in_place),
31667         (gst_caps_structure_fixate_field_nearest_int),
31668         (gst_caps_structure_fixate_field_nearest_double):
31669         * gst/gststructure.h:
31670         * gst/gstsystemclock.c: (gst_system_clock_class_init),
31671         (gst_system_clock_init), (gst_system_clock_dispose),
31672         (gst_system_clock_async_thread),
31673         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
31674         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
31675         * gst/gstsystemclock.h:
31676         * gst/gsttag.c: (gst_tag_list_add_value_internal),
31677         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
31678         * gst/gsttaginterface.c:
31679         * gst/gstthread.c: (gst_thread_dispose),
31680         (gst_thread_release_children_locks), (gst_thread_change_state),
31681         (gst_thread_main_loop):
31682         * gst/gsttrashstack.h:
31683         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
31684         * gst/gsttypes.h:
31685         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
31686         (gst_element_request_pad), (gst_element_get_pad_from_template),
31687         (gst_element_request_compatible_pad),
31688         (gst_element_get_compatible_pad_filtered),
31689         (gst_element_get_compatible_pad), (gst_element_state_get_name),
31690         (gst_element_link_pads_filtered), (gst_element_link_filtered),
31691         (gst_element_link_many), (gst_element_link),
31692         (gst_element_link_pads), (gst_element_unlink_pads),
31693         (gst_element_unlink_many), (gst_element_unlink),
31694         (gst_pad_can_link_filtered), (gst_pad_can_link),
31695         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
31696         (gst_object_default_error), (gst_bin_add_many),
31697         (gst_bin_remove_many), (gst_element_populate_std_props),
31698         (gst_element_class_install_std_props), (gst_buffer_merge),
31699         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
31700         (link_fold_func), (gst_pad_proxy_setcaps):
31701         * gst/gstutils.h:
31702         * gst/gstvalue.c: (gst_value_deserialize_string):
31703         * gst/parse/grammar.y:
31704         * gst/schedulers/gstbasicscheduler.c:
31705         (gst_basic_scheduler_cothreaded_chain),
31706         (gst_basic_scheduler_chain_recursive_add),
31707         (gst_basic_scheduler_pad_link):
31708         * gst/schedulers/gstoptimalscheduler.c:
31709         (get_group_schedule_function),
31710         (gst_opt_scheduler_state_transition),
31711         (gst_opt_scheduler_add_element), (element_get_reachables_func):
31712         * libs/gst/bytestream/bytestream.c:
31713         * libs/gst/dataprotocol/dataprotocol.c:
31714         (gst_dp_header_from_buffer):
31715         * po/nb.po:
31716         * po/ru.po:
31717         * tests/threadstate/threadstate2.c: (eos):
31718         * tools/gst-compprep.c: (main):
31719         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
31720         (print_pad_info), (print_children_info):
31721         * tools/gst-launch.c: (idle_func), (main):
31722         * tools/gst-md5sum.c: (idle_func), (main):
31723         * tools/gst-xmlinspect.c: (print_element_info):
31724         First THREADED backport attempt, focusing on adding locks and
31725         making sure the API is threadsafe. Needs more work. More docs
31726         follow this week.
31727
31728 2005-02-24  Andy Wingo  <wingo@pobox.com>
31729
31730         * tests/bench-complexity.scm:
31731         * tests/complexity.gnuplot: New files, good for running complexity
31732         benchmarks.
31733
31734         * tests/Makefile.am:
31735         * tests/complexity.c: New test, sets up N elements, at each level
31736         teeing into M streams per element. Eeeenteresting.
31737
31738         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
31739         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
31740         running bench-mass_elements.scm.
31741
31742         * tests/bench-mass_elements.scm: New script, runs mass_elements
31743         for various numbers of identities, outputting the results to a
31744         file. Requires guile 1.6. Just for testing.
31745
31746 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
31747
31748         * gst/schedulers/fairscheduler.c:
31749           compile with debug disabled
31750
31751 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
31752
31753         * configure.ac:
31754           hunting season on 0.9 is now OPEN