gst/gstevent.h: Add a SKIP seek flag for use with advanced trickmodes.
[platform/upstream/gstreamer.git] / ChangeLog
1 2008-11-06  Wim Taymans  <wim.taymans@collabora.co.uk>
2
3         * gst/gstevent.h:
4         Add a SKIP seek flag for use with advanced trickmodes.
5         API: GstSeekFlags::GST_SEEK_FLAG_SKIP
6
7 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
8
9         * gst/gststructure.c: (gst_structure_id_empty_new_with_size):
10         No need to memset, we can clear the value ourselves.
11
12         * gst/gstvalue.c: (gst_type_is_fixed),
13         (gst_value_get_compare_func):
14         Some optimisations from a few callgrind sessions:
15         When checking if a type is fixed, check for trivial fundamental types
16         first before checking types for which we need to get the type followed
17         by the heavy duty type checks, this reduces the amount of
18         g_type_fundamental() calls a lot.
19         When getting the compare function, first check for our registered types.
20         If that fails, do the heavy duty g_type_is_a() checks, reduces the
21         amount of g_type_is_a() considerably.
22
23 2008-11-05  Wim Taymans  <wim.taymans@collabora.co.uk>
24
25         * docs/design/part-TODO.txt:
26         Mumble something about removing GstXML.
27
28 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
29
30         * gst/gstbin.c: (gst_bin_handle_message_func):
31         Get the seqnum before we dispose the message.
32
33 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
34
35         * docs/design/part-TODO.txt:
36         Refer to the framestepping document.
37
38 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
39
40         * gst/gstbin.c: (bin_handle_async_start),
41         (gst_bin_handle_message_func), (gst_bin_query):
42         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
43         (gst_base_sink_event), (gst_base_sink_change_state):
44         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
45         (gst_base_src_loop), (gst_base_src_change_state):
46         Copy seqnums from events to messages so that they can all be related
47         back to eachother.
48
49 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
50
51         * tools/gst-launch.c: (event_loop):
52         Print the message seqnums.
53
54 2008-11-04  Andy Wingo  <wingo@pobox.com>
55
56         * gst/gstutils.c (gst_util_seqnum_next): Refactor for clarity.
57
58 2008-11-04  Andy Wingo  <wingo@pobox.com>
59
60         Add sequence numbers to events and messages. See #559250.
61
62         * gst/gstutils.c (gst_util_seqnum_next, gst_util_seqnum_compare):
63         API: New functions.
64
65         * gst/gstevent.h:
66         * gst/gstevent.c (_gst_event_copy, gst_event_new): Initialize new
67         events with a new sequence number, and copy it when copying.
68         (gst_event_get_seqnum, gst_event_set_seqnum): API: Accessors for
69         an event's sequence number.
70
71         * gst/gstmessage.h:
72         * gst/gstmessage.c (_gst_message_copy, gst_message_new_custom):
73         (gst_event_get_seqnum, gst_event_set_seqnum): API: As with events,
74         so with messages.
75
76         * docs/gst/gstreamer-sections.txt: Add new functions to the docs.
77
78 2008-11-04  Wim Taymans  <wim.taymans@collabora.co.uk>
79
80         * docs/manual/advanced-position.xml:
81         * docs/manual/basics-bins.xml:
82         * docs/manual/basics-bus.xml:
83         * docs/manual/basics-pads.xml:
84         * docs/manual/intro-gstreamer.xml:
85         * docs/manual/intro-preface.xml:
86         Some Application Development Manual fixes thanks to
87         Andrew Feren. Fixes #558459.
88
89 2008-11-03  Stefan Kost  <ensonic@users.sf.net>
90
91         * gst/gstregistrybinary.c:
92           Don't bother with the GTimer if we don't output the results.
93
94 2008-11-03  Wim Taymans  <wim.taymans@collabora.co.uk>
95
96         Patch by: David Schleef  <ds@schleef.org>
97
98         * libs/gst/net/Makefile.am:
99         Add WIN32_LIBS to libgstnet LIBADD. Fixes #557300.
100
101 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
102
103         * gst/gstregistrybinary.c:
104           Oh my, studip, stupid me. Remove double stat() call.
105
106 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
107
108         * gst/gstpreset.c:
109           Use g_unlink instead of unlink.
110
111         * gst/gststructure.c:
112           Use glib type.
113
114         * gst/gstutils.c:
115           Add a FIXME:.
116
117         * gst/gsttaglist.c:
118         * gst/gsttypefind.c:
119         * gst/gstvalue.c:
120           Formatting & whitespaces.
121
122 2008-10-31  Stefan Kost  <ensonic@users.sf.net>
123
124         * plugins/elements/gstidentity.c:
125           Doc typo. Use return value of parent_class->event.
126   
127         * plugins/elements/gsttypefindelement.c:
128           Chain up at the end for consistency.
129   
130 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
131
132         * docs/Makefile.am:
133         * docs/gst/gstreamer-docs.sgml:
134         * docs/gst/gstreamer-sections.txt:
135         * docs/gst/running.xml:
136         * docs/libs/gstreamer-libs-docs.sgml:
137           Change to xinclude based build - its faster and easier to maintain.
138
139 2008-10-30  Stefan Kost  <ensonic@users.sf.net>
140
141         * gst/gstregistrybinary.c:
142         * gst/gstregistryxml.c:
143           Use g_unlink() as none of these are directories.
144
145 2008-10-29  Wim Taymans  <wim.taymans@collabora.co.uk>
146
147         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func):
148         Some more comments.
149
150 2008-10-27  Wim Taymans  <wim.taymans@collabora.co.uk>
151
152         * libs/gst/base/gstbasetransform.c:
153         (gst_base_transform_find_transform), (gst_base_transform_getrange):
154         If we have a fixate function, call it even if we already have fixed caps
155         because the subclass might add some caps. Makes audioconvert add a
156         default channel layout.
157
158 2008-10-24  Wim Taymans  <wim.taymans@collabora.co.uk>
159
160         * libs/gst/base/gstbasetransform.c:
161         (gst_base_transform_prepare_output_buffer),
162         (gst_base_transform_getrange):
163         Clear the output buffer variable.
164         Cleanups to the error path in the getrange function.
165         Fixes #557649.
166
167 2008-10-23  Sebastian Dröge  <slomo@circular-chaos.org>
168
169         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
170         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
171         Use gst_buffer_try_new_and_alloc() and handle errors instead of
172         using gst_buffer_new_and_alloc() which aborts if the buffer couldn't
173         be allocated.
174
175 2008-10-23  Wim Taymans  <wim.taymans@collabora.co.uk>
176
177         * gst/gstsegment.c: (gst_segment_set_newsegment_full):
178         Set the last_stop to a more meaningful position when configuring the
179         segment. ie. the start/stop of the segment or clipped against the
180         updated segment boundaries.
181
182         * tests/check/gst/gstsegment.c: (GST_START_TEST):
183         Add some unit tests for the last_stop.
184
185 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
186
187         * libs/gst/base/gstbytereader.c:
188         Use GST_(READ|WRITE)_(FLOAT|DOUBLE)_(LE|BE) instead of our own
189         copies of them.
190
191 2008-10-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
192
193         * docs/gst/gstreamer-sections.txt:
194         * gst/gstutils.h:
195         API: Move float endianness conversion macros from libgstfloatcast
196         to core as it's useful in general, even in core. Fixes bug #555196.
197         This adds GDOUBLE_FROM_BE, GDOUBLE_FROM_LE, GDOUBLE_TO_BE,
198         GDOUBLE_TO_LE, GDOUBLE_SWAP_LE_BE, GFLOAT_FROM_BE, GFLOAT_FROM_LE,
199         GFLOAT_TO_BE, GFLOAT_TO_LE, GFLOAT_SWAP_LE_BE.
200
201         Also add GST_READ_ and GST_WRITE_ macros for floats and doubles:
202         GST_READ_FLOAT_LE, GST_READ_FLOAT_BE, GST_READ_DOUBLE_LE,
203         GST_READ_DOUBLE_BE, GST_WRITE_FLOAT_LE, GST_WRITE_FLOAT_BE,
204         GST_WRITE_DOUBLE_LE, GST_WRITE_DOUBLE_BE.
205
206 2008-10-22  Sebastian Dröge  <slomo@circular-chaos.org>
207
208         * docs/libs/gstreamer-libs-sections.txt:
209         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_data),
210         (gst_byte_reader_peek_data):
211         * libs/gst/base/gstbytereader.h:
212         * win32/common/libgstbase.def:
213         API: Add gst_byte_reader_get_data and gst_byte_reader_peek_data
214         to get a pointer to the data at the current position and have
215         a guaranteed size.
216
217 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
218
219         * configure.ac:
220         Fix a bug in the output of the configure script summary
221         when --gst-disable-registry is supplied
222
223 2008-10-22  Jan Schmidt  <jan.schmidt@sun.com>
224
225         * libs/gst/base/gstbitreader.c:
226         * libs/gst/base/gstbytereader.c:
227         Fix the names of 2 functions in the docs strings.
228
229 2008-10-21  Wim Taymans  <wim.taymans@collabora.co.uk>
230
231         * libs/gst/base/gstbasetransform.c:
232         (gst_base_transform_prepare_output_buffer),
233         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
234         Protect sink_alloc caps with the sinkpad lock to avoid nasty caps
235         refcount problems as seen in banshee and maybe also in farsight2.
236         Remove atomic int now that we need to take the lock anyways.
237
238 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
239
240         * libs/gst/base/gstbasesink.c: (gst_base_sink_default_do_seek),
241         (gst_base_sink_default_prepare_seek_segment),
242         (gst_base_sink_perform_seek), (gst_base_sink_get_position_last),
243         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
244         (gst_base_sink_query):
245         Implement more seeking in pull mode.
246         Use pad convert functions to convert position to the requested format.
247         Fix position/duration reporting in pull mode.
248         Implement position and duration reporting in other formats than time.
249
250         * libs/gst/base/gstbasesink.h:
251         Add member to keep track of when the segment is playing.
252
253 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
254
255         * gst/gstpad.c: (gst_pad_configure_src):
256         When we use gst_pad_alloc_buffer() without wanting to set the caps we
257         also don't need to check if the caps are compatible because the caller
258         presumably is going to perform its own custom checks. Fixes some cases
259         where basetransform elements would error out when it was not needed.
260
261 2008-10-20  Wim Taymans  <wim.taymans@collabora.co.uk>
262
263         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
264         Update comment.
265
266         * libs/gst/base/gstbasetransform.c:
267         (gst_base_transform_handle_buffer),
268         (gst_base_transform_reconfigure):
269         Add some debug info.
270
271         * win32/common/libgstbase.def:
272         Add new method.
273
274 2008-10-19  Stefan Kost  <ensonic@users.sf.net>
275
276         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek);
277           Remove duplicated assignment and log a message in failure case.
278
279 2008-10-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
280
281         Patch by: Dig Ge <dig.ge.cn at gmail com>
282
283         * tests/examples/helloworld/helloworld.c: (main):
284           Fix copy'n'paste bug in hello world example (#556900).
285
286 2008-10-17  Wim Taymans  <wim.taymans@collabora.co.uk>
287
288         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate_pull),
289         (gst_base_sink_query):
290         Query the total number of bytes when activating the pad in pull mode.
291         Implement duration query in pull mode by using the installed pad convert
292         function to convert from bytes to the requested format.
293
294 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
295
296         * docs/libs/gstreamer-libs-sections.txt:
297         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_preroll),
298         (gst_base_sink_flush_start), (gst_base_sink_flush_stop),
299         (gst_base_sink_event), (gst_base_sink_perform_seek),
300         (gst_base_sink_loop), (gst_base_sink_pad_activate_pull),
301         (gst_base_sink_send_event), (gst_base_sink_change_state):
302         * libs/gst/base/gstbasesink.h:
303         Add method to commit the state in subclasses.
304         Refactor the flush_start and flush_stop code because we need it for
305         flushing while seeking too.
306         Implement the beginnings of seeking in pull mode.
307         Use the segment last_stop field for the pulling offset.
308         Fix the pause method in pull mode.
309         Configure the segment to BYTES for pull mode.
310         API: GstBaseSink::gst_base_sink_do_preroll()
311
312 2008-10-16  Wim Taymans  <wim.taymans@collabora.co.uk>
313
314         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
315         Update some docs.
316
317 2008-10-14  Tim-Philipp Müller  <tim.muller at collabora co uk>
318
319         * gst/gstquark.c: (_priv_gst_quarks_initialize):
320           Fix printf format warning.
321
322 2008-10-14  Sebastian Dröge  <slomo@circular-chaos.org>
323
324         * plugins/elements/gsttee.c: (gst_tee_handle_buffer):
325         Fix flow aggregation of tee. Error out immediately for all flow returns
326         except OK and NOT_LINKED, return NOT_LINKED if all pads are not linked
327         and return OK if at least one pad is linked.
328
329         Before we errored out on "fatal" flow returns (i.e. not for WRONG_STATE)
330         and otherwise returned the flow return of the last pad, which is wrong.
331         
332         * tests/check/elements/tee.c: (_fake_chain), (_fake_chain_error),
333         (GST_START_TEST), (tee_suite):
334         Add unit tests for the flow aggregation.
335
336 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
337
338         * docs/design/part-TODO.txt:
339         Remove item from the todo list because it was fixed with the latency
340         state change rewrites.
341
342         * docs/design/part-seeking.txt:
343         * docs/design/part-segments.txt:
344         Update some docs.
345
346         * gst/gstevent.c: (gst_event_new_new_segment_full),
347         (gst_event_parse_new_segment_full), (gst_event_new_buffer_size),
348         (gst_event_parse_buffer_size), (gst_event_new_qos),
349         (gst_event_parse_qos), (gst_event_new_seek),
350         (gst_event_parse_seek), (gst_event_new_latency),
351         (gst_event_parse_latency):
352         Use quarks to construct and parse events.
353
354         * gst/gstquark.c: (_priv_gst_quarks_initialize):
355         * gst/gstquark.h:
356         Add some more quarks to the table.
357         Emit a warning when the quark tables are not in sync.
358
359         * tests/check/gst/gstbus.c: (GST_START_TEST):
360         Add an assert.
361
362 2008-10-13  Stefan Kost  <ensonic@users.sf.net>
363
364         * plugins/elements/Makefile.am:
365         * plugins/indexers/Makefile.am:
366           Don't install static libs for plugins. Fixes #550851 for core.
367
368 2008-10-13  Wim Taymans  <wim.taymans@collabora.co.uk>
369
370         * gst/gstbus.c: (gst_bus_source_finalize),
371         (gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
372         (gst_bus_enable_sync_message_emission),
373         (gst_bus_disable_sync_message_emission),
374         (gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
375         Fix deadlock, g_source_get_id() cannot be called in finalize.
376         Keep track of the watch source by keeping a pointer to the source object
377         instead.
378         Use the bus lock to protect access to the pointer to the current
379         watch source.
380
381 2008-10-13  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
382
383         Base on Patch by: Olivier Crete <tester at tester dot ca>
384
385         * gst/gstbus.c: (gst_bus_source_finalize),
386         (gst_bus_add_watch_full), (gst_bus_add_signal_watch_full):
387         Only allow one bus watch to be set at a time. This is necessary
388         because the dispatcher pops the message from the bus and the second
389         watcher will then get NULL or the next message (and the first won't
390         get this next message then, etc). If more than one "watcher" is
391         required signal watches should be used. Fixes bug #526044.
392
393 2008-10-12  Jan Schmidt  <jan.schmidt@sun.com>
394
395         * tools/gst-launch.c:
396         Change the printing of the 'buffering...' output to avoid putting
397         a \r in a translateable string (flagged by the TP).
398
399 2008-10-10  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
400
401         * gst/gstxml.c:
402         Clarify that the save_thyself() and restore_thyself() virtual
403         functions of GstObject need to be overriden, not
404         gst_object_(save|restore)_thyself() which is impossible.
405         Fixes bug #555700.
406
407 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
408
409         * gst/gstpad.c: (gst_pad_get_range), (gst_pad_pull_range):
410         Revert a patch from 21 months ago that broke caps negotiation in pull
411         mode. Basically, having a buffer pass over a pad will trigger the
412         setcaps function when caps change, just like in push mode.
413
414 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
415
416         * docs/design/part-negotiation.txt:
417         Update the docs some more.
418
419         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
420         If we pull a buffer with non-trivial caps, suggest those caps with the
421         max probability.
422
423 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
424
425         * docs/design/part-TODO.txt:
426         Add another limitation of pad-blocking with segment seeks not pushing
427         EOS events.
428
429 2008-10-10  Jan Schmidt  <jan.schmidt@sun.com>
430
431         * win32/common/libgstbase.def:
432         * win32/common/libgstreamer.def:
433         Add new symbols to the win32 defs files
434
435 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
436
437         * gst/gstbin.c: (gst_bin_remove_func), (update_degree),
438         (gst_bin_handle_message_func):
439         The message src can be NULL, don't try to print the object names in that
440         case.
441
442         * libs/gst/base/gstbasesink.c: (gst_base_sink_pad_activate):
443         Add some more debug info.
444
445         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline),
446         (GST_START_TEST):
447         Add some debug.
448         Fix the test, pull based sinks go ASYNC to PAUSED, just like other
449         scheduling modes.
450
451 2008-10-10  Wim Taymans  <wim.taymans@collabora.co.uk>
452
453         * docs/design/part-negotiation.txt:
454         Small doc update.
455
456         * docs/libs/gstreamer-libs-sections.txt:
457         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
458         (gst_base_sink_pad_getcaps), (gst_base_sink_pad_setcaps),
459         (gst_base_sink_init), (gst_base_sink_set_blocksize),
460         (gst_base_sink_get_blocksize), (gst_base_sink_set_property),
461         (gst_base_sink_get_property), (gst_base_sink_needs_preroll),
462         (gst_base_sink_loop), (gst_base_sink_pad_activate),
463         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
464         (gst_base_sink_change_state):
465         * libs/gst/base/gstbasesink.h:
466         Add blocksize property and methods to control the amount of data
467         to pull.
468         Negotiate first before activating upstream in pull mode so that they can
469         negotiate themselves.
470         When we operate in pull mode, we only accept the caps that we
471         negotiated.
472         Make the sink go ASYNC to PAUSED, like all other sinks.
473         API: GstBaseSink::gst_base_sink_set_blocksize()
474         API: GstBaseSink::gst_base_sink_get_blocksize()
475         API: GstBaseSink::blocksize
476
477         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
478         (gst_base_src_set_live), (gst_base_src_is_live),
479         (gst_base_src_set_format), (gst_base_src_query_latency),
480         (gst_base_src_set_blocksize), (gst_base_src_get_blocksize),
481         (gst_base_src_set_do_timestamp), (gst_base_src_get_do_timestamp),
482         (gst_base_src_set_property), (gst_base_src_get_property):
483         * libs/gst/base/gstbasesrc.h:
484         Add typechecking in public API functions.
485         Add methods to control the blocksize in subclasses.
486         API: GstBaseSrc::gst_base_src_set_blocksize()
487         API: GstBaseSrc::gst_base_src_get_blocksize()
488
489 2008-10-10  Edward Hervey  <edward.hervey@collabora.co.uk>
490
491         * tests/check/gst/gstutils.c: (probe_do_nothing), (data_probe),
492         (buffer_probe), (event_probe), (GST_START_TEST):
493         We now see 3 events go through our pad, since basesink now sends
494         upstream latency events.
495
496 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
497
498         * gst/gstpipeline.c: (gst_pipeline_change_state):
499         Release the object lock before trying to flush the bus.
500
501 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
502
503         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
504         Forward LATENCY events upstreams so that elements know about the total
505         pipeline latency. Fixes #555307.
506
507 2008-10-08  Jan Schmidt  <jan.schmidt@sun.com>
508
509         * plugins/elements/gstqueue.c:
510         Allow through queries when we don't know how
511         to adjust them (not TIME or BYTES), as otherwise it's
512         not possible to query the current position in order
513         to seek in other formats at all.
514
515 2008-10-08  Andy Wingo  <wingo@pobox.com>
516
517         * docs/gst/gstreamer-sections.txt: Placate doc pendants.
518
519 2008-10-08  Wim Taymans  <wim.taymans@collabora.co.uk>
520
521         * gst/gstghostpad.c:
522         * gst/gstghostpad.h:
523         Unbreak -good build, private is a reserved c++ keyword.
524
525 2008-10-08  Andy Wingo  <wingo@pobox.com>
526
527         * gst/gstghostpad.h (GST_GHOST_PAD_CAST):
528         * gst/gstghostpad.c (GST_GHOST_PAD_CAST): Fix unintended API
529         removal: re-add GST_GHOST_PAD_CAST to the header.
530
531         * gst/gstghostpad.h (GstProxyPad, GstProxyPadClass, GstGhostPad)
532         (GstGhostPadClass): Publically expose these structures so as to
533         allow easy subclassing from C. Hide the member data behind a
534         private opaque data pointer.
535
536         * gst/gstghostpad.c: Adapt to store instance data in the type
537         instance's private data region, not in the public struct.
538
539 2008-10-08  Andy Wingo  <wingo@pobox.com>
540
541         * gst/gstghostpad.c (gst_ghost_pad_construct): If we got a
542         template via g_object_get(), be sure to unref it.
543
544         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): Fix incorrect doc.
545
546 2008-10-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
547
548         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
549         If we can't get a cache file don't try to save something to it.
550         Dereferencing NULL pointers usually isn't a good idea.
551
552 2008-10-07  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
553
554         * tests/check/Makefile.am:
555         * tests/check/gst/gstabi.c:
556         * tests/check/gst/struct_sparc.h:
557         * tests/check/libs/libsabi.c:
558         * tests/check/libs/struct_sparc.h:
559         Add Sparc ABI checks
560
561         * tests/check/gst/gstvalue.c: (GST_START_TEST):
562         Cast signed integer to unsigned to avoid a compiler warning.
563
564 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
565
566         * libs/gst/base/gstbytereader.c: (gst_byte_reader_get_uint24_le),
567         (gst_byte_reader_get_uint24_be), (gst_byte_reader_get_int24_le),
568         (gst_byte_reader_get_int24_be), (gst_byte_reader_peek_uint24_le),
569         (gst_byte_reader_peek_uint24_be), (gst_byte_reader_peek_int24_le),
570         (gst_byte_reader_peek_int24_be):
571         Use new GST_READ_UINT24_(LE|BE) macros.
572
573 2008-10-07  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
574
575         * docs/gst/gstreamer-sections.txt:
576         * gst/gstutils.h:
577         Always use the unaligned variants of GST_READ_UINT* and GST_WRITE_UINT*
578         as it's too easy to break the ISO C strict aliasing rules with simple
579         casts to the corresponding type and this would introduce hard to debug
580         bugs. Fixes bug #545714.
581
582         API: Add GST_READ_UINT24_(LE|BE) and GST_WRITE_UINT24_(LE|BE).
583
584 2008-10-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
585
586         * gst/gstbuffer.h: (GST_BUFFER_FREE_FUNC):
587         * gst/gstghostpad.c: (gst_ghost_pad_construct):
588           Add 'Since' bits to gtk-doc chunks for new API.
589
590 2008-10-06  Thijs Vermeir  <thijsvermeir@gmail.com>
591
592         * docs/gst/gstreamer-sections.txt:
593         Fix documentation
594
595 2008-10-06  Andy Wingo  <wingo@pobox.com>
596
597         * gst/gstbuffer.h (GST_BUFFER_FREE_FUNC): New API, a free function
598         that will be called on the malloc_data to free it. Basically a way
599         to avoid subclassing when all you need is a different free
600         function, i.e. free() instead of g_free().
601
602         * gst/gstbuffer.c (gst_buffer_finalize): Free malloc_data via
603         calling the free function.
604         (gst_buffer_init): Initialize the free function to g_free.
605
606 2008-10-06  Andy Wingo  <wingo@pobox.com>
607
608         * gst/gstghostpad.h:
609         * gst/gstghostpad.c (gst_ghost_pad_construct): New function,
610         finishes the initialization of ghost pad. Useful for language
611         bindings and subclassers of GstGhostPad. Fixes #539108.
612         (gst_ghost_pad_new_full): Use the new constructor.
613
614 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
615
616         Base on Patch by: Olivier Crete <tester at tester dot ca>
617
618         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
619         (gst_bin_remove_func), (update_degree),
620         (gst_bin_sort_iterator_new), (gst_bin_handle_message_func):
621         Keep track of pads that are being linked/unlinked and resync the state
622         changes.
623
624         * gst/gstpad.c: (gst_pad_get_direction),
625         (gst_pad_set_chain_function), (gst_pad_set_getrange_function),
626         (gst_pad_set_checkgetrange_function), (gst_pad_unlink),
627         (gst_pad_link_prepare), (gst_pad_link),
628         (gst_pad_event_default_dispatch), (gst_pad_chain), (gst_pad_push),
629         (gst_pad_check_pull_range), (gst_pad_get_range),
630         (gst_pad_pull_range):
631         Some code cleanups, use macros to check pad direction.
632         Don't need to take the lock on the pad direction.
633         Post structure change when pads are linked/unlinked.
634         Change some checks into _return_if_fail().
635
636         * tests/check/gst/gstbin.c:
637         (test_link_structure_change_state_changed_sync_cb),
638         (GST_START_TEST), (gst_bin_suite):
639         Add testcase for pad link/unlinke resync during a state change.
640         Fixes #510354.
641
642 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
643
644         * docs/gst/gstreamer-sections.txt:
645         * gst/gstmessage.c: (gst_message_new_structure_change),
646         (gst_message_parse_structure_change):
647         * gst/gstmessage.h:
648         Implement STRUCTURE_CHANGED messages. These messages will be used to
649         signal the parent bin of link/unlink operations that could require a
650         resync when doing a state change. See ##510354.
651         API: gst_message_new_structure_change()
652         API: gst_message_parse_structure_change()
653
654 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
655
656         * gst/gstquark.c:
657         * gst/gstquark.h:
658         Add some more quarks for new message. See #510354.
659
660 2008-10-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
661
662         * docs/libs/gstreamer-libs-docs.sgml:
663         * docs/libs/gstreamer-libs-sections.txt:
664         * libs/gst/base/Makefile.am:
665         * libs/gst/base/gstbitreader.c: (gst_bit_reader_new),
666         (gst_bit_reader_new_from_buffer), (gst_bit_reader_free),
667         (gst_bit_reader_init), (gst_bit_reader_init_from_buffer),
668         (gst_bit_reader_set_pos), (gst_bit_reader_get_pos),
669         (gst_bit_reader_get_remaining), (gst_bit_reader_skip),
670         (gst_bit_reader_skip_to_byte):
671         * libs/gst/base/gstbitreader.h:
672         * libs/gst/base/gstbytereader.c: (GDOUBLE_SWAP_LE_BE),
673         (GFLOAT_SWAP_LE_BE), (gst_byte_reader_new),
674         (gst_byte_reader_new_from_buffer), (gst_byte_reader_free),
675         (gst_byte_reader_init), (gst_byte_reader_init_from_buffer),
676         (gst_byte_reader_set_pos), (gst_byte_reader_get_pos),
677         (gst_byte_reader_get_remaining), (gst_byte_reader_skip),
678         (gst_byte_reader_get_uint8), (gst_byte_reader_get_int8),
679         (gst_byte_reader_peek_uint8), (gst_byte_reader_peek_int8),
680         (gst_byte_reader_get_uint24_le), (gst_byte_reader_get_uint24_be),
681         (gst_byte_reader_get_int24_le), (gst_byte_reader_get_int24_be),
682         (gst_byte_reader_peek_uint24_le), (gst_byte_reader_peek_uint24_be),
683         (gst_byte_reader_peek_int24_le), (gst_byte_reader_peek_int24_be):
684         * libs/gst/base/gstbytereader.h:
685         * tests/check/Makefile.am:
686         * tests/check/libs/bitreader.c: (GST_START_TEST),
687         (gst_bit_reader_suite):
688         * tests/check/libs/bytereader.c: (GST_START_TEST),
689         (gst_byte_reader_suite):
690         API: Add bit reader and byte reader classes, including documentation
691         and an extensive unit test suite. Fixes bug #553554.
692
693 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
694
695         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position),
696         (gst_base_sink_query):
697         Improve position reporting while flushing and other intermediate state
698         changes. Fixes #553874.
699
700 2008-10-06  Wim Taymans  <wim.taymans@collabora.co.uk>
701
702         Patch by: Antoine Tremblay <hexa00 at gmail dot com>
703
704         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
705         Original patch by : Simon Descaries
706         Fix small refount leak in caps compatibility check.
707         Fixes #551676.
708
709 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
710
711         * docs/pwg/advanced-request.xml:
712           Fix 0.8 api usage in example. Fixes #554561
713
714         * docs/pwg/appendix-porting.xml:
715           Change 0.9 to 0.10 here.
716
717 2008-10-06  Stefan Kost  <ensonic@users.sf.net>
718
719         * docs/manual/basics-data.xml:
720           Change "event-event interaction" to "element-element interaction".
721           Fixes #552448. Also fix sample code for seeking and do more 0.8->0.10
722           updates.
723
724 2008-10-05  Jan Schmidt  <jan.schmidt@sun.com>
725
726         * configure.ac:
727         Back to development -> 0.10.21.1
728
729 === release 0.10.21 ===
730
731 2008-10-02  Jan Schmidt <jan.schmidt@sun.com>
732
733         * configure.ac:
734           releasing 0.10.21, "Take These Things From Me"
735
736 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
737
738         * configure.ac:
739         0.10.20.4 pre-release
740
741 2008-09-28  Jan Schmidt  <jan.schmidt@sun.com>
742
743         * libs/gst/base/gstbasetransform.c:
744         * plugins/elements/gstcapsfilter.c:
745         * tests/check/Makefile.am:
746         * tests/check/elements/.cvsignore:
747         * tests/check/elements/capsfilter.c:
748         Fix assertion in basetransform when the subclass chooses not to
749         allocate a buffer in prepare_buffer(), and make capsfilter error out
750         cleanly if requested to apply caps that don't completely specify the
751         buffer. Fixes #551509
752
753 2008-09-24  Wim Taymans  <wim.taymans@collabora.co.uk>
754
755         * libs/gst/base/gstbasetransform.c:
756         (gst_base_transform_prepare_output_buffer):
757         Take new caps ref because our old one might have been gone when the
758         subclass performs a gst_pad_set_caps() on the srcpad. See #548764.
759
760 2008-09-15  Stefan Kost  <ensonic@users.sf.net>
761
762         * configure.ac:
763           Do not probe availability of check unit test library when cross
764           compiling, as test would not work anyway. Also cleanup verbose output
765           of the check test. Fixes #551952.
766
767 2008-09-14  Wim Taymans  <wim.taymans@collabora.co.uk>
768
769         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
770
771         * gst/gstelement.c: (gst_element_sync_state_with_parent):
772         Avoid leaking the parent ref when we fail changing the state of the
773         element using gst_element_sync_state_with_parent(). Fixes #551978.
774
775 2008-09-11  Tim-Philipp Müller  <tim.muller at collabora co uk>
776
777         * docs/manual/intro-motivation.xml::
778           Remove some bits that no longer apply, update others (#551642).
779
780 2008-09-10  Jan Schmidt  <jan.schmidt@sun.com>
781
782         * configure.ac:
783         0.10.20.2 pre-release
784
785         * po/LINGUAS:
786         * po/id.po:
787         * po/pt_BR.po:
788
789         New translations.
790
791 2008-09-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
792
793         * win32/common/config.h.in:
794           Add GST_DATADIR, hard-code cpu to x86.
795
796         * win32/common/libgstreamer.def:
797           Spaces to tabs.
798
799 2008-09-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
800
801         * gst/gsttaglist.h:
802           Fix Since: markers for new geo tags.
803
804 2008-09-02  Stefan Kost  <ensonic@users.sf.net>
805
806         * gst/gsttaglist.h:
807           Fix actual tag name define after renaming from altitude to elevation.
808
809 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
810
811         * gst/gstpad.c: (add_unref_pad_to_list),
812         (gst_pad_get_internal_links_default):
813         Add fallback when calling the deprecated function on an element that
814         implements the new internal_link handler.
815
816 2008-09-01  Stefan Kost  <ensonic@users.sf.net>
817
818         * docs/gst/gstreamer-sections.txt:
819         * gst/gsttaglist.c:
820         * gst/gsttaglist.h:
821           Add new tags for geo location and clarify purpose of existing location
822           tag. Fixes #481169
823
824 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
825
826         Patch by: Olivier Crete <tester at tester dot ca>
827
828         * gst/gstpad.c: (gst_pad_iterate_internal_links_default),
829         (gst_pad_event_default_dispatch), (gst_pad_dispatcher):
830         Use thread-safe internal links iterator. Fixes #549504.
831
832 2008-09-01  Wim Taymans  <wim.taymans@collabora.co.uk>
833
834         Based on patch by: Olivier Crete <tester at tester dot ca>
835
836         * docs/gst/gstreamer-sections.txt:
837         * win32/common/libgstreamer.def:
838         * gst/gstpad.c: (gst_pad_init),
839         (gst_pad_set_iterate_internal_links_function),
840         (int_link_iter_data_free), (iterate_pad),
841         (gst_pad_iterate_internal_links_default),
842         (gst_pad_iterate_internal_links), (gst_pad_get_internal_links):
843         * gst/gstpad.h:
844         Add threadsafe replacement functions for getting internal links of an
845         element. Deprecate the old internal links functions.
846         API:GstPad::gst_pad_set_iterate_internal_links_function()
847         API:GstPad::GstPadIterIntLinkFunction
848         API:GstPad::gst_pad_iterate_internal_links()
849         API:GstPad::gst_pad_iterate_internal_links_default()
850
851         * gst/gstghostpad.c: (gst_proxy_pad_do_iterate_internal_links),
852         (gst_proxy_pad_init):
853         Implement threadsafe internal links.
854
855         * tests/check/elements/tee.c: (GST_START_TEST), (tee_suite):
856         Unit test for internal links on tee. See #549504.
857
858 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
859
860         * tests/check/Makefile.am:
861         libs/transform1 test requires libs/test_transform.c
862
863 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
864
865         * gst/gstpad.c: (gst_pad_get_internal_links_default):
866         Die evil deadlock, die !
867
868 2008-08-30  Edward Hervey  <edward.hervey@collabora.co.uk>
869
870         * gst/gstutils.c: (gst_element_get_compatible_pad):
871         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
872         * tests/check/gst/gstpad.c: (name_is_valid), (GST_START_TEST):
873         Fix all leaks due to the bug in gst_pad_template_new() by which it does
874         not steal the refcount of the given caps as stated.
875
876         REVERT THIS COMMIT ONCE FIXED !
877         REVERT THIS COMMIT ONCE FIXED !
878         REVERT THIS COMMIT ONCE FIXED !
879         REVERT THIS COMMIT ONCE FIXED !
880         REVERT THIS COMMIT ONCE FIXED !
881         REVERT THIS COMMIT ONCE FIXED !
882
883 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
884
885         * gst/gstiterator.c:
886         * gst/gstiterator.h:
887         After 3 years it's about time to revise the documentation of the
888         iterator objects.
889
890 2008-08-29  Wim Taymans  <wim.taymans@collabora.co.uk>
891
892         * gst/gstpad.c: (gst_pad_get_internal_links_default):
893         Make the internal links function less thread-unsafe and add some
894         comments, dunno why.
895
896 2008-08-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
897
898         * gst/gst_private.h:
899           Include gstinfo.h even if GST_DISABLE_GST_DEBUG is defined. Fixes
900           build with --disable-gst-debug.
901
902 2008-08-28  David Schleef  <ds@schleef.org>
903
904         * gst/gstpadtemplate.c: Revert last change, since it breaks
905           a few plugins, ffmpeg, alaw, and mulaw.  Code is correct,
906           but shouldn't be enabled until we've released fixed versions
907           of -good and -ffmpeg.
908
909 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
910
911         * gst/gstobject.c:
912           Put the gst_object_get_name() back in.
913
914 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
915
916         * gst/gstpadtemplate.c:
917           The old behaviour was that gst_pad_template_new() takes ownership of
918           the caps. As we now call g_object_new() which calls g_object_set() and
919           which copies the caps, we have to unref them to not leak them. Fixes
920           make valgrid for me.
921
922 2008-08-28  Stefan Kost  <ensonic@users.sf.net>
923
924         * gst/gsturi.c:
925           Don't segfault on input like "tel:+1-123-555-1234".
926
927 2008-08-27  Stefan Kost  <ensonic@users.sf.net>
928
929         * gst/gstobject.c:
930           Due to popular request also include ObjectType in
931           gst_object_get_path_string(). Makes gst-launch -v bit more useful.
932
933 2008-08-26  David Schleef  <ds@schleef.org>
934
935         * gst/gstutils.c: Remove check in gst_pad_query_convert() that
936           src_val must be positive, because that's not a requirement.
937           This causes problems with converting negative granulepos
938           values for Dirac.
939         * gst/gstquery.c: Same, gst_query_new_convert().
940
941 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
942
943         * gst/gstclock.c: (gst_clock_add_observation):
944         Add some more debugging to the clock slaving code.
945
946         * win32/common/libgstbase.def:
947         Add new basetransform method.
948
949 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
950
951         * gst/gstbin.c: (gst_bin_element_set_state):
952         Take the (recursive) state lock between getting the locked state of an
953         element and changing the element state. This allows the application to
954         lock an element's state and then change its state without races.
955
956 2008-08-25  Wim Taymans  <wim.taymans@collabora.co.uk>
957
958         * gst/gstbin.c: (gst_bin_element_set_state):
959         When an element is in the locked state we still want to update the
960         base_time of the element.
961
962 2008-08-21  Wim Taymans  <wim.taymans@collabora.co.uk>
963
964         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
965         Use the result from gst_pad_set_caps() instead of assuming the element
966         always accepted the caps computed by the default negotiate function.
967
968 2008-08-20  Wim Taymans  <wim.taymans@collabora.co.uk>
969
970         * docs/libs/gstreamer-libs-sections.txt:
971         * libs/gst/base/gstbasetransform.c:
972         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
973         (gst_base_transform_chain), (gst_base_transform_suggest),
974         (gst_base_transform_reconfigure):
975         * libs/gst/base/gstbasetransform.h:
976         Implement method for reconfiguring basetransform.
977         API: GstBaseTransform::gst_base_transform_reconfigure()
978
979 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
980
981         patch by: Murray Cumming <murrayc@murrayc.com>
982
983         * gst/gstutils.c:
984           Mention that this is just like gst_buffer_merge() but with extra
985           unreffing for C coders. Advise language bindings not to wrap it.
986           Fixes Bug #533856.
987           
988           Also fix file comment.
989
990 2008-08-20  Stefan Kost  <ensonic@users.sf.net>
991
992         reviewed by: Wim Taymans <wim.taymans@collabora.co.uk>
993
994         * plugins/elements/gstfakesink.c:
995         * plugins/elements/gstfakesrc.c:
996           Call super::event() when not handling it. Fixes #544855.
997
998 2008-08-19  Michael Smith <msmith@songbirdnest.com>
999
1000         Patch by: Alessandro Decina <alessandro@nnva.org>
1001         * plugins/elements/gstfilesrc.c:
1002           Use 64 bit variants of stat functions on win32, to enable support
1003           of large files there.
1004           Fixes #547277.
1005
1006 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1007
1008         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object),
1009         (gst_base_sink_event), (gst_base_sink_chain_unlocked),
1010         (gst_base_sink_negotiate_pull), (gst_base_sink_pad_activate_pull),
1011         (gst_base_sink_get_position), (gst_base_sink_change_state):
1012         Improve position reporting in the flushing state.
1013         Also report the position when we are not yet prerolled but we
1014         have a newsegment event. Fixes #543444.
1015         Improve the pull-based negotiation code.
1016
1017         * tests/check/elements/fakesink.c: (GST_START_TEST),
1018         (fakesink_suite):
1019         Add testcase for position reporting while flushing in PAUSED and
1020         PLAYING.
1021
1022         * tests/check/generic/sinks.c: (GST_START_TEST):
1023         Update unit-test, we can now query the position as soon as we receive a
1024         NEWSEGMENT event.
1025
1026 2008-08-19  Wim Taymans  <wim.taymans@collabora.co.uk>
1027
1028         Based on patch by: Jason Zhao <e3423c at motorola dot com>
1029
1030         * libs/gst/base/gstbasesink.c: (gst_base_sink_render_object):
1031         When the subclass event handler releases the PREROLL_LOCK, we could be
1032         in the flushing state and we have to ignore the event. Fixes #548394.
1033
1034 2008-08-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
1035
1036         * tools/gst-launch.1.in:
1037           Document GST_REGISTRY_UPDATE environment variable.
1038
1039 2008-08-18  Wim Taymans  <wim.taymans@collabora.co.uk>
1040
1041         * libs/gst/base/gstbasetransform.c:
1042         (gst_base_transform_prepare_output_buffer):
1043         If the element is configured in passthrough mode but the
1044         prepare_output_buffer gave us a new output buffer, discard that buffer
1045         and reuse the input buffer.
1046
1047 2008-08-15  Wim Taymans  <wim.taymans@collabora.co.uk>
1048
1049         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
1050
1051         * plugins/elements/gsttee.c: (gst_tee_finalize), (gst_tee_init),
1052         (gst_tee_request_new_pad), (gst_tee_release_pad),
1053         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc):
1054         * plugins/elements/gsttee.h:
1055         Protect pad_alloc with a new lock so that we can be sure that nothing is
1056         performing a pad_alloc when removing the pad. Fixes #547835.
1057
1058         * tests/check/elements/tee.c: (buffer_alloc_harness_setup),
1059         (buffer_alloc_harness_teardown), (app_thread_func),
1060         (final_sinkpad_bufferalloc), (GST_START_TEST), (tee_suite):
1061         Added testcase for shutdown race.
1062
1063 2008-08-14  Thijs Vermeir  <thijsvermeir@gmail.com>
1064
1065         * gst/gstpad.h:
1066         Add doc
1067
1068 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1069
1070         * libs/gst/base/gstbasetransform.c:
1071         (gst_base_transform_prepare_output_buffer),
1072         (gst_base_transform_buffer_alloc):
1073         Go over the buffer_alloc function again and make sure we always end up
1074         allocating a buffer.
1075         Add some more docs.
1076         Avoid doing pad alloc when we have a pending suggestion because we
1077         cannot yet deal with changing caps in that case. Fixes #547728
1078
1079 2008-08-14  Stefan Kost  <ensonic@users.sf.net>
1080
1081         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1082
1083         * docs/manual/advanced-clocks.xml:
1084         * docs/manual/clocks.png:
1085         * docs/manual/diagrams-clocks.svg:
1086           Add one more image showing different times together with a describing
1087           paragraph. Fixes #547729.
1088
1089 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1090
1091         * win32/common/libgstbase.def:
1092         Add new method.
1093
1094 2008-08-14  Wim Taymans  <wim.taymans@collabora.co.uk>
1095
1096         * libs/gst/base/gstbasetransform.c:
1097         (gst_base_transform_transform_caps),
1098         (gst_base_transform_prepare_output_buffer),
1099         (gst_base_transform_buffer_alloc), (gst_base_transform_suggest):
1100         Don't overwrite the outsize when calculating the expected size of a new
1101         buffer because we still need it in case we cannot process the new
1102         buffer.
1103         When converting the size of the new buffer to an upstream size, actually
1104         use the expected size of the buffer, not some other random value.
1105         Use an atomic int to signal that a new upstream caps suggestion is
1106         available.
1107         When we can convert the current buffer to a new format, check if the
1108         buffer size is of the expected size and allocate a new buffer of the
1109         expected size when this is not the case. Fixes #546883.
1110
1111         * tests/check/libs/transform1.c: (GST_START_TEST):
1112         remove ifdeffed code from the unit test.
1113
1114 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1115
1116         * pkgconfig/gstreamer-uninstalled.pc.in:
1117         * pkgconfig/gstreamer.pc.in:
1118           Remove -lgstcontrol-0.10 which never worked anyway as the lib is
1119           called gstcontroller-0.10.
1120
1121 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1122
1123         * gst/gstchildproxy.h:
1124         * gst/gstpreset.h:
1125           Remove double interface from doc-string.        
1126
1127 2008-08-12  Stefan Kost  <ensonic@users.sf.net>
1128
1129         * libs/gst/base/gstbasesrc.c:
1130         * libs/gst/base/gstbasetransform.c:
1131           Fix headings in docs and gtk-doc warnings.
1132
1133 2008-08-11  Michael Smith <msmith@songbirdnest.com>
1134
1135         * gst/gstregistrybinary.c:
1136           Don't use g_mkstmp() on win32, it's unsafe if glib is using a different
1137           libc.
1138           Fixes #544776.
1139
1140 2008-08-11  Edward Hervey  <edward.hervey@collabora.co.uk>
1141
1142         * libs/gst/base/gstbasetransform.c:
1143         (gst_base_transform_buffer_alloc):
1144         Fix a "may be used unitialized" warning.
1145
1146 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1147
1148         * docs/gst/gstreamer-sections.txt:
1149         * gst/gstpreset.h:
1150           Document preset-iface vmethods.
1151
1152 2008-08-11  Stefan Kost  <ensonic@users.sf.net>
1153
1154         * docs/manual/advanced-interfaces.xml:
1155           Turn thoughts about HAL into a note-tag. Remove mentioning that is
1156           only used to discover devices.
1157
1158 2008-08-07  Tim-Philipp Müller  <tim.muller at collabora co uk>
1159
1160         Patch by: Frederic Crozat <fcrozat@mandriva.org>
1161
1162         * gst/gst.c: (init_pre):
1163         Make sure gettext returns translations in UTF-8 encoding rather
1164         than in the current locale encoding (#546822).
1165
1166 2008-08-07  Wim Taymans  <wim.taymans@collabora.co.uk>
1167
1168         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
1169         Fix subset test.
1170
1171         * tests/check/gst/gstcaps.c: (GST_START_TEST):
1172         Improve unit test subset tests and add a testcase for the subset failure
1173         cases.
1174
1175         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1176         Improve subtraction unit test.
1177
1178 2008-08-07  Stefan Kost  <ensonic@users.sf.net>
1179
1180         * plugins/elements/gsttee.c:
1181           Unlock, instead of locking again.
1182
1183 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1184
1185         * gst/gstpad.h:
1186         Clarify the docs a bit more.
1187
1188 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1189
1190         * tests/examples/metadata/read-metadata.c:
1191           Don't leak old taglist.
1192
1193 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1194
1195         Patch by: Olivier Crete <tester at tester dot ca>
1196
1197         * gst/gststructure.c:
1198         (gst_structure_fixate_field_nearest_fraction):
1199         Avoid overflows in fixation code when dealing with MAXINT values, which
1200         v4l2src seems to do.
1201         Fixes #546328.
1202
1203         * tests/check/gst/gststructure.c: (GST_START_TEST):
1204         Make a unit test to check the fix. 
1205
1206 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1207
1208         * plugins/elements/gstcapsfilter.c: (copy_func),
1209         (gst_capsfilter_set_property):
1210         Use new caps suggestion feature of basetransform to request a caps
1211         negotiation upstream.
1212
1213 2008-08-05  Wim Taymans  <wim.taymans@collabora.co.uk>
1214
1215         * docs/libs/gstreamer-libs-sections.txt:
1216         Add new function:
1217         API: GstBaseTransform::gst_base_transform_suggest()
1218
1219         * libs/gst/base/gstbasetransform.c: (gst_base_transform_finalize),
1220         (gst_base_transform_init), (gst_base_transform_transform_caps),
1221         (gst_base_transform_transform_size),
1222         (gst_base_transform_configure_caps),
1223         (gst_base_transform_can_transform),
1224         (gst_base_transform_find_transform), (gst_base_transform_setcaps),
1225         (gst_base_transform_prepare_output_buffer),
1226         (gst_base_transform_buffer_alloc),
1227         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
1228         (gst_base_transform_chain), (gst_base_transform_activate),
1229         (gst_base_transform_set_passthrough),
1230         (gst_base_transform_is_passthrough),
1231         (gst_base_transform_set_in_place),
1232         (gst_base_transform_is_in_place), (gst_base_transform_update_qos),
1233         (gst_base_transform_set_qos_enabled),
1234         (gst_base_transform_is_qos_enabled),
1235         (gst_base_transform_set_gap_aware), (gst_base_transform_suggest),
1236         (gst_base_transform_reconfigure):
1237         * libs/gst/base/gstbasetransform.h:
1238         Rewrite of basetransform to perform negotiation outside of the
1239         buffer_alloc functions.  Fixes #545853.
1240
1241         * tests/check/libs/transform1.c: (GST_START_TEST),
1242         (buffer_alloc_ct2):
1243         Update unit test.
1244
1245 2008-08-05  Stefan Kost  <ensonic@users.sf.net>
1246
1247         * tests/check/gst/gstpreset.c:
1248           Only run preset tests when $HOME is writable. Preliminary fix for
1249           #545433.
1250
1251 2008-08-04  Wim Taymans  <wim.taymans@collabora.co.uk>
1252
1253         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
1254         (gst_bin_change_state_func), (bin_handle_async_done),
1255         (gst_bin_handle_message_func):
1256         Fix race for bins that simulate ASYNC state changes by inserting
1257         ASYNC_START and ASYNC_DONE messages in their bus. We need to check for
1258         pending ASYNC messages even when the bin does not have ASYNC children.
1259         We note detect this behaviour because we will receive an ASYNC message
1260         that is originating from the bin itself. 
1261         Fixes races with decodebin2 state changes.
1262
1263         * tests/check/gst/gstbin.c: (GST_START_TEST):
1264         Add some more debug.
1265
1266 2008-08-04  Tim-Philipp Müller  <tim.muller at collabora co uk>
1267
1268         * gst/gsttaglist.c: (_gst_tag_initialize):
1269           Fix typo.
1270
1271 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1272
1273         * gst/gsttaglist.c:
1274           Argh. actually save the text before committing. Now adds
1275           gst_tag_merge_strings_with_comma() to gst_tag_register().
1276
1277 2008-08-04  Stefan Kost  <ensonic@users.sf.net>
1278
1279         * gst/gsttaglist.c:
1280         * gst/gsttaglist.h:
1281           Do as tim pointed out and actually register the new tag. Also improve
1282           te docs and use gst_tag_merge_strings_with_comma() method to allow
1283           retriving all keywords merged in one list.
1284
1285 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1286
1287         * configure.ac:
1288         * docs/gst/gstreamer.types:
1289           Revert 'accidential' change of the configure option removal. We still
1290           need to generate the types file in configure --disable-load-save.
1291
1292 2008-08-01  Stefan Kost  <ensonic@users.sf.net>
1293
1294         * docs/gst/gstreamer-sections.txt:
1295         * gst/gsttaglist.h:
1296           Add new taglist item GST_TAG_KEYWORDS, needed for #520694 .
1297
1298 2008-08-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1299
1300         * gst/gstpadtemplate.c:
1301           (gst_pad_template_class_init), (gst_static_pad_template_get),
1302           (gst_pad_template_new), (gst_pad_template_pad_created),
1303           (gst_pad_template_set_property), (gst_pad_template_get_property):
1304           Add "name-template", "direction", "presence" and "caps" properties,
1305           so that gst_pad_template_new() is just a thin wrapper around
1306           g_object_new(), which is better for bindings. (Fixes: #539772)
1307
1308 2008-07-31  Michael Smith <msmith@songbirdnest.com>
1309
1310         * gst/gsturi.c:
1311           Be more liberal in what URIs we accept.
1312           Do not unescape bits of the URI for no apparent reason before passing to
1313           the element. Fixes #545352.
1314
1315 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1316
1317         Patch by: Robert Schwebel <r.schwebel@pengutronix.de>
1318
1319         * gst/gst.c:
1320         Include gstconfig.h as macros from it are used. Fixes bug #545607.
1321
1322 2008-07-31  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1323
1324         * configure.ac:
1325         * docs/gst/gstreamer-sections.txt:
1326         * docs/gst/gstreamer.types:
1327         * docs/gst/gstreamer.types.in:
1328         * gst/Makefile.am:
1329         * gst/gst.c:
1330         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func):
1331         * gst/gstconfig.h.in:
1332         * gst/gstelement.c: (gst_element_get_index):
1333         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
1334         (gst_registry_binary_load_feature),
1335         (gst_registry_binary_read_cache):
1336         * gst/gstregistryxml.c: (load_feature),
1337         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
1338         * plugins/Makefile.am:
1339         * tools/gst-indent:
1340         * tools/gst-inspect.c: (print_index_info), (print_element_list),
1341         (print_plugin_features), (print_element_features):
1342         * tools/gst-xmlinspect.c: (print_event_masks),
1343         (print_element_info):
1344         * win32/common/gstconfig.h:
1345         Remove GST_DISABLE_(ENUMTYPES|INDEX|URI) everywhere.
1346
1347         Disabling the indexers and URI handler code will only reduce the
1348         required amount of memory by a very small amount but on the other hand
1349         requires much more maintaince work. Apart from that many places of
1350         code are broken when disabling them.
1351
1352         Disabling the enum types doesn't reduce the required amount of memory
1353         by more than a few bytes and makes it hard to fix bugs like #539772,
1354         i.e. use the enums as GObject properties.
1355
1356 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1357
1358         * docs/design/part-TODO.txt:
1359         Add some thoughts and problems with upstream renegotiation.
1360
1361 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1362
1363         * gst/gstpad.c: (gst_pad_acceptcaps_default),
1364         (gst_pad_configure_src), (gst_pad_alloc_buffer_full):
1365         Remove silly redundant debug.
1366         Add some more debug info.
1367         Clarify the docs regarding new caps received from pad_alloc.
1368
1369 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1370
1371         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_set_property),
1372         (gst_capsfilter_get_property), (gst_capsfilter_transform_caps):
1373         Make setting the caps more threadsafe.
1374
1375 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1376
1377         * docs/design/part-element-transform.txt:
1378         Update docs.
1379
1380 2008-07-31  Wim Taymans  <wim.taymans@collabora.co.uk>
1381
1382         * plugins/elements/gstqueue.c: (gst_queue_init),
1383         (gst_queue_acceptcaps):
1384         Add and use a custom acceptcaps function instead of falling back to the
1385         potentially less optimized default implementation.
1386
1387 2008-07-29  Tim-Philipp Müller  <tim.muller at collabora co uk>
1388
1389         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
1390           Only sanity-check the buffer size if requested_caps == buffer_caps
1391           (ie. don't take pad caps into account, they're not relevant here)
1392
1393 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1394
1395         * plugins/elements/gsttee.c:
1396         * plugins/elements/gsttee.h:
1397           Reverting as not everything is clear yet. Needs some general design
1398           work.
1399
1400 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1401
1402         * ChangeLog:
1403           ChangeLog surgery for tee commit.
1404
1405 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1406
1407         * docs/gst/gstreamer-sections.txt:
1408           Cleanup section-file.
1409
1410 2008-07-29  Stefan Kost  <ensonic@users.sf.net>
1411
1412         * plugins/elements/gsttee.c:
1413         * plugins/elements/gsttee.h:
1414           Relay tag events in tee. Fixes parts of #474016.
1415           Downgrades 3 reoccurring debugs to log.
1416
1417 2008-07-28  Michael Smith <msmith@songbirdnest.com>
1418
1419         * configure.ac:
1420         * libs/gst/Makefile.am:
1421           Build the net library if we have winsock2.
1422
1423 2008-07-26  Stefan Kost  <ensonic@users.sf.net>
1424
1425         patch by: Luc Pionchon <luc.pionchon@nokia.com>
1426
1427         * docs/manual/advanced-threads.xml:
1428         * docs/manual/diagrams-pipelines.svg:
1429         * docs/manual/hello-world.png:
1430         * docs/manual/linked-elements.png:
1431         * docs/manual/mime-world.png:
1432         * docs/manual/queue.png:
1433         * docs/manual/thread-buffering.png:
1434         * docs/manual/thread-synchronizing.png:
1435           Replace one diagram with two separate ones and updates others.
1436           Fixes #542401.
1437
1438 2008-07-25  Thijs Vermeir  <thijsvermeir@gmail.com>
1439
1440         * gst/gstelement.h:
1441         Fix link in documentation.
1442
1443 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1444
1445         * gst/gstmessage.c:
1446         Fix confusing documentation.
1447
1448 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1449
1450         * libs/gst/base/gstbasesrc.h:
1451         revert the changes to the header file for the ABI.
1452
1453 2008-07-24  Thijs Vermeir  <thijsvermeir@gmail.com>
1454
1455         * libs/gst/base/gstbasesrc.c:
1456         * libs/gst/base/gstbasesrc.h:
1457         Don't cache the seekable status.
1458         Fixes bug #544174
1459
1460 2008-07-24  Rene Stadler  <mail@renestadler.de>
1461
1462         * docs/manual/advanced-autoplugging.xml: Add fakesink to example
1463         code to close the pipeline graph.  This prevents the program from
1464         printing internal data flow errors.
1465
1466 2008-07-23  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1467
1468         * docs/manual/basics-bus.xml:
1469         Correct typo. Fixes bug #544320.
1470
1471 2008-07-22  Michael Smith <msmith@songbirdnest.com>
1472
1473         * configure.ac:
1474           Remove AC_ISC_POSIX macro; it's broken on some platforms and not needed.
1475           Add check (taken from -base) for winsock, adds WIN32_LIBS
1476         * gst/Makefile.am:
1477           Add WIN32_LIBS to LIBADD for libgstreamer. Needed now that gstpoll uses
1478           winsock.
1479           Define GST_EXPORTS when building libgstreamer (only used on win32)
1480         * gst/gst_private.h:
1481         * gst/gstinfo.h:
1482           Use GST_EXPORT instead of locally-defined (and incorrect IMPORT_SYMBOL)
1483           for symbols that we need to export in both these files.
1484         * gst/gstpoll.c:
1485           Include gst_private.h higher up to avoid some compile problems on win32.
1486
1487 2008-07-22  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1488
1489         * gst/gstvalue.c:
1490         Fix typos.
1491
1492 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1493
1494         * gst/gstcaps.c:
1495         Previous commit was wrong NULL caps does not exist
1496         and indicate an error, so also add a FIXME to
1497         gst_caps_is_equal where NULL caps are accepted.
1498
1499 2008-07-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1500
1501         * gst/gstcaps.c:
1502         Allow passing of NULL to gst_caps_union
1503
1504 2008-07-21  Thijs Vermeir  <thijsvermeir@gmail.com>
1505
1506         * gst/gstghostpad.c:
1507         Add in doc that gst_ghost_pad_set_target can accept
1508         NULL to clear target
1509
1510 2008-07-15  Michael Smith <msmith@songbirdnest.com>
1511
1512         * gst/gstplugin.c:
1513         * gst/gstregistry.c:
1514           GstRegistryPool doesn't exist; don't refer to it in docs.
1515           Don't refer to functions that don't exist in docs, it's
1516           unhelpful.
1517
1518 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1519
1520         * gst/gst.c:
1521         Fix scanning of paths given via --gst-plugin-path. Fixes bug #542175.
1522
1523 2008-07-12  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1524
1525         Patch by: Tristan Matthews <le dot businessman at gmail dot com>
1526
1527         * docs/pwg/building-testapp.xml:
1528         Don't use an undeclared variable in the example program.
1529         Fixes bug #542573.
1530
1531 2008-07-12  Stefan Kost  <ensonic@users.sf.net>
1532
1533         * gst/gstdebugutils.c:
1534           Squeeze ghost-pad links and remove <> from classname labels to save
1535           more horizontal space.
1536
1537 2008-07-11  Stefan Kost  <ensonic@users.sf.net>
1538
1539         * gst/gstdebugutils.c:
1540           Give request and sometimes pads a different shpe style. Condense the
1541           graphs a little more.
1542
1543 2008-07-09  Michael Smith <msmith@songbirdnest.com>
1544
1545         * configure.ac:
1546           Don't require flex and bison if the parser is disabled.
1547
1548 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1549
1550         * libs/gst/controller/gstinterpolationcontrolsource.c:
1551         (_list_find_sorted_custom):
1552         Don't use declarations after statements.
1553
1554 2008-07-08  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1555
1556         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1557         Add FIXMEs for 0.11 to use GST_TYPE_OBJECT in the signature
1558         of the the child-added / -removed signals as GstChildProxy
1559         only supports GstObjects.
1560
1561 2008-07-07  Thijs Vermeir  <thijsvermeir@gmail.com>
1562
1563         * gst/gstdebugutils.c:
1564         Fix memleak
1565
1566 2008-07-06  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1567
1568         Patch by: Alessandro Decina <alessandro at nnva dot org>
1569
1570         * gst/gstpoll.c:
1571         Fix "ignored return value" compiler warning with newer glibc.
1572
1573 2008-07-05  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1574
1575         * gst/gstchildproxy.c:
1576         Fix copy&paste error in gst_child_proxy_removed() documentation.
1577
1578 2008-07-02  Tim-Philipp Müller  <tim.muller at collabora co uk>
1579
1580         * gst/gstplugin.c: (CHECK_PLUGIN_DESC_FIELD), (gst_plugin_load_file):
1581           Print error debug message if plugin description fields that should
1582           be set are NULL.
1583
1584         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string):
1585           Don't crash if the string to serialise is NULL (it really should
1586           not be, but apparently this used to work with the xml registry ...).
1587
1588 2008-07-02  Thijs Vermeir  <thijsvermeir@gmail.com>
1589
1590         * tools/gst-plot-timeline.py:
1591         Fix parsing of log messages
1592
1593 2008-07-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
1594
1595         * win32/common/libgstbase.def::
1596           Sort alphabetically so make check-exports doesn't barf.
1597
1598 2008-07-01  Stefan Kost  <ensonic@users.sf.net>
1599
1600         * gst/gstevent.c:
1601           Use gst_format_get_name() to improve debug output.
1602
1603         * gst/gstpreset.c:
1604           Remove #ifdef'ed code. Add TODO comment.
1605
1606         * gst/gstsegment.c:
1607           Add debug output to ease spotting format != segment.format assertions.
1608
1609 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1610
1611         * tests/check/libs/gdp.c: (gst_dp_suite):
1612         Also enable the GDP unit test again on PPC now that the bug
1613         is fixed.
1614
1615 2008-06-30  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1616
1617         * libs/gst/dataprotocol/dataprotocol.c:
1618         Don't write to the same region of memory as a uint64 and uint16
1619         as this breaks strict aliasing rules and apparantly breaks on PPC
1620         and s390. Thanks to Sjoerd Simons for analysing. Fixes bug #348114.
1621
1622 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
1623
1624         * libs/gst/controller/gstinterpolationcontrolsource.c:
1625           Optimize list handling. Use own find function. Exploit that fact that
1626           the list is sorted. Also pass back the node before, so that we can
1627           insert quickly. Have a fast path for append.
1628
1629 2008-06-29  Stefan Kost  <ensonic@users.sf.net>
1630
1631         * docs/design/draft-framestep.txt:
1632         * docs/design/part-negotiation.txt:
1633           Fix two typos.
1634
1635 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
1636
1637         * configure.ac:
1638           Show configuration sumary after configure run. Based on patch by
1639           Luc Pionchon <luc.pionchon@nokia.com>. Fixes: #540134
1640
1641 2008-06-27  Stefan Kost  <ensonic@users.sf.net>
1642
1643         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1644
1645         * docs/manual/advanced-autoplugging.xml:
1646         * docs/manual/advanced-threads.xml:
1647         * docs/manual/basics-bins.xml:
1648         * docs/manual/basics-elements.xml:
1649         * docs/manual/basics-helloworld.xml:
1650         * docs/manual/basics-pads.xml:
1651           Add scale factor for pdf output.
1652
1653         * docs/manual/intro-basics.xml:
1654           Switched sections "pads" and "bins" and added a pipeline diagram.
1655
1656         * docs/manual/intro-gstreamer.xml:
1657           Added more info on gstreamer.
1658
1659         * docs/manual/intro-motivation.xml:
1660           Commented out the whole section "current problem", which sounds
1661           historical and somehow osolete; it could be turned in a positive
1662           way and reused to improve the design principles.
1663
1664         * docs/manual/intro-preface.xml:
1665           - Update URLs to library.gnome.org. 
1666           - Do not mention GTK+ in preliminary reading (irrelevant). 
1667           - Mention Plugin Writer's Manual and further reading only in the
1668             previous section.
1669           - Added a list of most relevant GObject/glib topics.
1670
1671         * docs/manual/Makefile.am:
1672         * docs/manual/bin-element-ghost.fig:
1673         * docs/manual/bin-element-ghost.png:
1674         * docs/manual/bin-element-noghost.fig:
1675         * docs/manual/bin-element-noghost.png:
1676         * docs/manual/bin-element.fig:
1677         * docs/manual/bin-element.png:
1678         * docs/manual/filter-element-multi.fig:
1679         * docs/manual/filter-element-multi.png:
1680         * docs/manual/filter-element.fig:
1681         * docs/manual/filter-element.png:
1682         * docs/manual/gstreamer-overview.png:
1683         * docs/manual/hello-world.fig:
1684         * docs/manual/hello-world.png:
1685         * docs/manual/linked-elements.fig:
1686         * docs/manual/linked-elements.png:
1687         * docs/manual/mime-world.fig:
1688         * docs/manual/mime-world.png:
1689         * docs/manual/queue.fig:
1690         * docs/manual/queue.png:
1691         * docs/manual/simple-player.png:
1692         * docs/manual/sink-element.fig:
1693         * docs/manual/sink-element.png:
1694         * docs/manual/src-element.fig:
1695         * docs/manual/src-element.png:
1696         * docs/manual/diagrams-general.svg:
1697         * docs/manual/diagrams-pipelines.svg:
1698           Removed .fig, added .png counterpart.
1699           
1700           Fixes: #539137
1701
1702 2008-06-26  Thijs Vermeir  <thijsvermeir@gmail.com>
1703
1704         * plugins/elements/gstmultiqueue.c:
1705         * plugins/elements/gstmultiqueue.h:
1706         revert extra-size-buffers stuff, caused some race conditions
1707         and extra-size-buffers is not used anymore. Docs needs some updates
1708
1709 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
1710
1711         * win32/common/config.h:
1712         * win32/common/gstenumtypes.c:
1713         * win32/common/gstenumtypes.h:
1714         * win32/common/gstversion.h:
1715           Update win32 files.
1716
1717 2008-06-26  Tim-Philipp Müller  <tim.muller at collabora co uk>
1718
1719         * gst/gstdebugutils.h: (GstDebugGraphDetails),
1720           (GST_DEBUG_BIN_TO_DOT_FILE):
1721           Add missing Since' markers to gtk-doc blurbs.
1722
1723 2008-06-26  Wim Taymans  <wim.taymans@collabora.co.uk>
1724
1725         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1726         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1727         (set_caps_1), (set_caps_ct1), (transform_ct1),
1728         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1729         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
1730         (transform_size_ct2), (buffer_alloc_ct2):
1731         Add some more tests with switching caps in buffer_alloc.
1732
1733 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1734
1735         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1736         (gst_test_trans_class_init), (result_sink_chain),
1737         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
1738         (gst_test_trans_push), (gst_test_trans_pop):
1739         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1740         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1741         (set_caps_1), (set_caps_ct1), (transform_ct1),
1742         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1743         (set_caps_ct2), (transform_ct2), (transform_caps_ct2),
1744         (transform_size_ct2), (buffer_alloc_ct2),
1745         (gst_basetransform_suite):
1746         More tests, prepare for tests with switching caps in buffer_alloc.
1747
1748 2008-06-25  Thijs Vermeir  <thijsvermeir@gmail.com>
1749
1750         * plugins/elements/gstmultiqueue.c:
1751         * plugins/elements/gstmultiqueue.h:
1752         Fix dead-lock in underrun_cb
1753
1754 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1755
1756         * docs/design/part-states.txt:
1757         Fix device open/close docs.
1758
1759 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1760
1761         * ChangeLog:
1762           Mention bugnumber for last commit.
1763
1764 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1765
1766         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1767
1768         * docs/manual/manual.xml:
1769         - Reorganised the previous "introduction" bundle into Foreword,
1770         Introduction, and About GStreamer. The two first are <preface>
1771         docbook elements. The later is the first part of the book.
1772         - added intro-gstreamer.xml (content partially from
1773         intro-preface.xml)
1774         - moved appendix-win32.xml into appendix-integration.xml
1775
1776         * docs/manual/intro-preface.xml: gstreamer section moved...
1777         * docs/manual/intro-gstreamer.xml: ...here. new file.
1778
1779         * docs/manual/appendix-win32.xml: removed file. Content moved...
1780         * docs/manual/appendix-integration.xml: ...here.
1781         
1782         * docs/manual/highlevel-components.xml: section about GstEditor moved...
1783         * docs/manual/appendix-checklist.xml: ...here.
1784         
1785         Fixes: 538764
1786
1787 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1788
1789         patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1790
1791         * docs/manual/basics-helloworld.xml:
1792         * docs/manual/hello-world.fig:
1793           - Explicitely include glib.h.
1794           - Do not use global variables.
1795           - Use g_printerr() instead of g_print().
1796           - Minor formating/renaming to increase readibility.
1797           - Renamed new_pad() to on_pad_added()
1798           - Improved explenatory comments.
1799           - renamed ogg parser to ogg demuxer
1800           - Use "autoaudiosink" instead of "alsasink".
1801           Fixes: #538619
1802
1803 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1804
1805         * ChangeLog:
1806           Remove cvs conflict marker.
1807
1808 2008-06-25  Stefan Kost  <ensonic@users.sf.net>
1809
1810         * docs/README:
1811           Document that for plgin-docs we extraxt he short-desc from the element
1812           details.
1813
1814         * docs/design/part-states.txt:
1815           Tell that devices should be closed in PAUSED -> READY.
1816
1817         * docs/manual/README:
1818           Document how tests in the manual are handled.
1819
1820         * docs/manuals.mak:
1821           Typo in comment.
1822
1823 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1824
1825         * gst/gstbin.c: (bin_query_latency_fold):
1826         Only care about latency min and max when the sink is actually a live
1827         sink.
1828
1829 2008-06-25  Wim Taymans  <wim.taymans@collabora.co.uk>
1830
1831         * docs/design/part-block.txt:
1832         Fix typo.
1833
1834         * docs/design/part-element-transform.txt:
1835         Add notes about why transform needs to know input/output sizes.
1836         Add some issues that need to be solved.
1837         Add some more use cases.
1838
1839         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1840         (gst_test_trans_class_init), (result_sink_chain),
1841         (result_buffer_alloc), (gst_test_trans_new), (gst_test_trans_free),
1842         (gst_test_trans_push), (gst_test_trans_pop):
1843         * tests/check/libs/transform1.c: (buffer_alloc_pt1),
1844         (set_caps_pt1), (GST_START_TEST), (set_caps_pt2), (transform_ip_1),
1845         (set_caps_1), (set_caps_ct1), (transform_ct1),
1846         (transform_caps_ct1), (transform_size_ct1), (buffer_alloc_ct1),
1847         (gst_basetransform_suite):
1848         Add suport for different pad templates and buffer-alloc.
1849         Add more checks for caps and buffer-alloc.
1850         Add checks for proxy buffer alloc.
1851         Add unit test for copy transform.
1852
1853 2008-06-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
1854
1855         Patch by: Luc Pionchon  <luc.pionchon@nokia.com>
1856
1857         * docs/manual/appendix-integration.xml:
1858         * docs/manual/appendix-licensing.xml:
1859         * docs/manual/basics-elements.xml:
1860         * docs/manual/basics-helloworld.xml:
1861         * docs/manual/basics-pads.xml:
1862         * docs/manual/highlevel-components.xml:
1863         * docs/manual/highlevel-xml.xml:
1864         * docs/manual/intro-basics.xml:
1865         * docs/manual/intro-preface.xml:
1866           Typo and formatting fixes (#538594).
1867
1868 2008-06-24  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
1869
1870         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1871         Fix some memory leaks and uses of object instances that we don't
1872         actually own.
1873
1874 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1875
1876         * plugins/elements/gstmultiqueue.c:
1877         Add functionality to extra-size-buffers property.
1878
1879 2008-06-22  Thijs Vermeir  <thijsvermeir@gmail.com>
1880
1881         * plugins/elements/gstmultiqueue.c:
1882         Don't update the cur_time on GST_CLOCK_TIME_NONE (#537804) and don't
1883         activate the pads if they are added in STATE_NULL.
1884
1885 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
1886
1887         * docs/libs/gstreamer-libs-sections.txt:
1888         Add new API to doc
1889         * libs/gst/check/gstcheck.c:
1890         * libs/gst/check/gstcheck.h:
1891         API: gst_check_teardown_pad_by_name
1892
1893 2008-06-21  Thijs Vermeir  <thijsvermeir@gmail.com>
1894
1895         * libs/gst/check/gstcheck.c:
1896         * libs/gst/check/gstcheck.h:
1897         Also setup request pads and allow setup pads by name (#537812)
1898         API: gst_check_setup_src_pad_by_name
1899         API: gst_check_setup_sink_pad_by_name
1900
1901 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1902
1903         * tests/check/gst/gstbuffer.c:
1904         * tests/check/pipelines/parse-launch.c:
1905           Use HAVE_VALGRIND_H some more.
1906
1907 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1908
1909         * scripts/cvs-update.sh:
1910           Pass arguments to make.
1911           Run autoregen.sh if Makefile is not there.
1912
1913 2008-06-20  Thomas Vander Stichele  <thomas at apestaart dot org>
1914
1915         * configure.ac:
1916         * gst/gstinfo.c:
1917           Don't assume that <valgrind/valgrind.h> exists just because
1918           the binary is there.
1919
1920 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1921
1922         * tests/check/Makefile.am:
1923         * tests/check/libs/test_transform.c: (gst_test_trans_base_init),
1924         (gst_test_trans_class_init), (gst_test_trans_init),
1925         (gst_test_trans_set_data), (result_sink_chain),
1926         (gst_test_trans_new), (gst_test_trans_free), (gst_test_trans_push),
1927         (gst_test_trans_pop):
1928         * tests/check/libs/transform1.c: (GST_START_TEST),
1929         (transform_ip_1), (set_caps_1), (gst_basetransform_suite):
1930         Add some test basetransform element and the beginnings of various
1931         unit tests for it.
1932
1933 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1934
1935         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
1936         Increase code readability.
1937         Don't try to compare buffer offsets when ther are invalid.
1938
1939 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
1940
1941         * docs/design/Makefile.am:
1942           Dist some more design docs.
1943
1944         * docs/random/moving-plugins:
1945           Small addition: good plugins mustn't have functional code
1946           within assertion macros.
1947
1948 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1949
1950         * docs/design/draft-framestep.txt:
1951         Some ideas about a framestep API
1952
1953         * docs/design/part-element-transform.txt:
1954         Start design and use cases for basetransform in order to get it
1955         fixed soon.
1956
1957 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
1958
1959         * gst/gsttaglist.h:
1960           In GST_TAG_ATTACHEMENT docs, mention that the file name needs to
1961           be in UTF-8 encoding.
1962
1963 2008-06-20  Tim-Philipp Müller  <tim.muller at collabora co uk>
1964
1965         * gst/gstbus.c:
1966           Make it known that gst_bus_poll() is pure evil (fixes #538810).
1967
1968 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
1969
1970         * plugins/elements/gstcapsfilter.c:
1971         * plugins/elements/gstfakesink.c:
1972         * plugins/elements/gstfakesrc.c:
1973         * plugins/elements/gstfdsink.c:
1974         * plugins/elements/gstfdsrc.c:
1975         * plugins/elements/gstfilesink.c:
1976         * plugins/elements/gstfilesrc.c:
1977         * plugins/elements/gstidentity.c:
1978         * plugins/elements/gstmultiqueue.c:
1979         * plugins/elements/gstqueue.c:
1980         * plugins/elements/gsttee.c:
1981         * plugins/elements/gsttypefindelement.c:
1982           Remove short_description. Add basic docs for gsttypefindelement.
1983           Simplify markup for fakesrc/fdsrc.
1984
1985 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1986
1987         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1988         Added Since doc.
1989
1990 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
1991
1992         Patch by: Joel Larsson <tilljoel at gmail dot com>
1993
1994         * docs/plugins/gstreamer-plugins.args:
1995         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
1996         (gst_fd_src_init), (gst_fd_src_update_fd),
1997         (gst_fd_src_set_property), (gst_fd_src_get_property),
1998         (gst_fd_src_create):
1999         * plugins/elements/gstfdsrc.h:
2000         Add timeout property like udpsrc. Fixes #538628.
2001         Add some more docs and example pipelines.
2002
2003 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2004
2005         * docs/libs/gstreamer-libs-sections.txt:
2006         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2007         (gst_base_sink_query_latency), (gst_base_sink_set_render_delay),
2008         (gst_base_sink_get_render_delay), (gst_base_sink_wait_eos),
2009         (gst_base_sink_do_sync):
2010         * libs/gst/base/gstbasesink.h:
2011         * win32/common/libgstbase.def:
2012         Add method to allow sinks to specify additional delay between the sync
2013         times and the actual rendering of the data.
2014         API: gst_base_sink_set_render_delay()
2015         API: gst_base_sink_get_render_delay()
2016
2017 2008-06-20  Jan Schmidt  <jan.schmidt@sun.com>
2018
2019         * configure.ac:
2020         Bump version number back to dev -> 0.10.20.1
2021
2022 2008-06-20  Sebastian Dröge  <slomo@circular-chaos.org>
2023
2024         * docs/gst/gstreamer-sections.txt:
2025         * gst/gsttaglist.c: (_gst_tag_initialize):
2026         * gst/gsttaglist.h:
2027         API: Add GST_TAG_ATTACHMENT for generic file attachments to streams.
2028         Fixes bug #538568.
2029
2030 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2031
2032         * libs/gst/controller/gstcontroller.c:
2033           Revert one change, that make ret value possible uninitialized.
2034
2035 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2036
2037         * libs/gst/controller/gstcontroller.c:
2038           Use freeze/thaw notify to sync notify emission a bit (its also more
2039           efficient). Move debug output to LOG (is called a lot in a loop).
2040           Always unset g_values if the have been initialized.
2041
2042 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2043
2044         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2045         (gst_base_sink_wait_eos), (gst_base_sink_event):
2046         If we have not seen a buffer before EOS, use the segment values to
2047         report the current position instead of invalid positions.
2048
2049 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2050
2051         * docs/plugins/tmpl/.cvsignore:
2052         * tests/check/gst/.cvsignore:
2053           Ignore more.
2054
2055 2008-06-20  Stefan Kost  <ensonic@users.sf.net>
2056
2057         * libs/gst/controller/gstinterpolation.c:
2058         * libs/gst/controller/gstinterpolationcontrolsource.c:
2059         * tests/check/libs/controller.c:
2060           Rewrite handling of default values. Fix overflow with unsigned types
2061           in linear interpolation. Remove now obsolete _first_value() function.
2062           Add more tests. Fixes #538201.
2063
2064 2008-06-20  Wim Taymans  <wim.taymans@collabora.co.uk>
2065
2066         * libs/gst/base/gstbasetransform.c:
2067         (gst_base_transform_class_init), (gst_base_transform_init),
2068         (gst_base_transform_transform_caps),
2069         (gst_base_transform_prepare_output_buffer):
2070         Add debug info.
2071         When a buffer is writable, its metadata is also writable so we don't
2072         need to subbuffer (which then makes the buffer not-writable anymore).
2073
2074 === release 0.10.20 ===
2075
2076 2008-06-18  Jan Schmidt <jan.schmidt@sun.com>
2077
2078         * configure.ac:
2079           releasing 0.10.20, "You Crazy Diamond"
2080
2081 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2082
2083         * configure.ac:
2084         0.10.19.3 pre-release
2085
2086 2008-06-11  Jan Schmidt  <jan.schmidt@sun.com>
2087
2088         * configure.ac:
2089         * gst/gstpreset.c:
2090         Rename DATADIR to GST_DATADIR to avoid build problems
2091         on win32. Patch By: David Schleef <ds@schleef.org>
2092         Fixes: #536857
2093
2094 2008-06-05  Sebastian Dröge  <slomo@circular-chaos.org>
2095
2096         * configure.ac:
2097         Explicitely link with -ldl if dladdr() is found there. Before it was
2098         implicitely linked by the gmodule pkgconfig file but in glib 2.17.0
2099         -ldl has moved from Libs to Libs.private. Fixes bug #536744.
2100
2101 2008-06-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2102
2103         * gst/gsterror.c: (_gst_stream_errors_init):
2104           Fix typo (spotted by Fabricio Godoy, #536723).
2105
2106 2008-06-05  Jan Schmidt  <jan.schmidt@sun.com>
2107
2108         * configure.ac:
2109         0.10.19.2 pre-release
2110
2111 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2112
2113         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_async_enabled),
2114         (gst_base_sink_set_ts_offset), (gst_base_sink_perform_qos):
2115         Add some debug.
2116         Make sure we don't generate invalid QoS messages.
2117
2118 2008-06-04  Wim Taymans  <wim.taymans@collabora.co.uk>
2119
2120         * gst/gstevent.c: (gst_event_new_qos):
2121         Add some assert and docs for invalid input to the qos function.
2122
2123 2008-05-30  Wim Taymans  <wim.taymans@collabora.co.uk>
2124
2125         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2126         (gst_base_sink_get_position):
2127         The reported position must always be smaller than the last seen
2128         timestamps (or timestamp + duration for reverse).
2129
2130 2008-05-30  Sebastian Dröge  <slomo@circular-chaos.org>
2131
2132         Patch by: Rob Bradford <rob at robster dot org dot uk>
2133
2134         * gst/gstregistry.c: (gst_registry_scan_path_level):
2135         Don't recurse into .debug directories as some distros install
2136         the debugging symbols next to the plugins in .debug directories
2137         and dlopen() crashes on them sometimes. Fixes bug #508070.
2138
2139         Add FIXME for 0.11 to not recurse into directories at all because
2140         it's very inconsistent to the behaviour of other PATH environment
2141         variables.
2142
2143 2008-05-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2144
2145         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
2146         (gst_base_sink_get_position_last), (gst_base_sink_get_position):
2147         Fix position query range checks in reverse playback.
2148
2149 2008-05-29  Sebastian Dröge  <slomo@circular-chaos.org>
2150
2151         * gst/gstelement.c:
2152         * gst/gstelement.h:
2153         Deprecated gst_element_get_pad() as it can't be used sanely. It's not
2154         clear of the reference to the resulting pad must be released later
2155         or not, resulting in possible leaks. Fixes bug #533865.
2156
2157 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2158
2159         Patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
2160
2161         * gst/gstelementfactory.c:
2162         Small doc fix. Fixes #535285.
2163
2164 2008-05-28  Wim Taymans  <wim.taymans@collabora.co.uk>
2165
2166         Based on patch by: Bjarne Rosengren <bjarne at axis dot com>
2167
2168         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
2169         (gst_base_src_get_range), (gst_base_src_pad_get_range),
2170         (gst_base_src_loop), (gst_base_src_set_flushing),
2171         (gst_base_src_change_state):
2172         Make sending an EOS event to the basesrc non-blocking even if the
2173         implementation does blocking waits in the create function. This is done
2174         by unlocking the create function when EOS is sent.
2175         Fixes #535218.
2176
2177 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2178
2179         * tools/gst-inspect.c: (print_element_properties_info):
2180         If possible print the element type of GValueArray properties.
2181
2182 2008-05-28  Sebastian Dröge  <slomo@circular-chaos.org>
2183
2184         * gst/gstiterator.c:
2185         Remove an unused field from the private GstListIterator struct.
2186
2187 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2188
2189         * libs/gst/controller/gstcontroller.c:
2190           Add parameter guards.
2191
2192 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2193
2194         * tests/check/gst/gstpipeline.c:
2195           Revert test change and add comment why it should not work.
2196
2197 2008-05-27  Stefan Kost  <ensonic@users.sf.net>
2198
2199         * tests/check/gst/gstpipeline.c:
2200           Extending the test a little to verify that we also get the NULL state-
2201           change message.
2202
2203 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2204
2205         * gst/gstpreset.c: (gst_preset_default_get_meta),
2206           (gst_preset_get_preset_names), (gst_preset_get_property_names),
2207           (gst_preset_load_preset), (gst_preset_save_preset),
2208           (gst_preset_rename_preset), (gst_preset_delete_preset),
2209           (gst_preset_set_meta):
2210           Add Since: markers to docs blurbs.
2211
2212         * win32/common/libgstreamer.def:
2213           Add recently-added API.
2214
2215 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2216
2217         Patch by: Stefan Kost  <ensonic@users.sf.net>
2218
2219         * configure.ac:
2220         Add DATADIR for storing presets.
2221
2222         * docs/gst/gstreamer-docs.sgml:
2223         * docs/gst/gstreamer-sections.txt:
2224         * docs/gst/gstreamer.types.in:
2225         Add GstPreset to docs.
2226
2227         * gst/Makefile.am:
2228         * gst/gst.h:
2229         * gst/gstpreset.c: (preset_get_paths), (preset_skip_property),
2230         (preset_open_and_parse_header), (preset_parse_version),
2231         (preset_merge), (preset_get_keyfile),
2232         (gst_preset_default_get_preset_names),
2233         (gst_preset_default_get_property_names),
2234         (gst_preset_default_load_preset),
2235         (gst_preset_default_save_presets_file),
2236         (gst_preset_default_save_preset),
2237         (gst_preset_default_rename_preset),
2238         (gst_preset_default_delete_preset), (gst_preset_default_set_meta),
2239         (gst_preset_default_get_meta), (gst_preset_default_randomize),
2240         (gst_preset_default_reset), (gst_preset_get_preset_names),
2241         (gst_preset_get_property_names), (gst_preset_load_preset),
2242         (gst_preset_save_preset), (gst_preset_rename_preset),
2243         (gst_preset_delete_preset), (gst_preset_set_meta),
2244         (gst_preset_get_meta), (gst_preset_class_init),
2245         (gst_preset_base_init), (gst_preset_get_type):
2246         * gst/gstpreset.h:
2247         Add GstPreset to core. Fixes #396779
2248
2249         * tests/check/Makefile.am:
2250         * tests/check/gst/gstpreset.c: (gst_preset_test_get_property),
2251         (gst_preset_test_set_property), (gst_preset_test_class_init),
2252         (gst_preset_test_base_init), (gst_preset_test_get_type),
2253         (gst_preset_test_plugin_init), (GST_START_TEST),
2254         (remove_preset_file), (test_setup), (test_teardown),
2255         (gst_preset_suite):
2256         Add GstPreset unit tests.
2257
2258 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2259
2260         * gst/gstpad.c: (gst_pad_event_default_dispatch):
2261         The default event function on a sinkpad should return TRUE when
2262         there are no internal links but should collect the return values from
2263         the internal links otherwise.
2264
2265 2008-05-27  Wim Taymans  <wim.taymans@collabora.co.uk>
2266
2267         * plugins/elements/gsttypefindelement.c:
2268         (gst_type_find_element_src_event),
2269         (gst_type_find_element_handle_event):
2270         Use faster and safer _pad_push_event().
2271
2272 2008-05-27  Tim-Philipp Müller  <tim.muller at collabora co uk>
2273
2274         * docs/gst/gstreamer-sections.txt:
2275         * gst/gstutils.c: (element_find_unlinked_pad),
2276           (gst_bin_find_unlinked_pad), (gst_bin_find_unconnected_pad),
2277         * gst/gstutils.h:
2278           API: add gst_bin_find_unlinked_pad()
2279           API: deprecate gst_bin_find_unconnected_pad() (#401456)
2280
2281 2008-05-26  Peter Kjellerstedt  <pkj@axis.com>
2282
2283         * gst/gstclock.c:
2284         * gst/gstclock.h:
2285         * gst/gsttask.c:
2286         * gst/gsttask.h:
2287         Fixed a bunch of typos.
2288
2289 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2290
2291         * gst/gstpad.h:
2292         * gst/gstutils.c: (gst_element_unlink), (element_find_unlinked_pad),
2293           (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description),
2294           (gst_parse_bin_from_description_full):
2295         * gst/gstutils.h:
2296           'unconnected pad' -> 'unlinked pad' for consistency (#401456).
2297
2298 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2299
2300         * docs/pwg/advanced-tagging.xml:
2301           Small docs update, can't be bothered to rewrite the nonsensical
2302           examples right now.
2303
2304 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2305
2306         * gst/gstevent.h:
2307           Clarify docs for GST_SEEK_TYPE_CUR (#534505).
2308
2309 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2310
2311         * gst/parse/grammar.y:
2312           Remove unneeded casts.
2313
2314 2008-05-25  Tim-Philipp Müller  <tim.muller at collabora co uk>
2315
2316         * gst/parse/grammar.y:
2317         * tests/check/pipelines/parse-launch.c:
2318           Get all missing elements from a parse launch string if possible
2319           (ie. if the FATAL_ERRORS flag has been specified). Fixes #528178.
2320
2321 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2322
2323         * tests/check/Makefile.am:
2324         * tests/check/pipelines/parse-launch.c:
2325           Add some unit tests for the new gst_parse_launch*_full() API.
2326           (Exposes a previously-existing memory leak in the error code
2327           path, so adding to VALGRIND_TO_FIX for now).
2328
2329 2008-05-24  Tim-Philipp Müller  <tim.muller at collabora co uk>
2330
2331         * docs/gst/gstreamer-sections.txt:
2332         * gst/gst.c: (init_post):
2333         * gst/gst_private.h: (_GstParseContext):
2334         * gst/gstparse.c: (gst_parse_error_quark), (gst_parse_context_new),
2335           (gst_parse_context_free), (gst_parse_context_get_missing_elements),
2336           (gst_parse_launchv), (gst_parse_launchv_full), (gst_parse_launch),
2337           (gst_parse_launch_full):
2338         * gst/gstparse.h: (GST_PARSE_FLAG_NONE), (GST_PARSE_FLAG_FATAL_ERRORS),
2339           (GstParseFlags), (GstParseContext):
2340         * gst/gstutils.c: (gst_parse_bin_from_description),
2341           (gst_parse_bin_from_description_full):
2342         * gst/gstutils.h:
2343         * gst/parse/grammar.y:
2344         * gst/parse/types.h:
2345         * win32/common/libgstreamer.def:
2346           Add new gst_parse_*_full API (#528178):
2347           API: gst_parse_launch_full()
2348           API: gst_parse_launchv_full()
2349           API: gst_parse_bin_from_description_full()
2350           API: gst_parse_context_new()
2351           API: gst_parse_context_free()
2352           API: gst_parse_context_get_missing_elements()
2353
2354 2008-05-23  Stefan Kost  <ensonic@users.sf.net>
2355
2356         patch by: Suresh Kumar P <sureshkumar.pp@gmail.com>
2357
2358         * docs/faq/gst-uninstalled:
2359           Also support ffmpeg in gst-uninstalled.
2360
2361 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2362
2363         * configure.ac:
2364         After discussion on IRC use the binary registry as default
2365         but allow to disable it with --disable-binary-registry.
2366
2367         * win32/common/libgstreamer.def:
2368         Add the two new symbols for the binary registry.
2369
2370 2008-05-22  Tim-Philipp Müller  <tim.muller at collabora co uk>
2371
2372         * gst/gstparse.c: (_gst_parse_escape), (gst_parse_launchv):
2373         * gst/gstutils.c: (gst_parse_bin_from_description):
2374         * gst/parse/grammar.y: (graph):
2375           More guards against bad input; typo fix; some minor clean-ups.
2376
2377 2008-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
2378
2379         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2380
2381         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2382         If nothing else can be used, use the last buffer's start time as
2383         the segment's last stop. Fixes bug #534258.
2384
2385 2008-05-21  Tim-Philipp Müller  <tim.muller at collabora co uk>
2386
2387         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2388           Move size sanity check to the right place: downstream may return
2389           a buffer with a smaller size if the buffer caps are different than
2390           the requested ones, as may happen when doing reverse negotiation.
2391
2392 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2393
2394         * plugins/elements/gstfilesink.c: (gst_file_sink_set_location),
2395         (gst_file_sink_render):
2396         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location),
2397         (gst_file_src_start):
2398         Small cleanups. Add note adbout g_fopen() on windows and why we don't
2399         use it yet.
2400
2401 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2402
2403         * gst/gstpad.c: (gst_pad_load_and_link):
2404         * gst/gstutils.c: (gst_element_link_pads),
2405         (gst_element_unlink_pads):
2406         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2407         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2408         (gst_check_teardown_sink_pad),
2409         (gst_check_element_push_buffer_list):
2410         * tests/check/elements/fakesink.c: (GST_START_TEST):
2411         * tests/check/elements/filesink.c:
2412         * tests/check/elements/filesrc.c: (GST_START_TEST):
2413         * tests/check/elements/multiqueue.c: (setup_multiqueue),
2414         (mq_sinkpad_to_srcpad):
2415         * tests/check/elements/tee.c: (GST_START_TEST):
2416         * tests/check/generic/sinks.c: (GST_START_TEST):
2417         * tests/check/gst/gstbin.c: (GST_START_TEST):
2418         * tests/check/gst/gstevent.c: (GST_START_TEST):
2419         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
2420         * tests/check/gst/gstpipeline.c: (GST_START_TEST):
2421         * tests/check/gst/gstquery.c: (GST_START_TEST):
2422         * tests/check/gst/gstutils.c: (GST_START_TEST):
2423         * tests/check/libs/basesrc.c: (GST_START_TEST):
2424         * tests/check/pipelines/parse-launch.c: (run_delayed_test),
2425         (gst_parse_test_element_change_state):
2426         Don't use gst_element_get_pad().
2427
2428 2008-05-21  Felipe Contreras  <felipe.contreras@gmail.com>
2429
2430         * docs/Makefile.am:
2431         Fix installing plugin documentation when gtk-doc is disabled.
2432
2433 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2434
2435         * docs/manual/advanced-autoplugging.xml:
2436         * docs/manual/basics-helloworld.xml:
2437         * docs/manual/basics-pads.xml:
2438         * docs/manual/highlevel-components.xml:
2439         Avoid using a bad function in the example code.
2440
2441 2008-05-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2442
2443         * gst/gstclock.c: (gst_clock_set_calibration):
2444         Fix debug of the new clock rate.
2445
2446 2008-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
2447
2448         * win32/common/libgstbase.def:
2449         Add gst_base_sink_wait_clock() to the exported symbols.
2450
2451 2008-05-20  Sebastian Dröge  <slomo@circular-chaos.org>
2452
2453         Patch by: Tim-Philipp Müller  <tim.muller at collabora co uk>
2454
2455         * libs/gst/base/gstbasetransform.c:
2456         (gst_base_transform_sink_event):
2457         Unref events that the GstBaseTransform::event vfunc didn't want to
2458         have forwarded by the base class. Closes a leak in identity.
2459         Fixes bug #446763.
2460
2461 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2462
2463         * docs/libs/gstreamer-libs-sections.txt:
2464         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock):
2465         * libs/gst/base/gstbasesink.h:
2466         Expose a method that was previously used internally to synchronize
2467         against the clock because it can be useful for subclasses too.
2468         API: GstBaseSink::gst_base_sink_wait_clock()
2469
2470 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2471
2472         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
2473           Add sanity check to make sure we don't get smaller buffers
2474           than requested (and fallback to normal buffer alloc if we do).
2475
2476 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2477
2478         * libs/gst/base/gstbasesink.c: (gst_base_sink_adjust_time),
2479         (gst_base_sink_wait_clock), (gst_base_sink_wait_eos),
2480         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked):
2481         Refactor adjusting the running_time with latency and offset into a
2482         separate method.
2483         When doing clipping, we still want to use the subclass get_times method,
2484         just in case the DURATION or TIMESTAMP are not set.
2485
2486 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2487
2488         * docs/gst/gstreamer-sections.txt:
2489         * gst/gsttypefind.c: (gst_type_find_suggest_simple):
2490         * gst/gsttypefind.h:
2491         * win32/common/libgstreamer.def:
2492           API: add gst_type_find_suggest_simple(), #533740.
2493
2494 2008-05-19  Tim-Philipp Müller  <tim.muller at collabora co uk>
2495
2496         * libs/gst/base/gstbasesrc.c: (gst_base_src_start):
2497           Use right error code when typefinding fails, so we can use
2498           the default (translated) error messages.
2499
2500 2008-05-19  Wim Taymans  <wim.taymans@collabora.co.uk>
2501
2502         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
2503         (gst_base_src_start):
2504         When the subclass did not set caps on outgoing buffers, configure the
2505         caps we negotiated on the source pad.
2506         When the typefind helper does not find caps, error out properly instead
2507         of doing things with NULL caps.
2508
2509 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2510
2511         * gst/gsttypefind.h:
2512           Tabs to spaces, oh yes!
2513
2514 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2515
2516         * tests/check/gst/gstcaps.c: (test_intersect2), (gst_caps_suite):
2517           Add David's and Benjamin's tests for array intersection to the
2518           unit test suite (#147931).
2519
2520 2008-05-18  Tim-Philipp Müller  <tim.muller at collabora co uk>
2521
2522         * gst/gstevent.c:
2523           Document that gst_event_new_tag() and gst_event_new_navigation()
2524           take ownership of the taglist/structure passed to them. (#533635).
2525
2526 2008-05-17  Jan Schmidt  <jan.schmidt@sun.com>
2527
2528         * docs/Makefile.am:
2529         Don't descend into the plugins dir if plugin docs building
2530         is disabled.
2531
2532         * docs/README:
2533         Add a note about the new type:GTypeName syntax for the plugin
2534         documentation .types file.
2535
2536 2008-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
2537
2538         * gst/gstmessage.c: (gst_message_new_error),
2539         (gst_message_new_warning), (gst_message_new_info):
2540         * gst/gstmessage.h:
2541         Mark the debug string parameters as const. Fixes bug #533490.
2542
2543 2008-05-16  Sebastian Dröge  <slomo@circular-chaos.org>
2544
2545         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek):
2546         Sort buffer cache list by end offsets. This makes sure that we don't
2547         stop to search for a cached buffer that contains the requested data
2548         too early.
2549         Also read a minimum of 4k bytes instead of 512 bytes as this is a bit
2550         more efficient. Fixes bug #459862.
2551
2552 2008-05-14  Stefan Kost  <ensonic@users.sf.net>
2553
2554         * gst/gstinfo.c:
2555           Explain why we copy the list.
2556
2557         * gst/gstpipeline.c:
2558           Improve docs.
2559
2560         * gst/gstutils.c:
2561           Add one debug-log statement to help tracing probelms with linking pads.
2562
2563 2008-05-12  Stefan Kost  <ensonic@users.sf.net>
2564
2565         * tests/check/gst/gstinfo.c:
2566         Add a test for removing the default log handler. Seems to fail under
2567         windows.
2568
2569 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2570
2571         * gst/gstpad.c: (gst_pad_peer_accept_caps):
2572         Release pad lock before calling out to avoid a possible deadlock.
2573
2574 2008-05-14  Wim Taymans  <wim.taymans@collabora.co.uk>
2575
2576         * gst/parse/grammar.y:
2577         Remove unneeded value unset.
2578
2579         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2580         Add unit test for de/serialization of caps.
2581
2582 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2583
2584         * plugins/elements/gstfakesink.c:
2585         (marshal_VOID__MINIOBJECT_OBJECT), (gst_fake_sink_class_init):
2586         * plugins/elements/gstfakesrc.c: (marshal_VOID__MINIOBJECT_OBJECT),
2587         (gst_fake_src_class_init):
2588         Use custom marshalers that take GstMiniObject as first parameter.
2589         Using OBJECT as parameter while a GstMiniObject is given will lead
2590         to assertions if built with G_ENABLE_DEBUG. Fixes bug #525532.
2591
2592 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2593
2594         * plugins/elements/gsttypefindelement.c:
2595         (gst_type_find_element_handle_event),
2596         (gst_type_find_element_send_cached_events),
2597         (gst_type_find_element_change_state):
2598         Clean up on FLUSH_STOP and not FLUSH_START. Forward both events
2599         immediately.
2600
2601 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2602
2603         * plugins/elements/gsttypefindelement.c:
2604         (gst_type_find_handle_src_query), (stop_typefinding),
2605         (gst_type_find_element_handle_event),
2606         (gst_type_find_element_send_cached_events),
2607         (gst_type_find_element_change_state):
2608         Forward FLUSH_START events immediately and clean up instead of
2609         caching them.
2610
2611 2008-05-13  Sebastian Dröge  <slomo@circular-chaos.org>
2612
2613         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2614
2615         * libs/gst/base/gstbasetransform.c:
2616         (gst_base_transform_buffer_alloc):
2617         Check the caps of the buffer returned by gst_pad_alloc_buffer() and
2618         fall back to default negotiation in the chain function if the caps
2619         are different from what was requested. Fixes bug #526768.
2620
2621 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
2622
2623         * gst/gstsegment.c:
2624         * tests/check/gst/gstsegment.c:
2625           No, let's not use g_slice_{dup|copy} here, since they only exist
2626           since GLib 2.14 and we still depend only on >= 2.12. Also add
2627           unit test for gst_segment_copy().
2628
2629 2008-05-09  Tim-Philipp Müller  <tim.muller at collabora co uk>
2630
2631         * gst/gstutils.h: (GST_BOILERPLATE_FULL):
2632           Try to fix 'dereferencing type-punned pointer will break strict
2633           aliasing rules' warnings with C++ compilers and GLib >= 2.14.0: GLib
2634           changed the default GType typedef from gulong to gsize at some point,
2635           but kept GType typedef'ed to gulong for C++ for ABI reasons; the
2636           g_once_* functions all take a gsize * though, so work around the type
2637           mismatch for C++ by doing everything in gsize and casting to GType
2638           later.
2639
2640 2008-05-09  Jan Schmidt  <jan.schmidt@sun.com>
2641
2642         * plugins/elements/gstmultiqueue.c:
2643         Add documentation for the signals to push our core plugin docs
2644         coverage back up to 100%.
2645
2646 2008-05-08  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2647
2648         * gst/gstinfo.h (GST_FUNCTION):
2649           Reverted GST_FUNCTION to the old version as we don't want the
2650           full signature in C++ code. Also added support for MSVC.
2651
2652 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2653
2654         * gst/gstutils.h:
2655         Intern the type name string, similar to what G_DEFINE_TYPE does.
2656
2657 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2658
2659         * gst/gstutils.h:
2660         Make GST_BOILERPLATE thread-safe if building with GLib 2.14 or newer.
2661
2662 2008-05-08  Sebastian Dröge  <slomo@circular-chaos.org>
2663
2664         Based on a patch by: Sjoerd Simons <sjoerd at luon dot net>
2665
2666         * libs/gst/base/gstbasetransform.c:
2667         (gst_base_transform_buffer_alloc):
2668         Don't passthrough buffer allocation too easily if the caps change.
2669         This breaks when working in passthrough mode and upstream changes
2670         it's caps. Fixes bug #526768.
2671
2672 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2673
2674         * gst/gstinfo.c (gst_debug_log_valist):
2675           Improved the __FILE__ part of debug output for MSVC.
2676
2677 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2678
2679         * libs/gst/base/gstbasesrc.c (gst_base_src_default_query):
2680           Declaration after statement fix for compilers like MSVC.
2681
2682 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2683
2684         * win32/common/config.h.in:
2685           Don't define GST_FUNCTION, if GLib supports MSVC we'd much rather
2686           use the real thing than having "???" unconditionally.
2687
2688 2008-05-07  Ole André Vadla Ravnås  <ole.andre.ravnas at tandberg com>
2689
2690         * gst/gstinfo.h (GST_FUNCTION):
2691           Made GST_FUNCTION an alias for G_STRFUNC to avoid duplication.
2692
2693 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
2694
2695         * libs/gst/base/gstadapter.c: (gst_adapter_available_fast):
2696         Small code cleanup.
2697
2698         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2699         (gst_base_sink_set_flushing):
2700         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
2701         Fix some comments.
2702
2703 2008-05-07  Wim Taymans  <wim.taymans@collabora.co.uk>
2704
2705         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2706         (gst_fake_src_init), (gst_fake_src_set_property),
2707         (gst_fake_src_get_property), (gst_fake_src_start):
2708         * plugins/elements/gstfakesrc.h:
2709         Added format property to control the format of the newsegment events.
2710         API: GstFakeSrc:format
2711
2712 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
2713
2714         * win32/common/libgstreamer.def:
2715         Add gst_pad_has_name() to the exported symbols.
2716
2717 2008-05-06  Sebastian Dröge  <slomo@circular-chaos.org>
2718
2719         * gst/gstpad.c: (gst_pad_alloc_buffer_full):
2720         * libs/gst/base/gstbasetransform.c:
2721         (gst_base_transform_prepare_output_buffer):
2722         Don't allow negative sizes when allocating new buffers.
2723         Fixes bug #461253.
2724
2725 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2726
2727         Patch by: Sjoerd Simons <sjoerd at luon net>
2728
2729         * gst/gstbus.c: (gst_bus_source_dispatch):
2730           Don't print a warning if the queue is empty when we try to pop
2731           here. That could happen if another thread or callback set the
2732           bus to flushing between the source's check/prepare and the
2733           dispatch being called (#531538).
2734
2735 2008-05-05  Tim-Philipp Müller  <tim.muller at collabora co uk>
2736
2737         * plugins/elements/gstmultiqueue.c:
2738           Small docs fix.
2739         
2740 2008-05-05  Sebastian Dröge  <slomo@circular-chaos.org>
2741
2742         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
2743         Add unit test for deserializing uint64s and check some really large
2744         numbers in the int64 test.
2745
2746 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
2747
2748         * tools/gst-inspect.c: (n_print), (print_hierarchy),
2749         (print_interfaces), (print_element_properties_info),
2750         (print_signal_info):
2751         Use "%s" as format string instead of printing strings directly.
2752
2753 2008-05-04  Sebastian Dröge  <slomo@circular-chaos.org>
2754
2755         * gst/gstclock.c: (gst_clock_set_calibration):
2756         Make some checks actually useful.
2757
2758         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
2759         Remove some unused code. Unsigned integers tend to be >= 0.
2760
2761 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
2762
2763         * gst/gstminiobject.c: (gst_value_get_mini_object):
2764           Fix 'Since:' version in gst_value_dup_mini_object() docs blurb: this
2765           function was not in the unscheduled 0.10.19 release.
2766
2767 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
2768
2769         * gst/gstregistry.c: (gst_registry_scan_path_level):
2770           Only print one log message per non-plugin file.
2771
2772 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
2773
2774         * gst/gstinfo.c: (gst_debug_log_default):
2775           Fix alignment of debug log columns on 64-bit.
2776
2777 2008-05-03  Tim-Philipp Müller  <tim.muller at collabora co uk>
2778
2779         * docs/libs/Makefile.am:
2780         * docs/libs/gstreamer-libs-sections.txt:
2781           Ignore private controller headers for docs.
2782
2783 2008-05-03  Sebastian Dröge  <slomo@circular-chaos.org>
2784
2785         * libs/gst/controller/gstcontrollerprivate.h:
2786         * libs/gst/controller/gsthelper.c:
2787         * libs/gst/controller/gstinterpolation.c:
2788         * libs/gst/controller/gstinterpolationcontrolsource.c:
2789         (gst_interpolation_control_source_set_interpolation_mode):
2790         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
2791         * libs/gst/controller/lib.c:
2792         Move some private declarations into private headers.
2793
2794 2008-05-02  Sebastian Dröge  <slomo@circular-chaos.org>
2795
2796         * gst/gstdebugutils.c: (debug_dump_element_pad):
2797         Remove some code that is unused after Stefan's refactoring and uses
2798         uninitialized variables now, resulting in a compiler warning.
2799
2800 2008-05-01  Tim-Philipp Müller  <tim.muller at collabora co uk>
2801
2802         * gst/gstregistry.c: (gst_registry_scan_path_level):
2803           Run g_str_has_suffix() only on the file name, not the
2804           entire file path.
2805
2806 2008-04-30  Tim-Philipp Müller  <tim.muller at collabora co uk>
2807
2808         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream):
2809           Since we're not called only from the chain function any longer,
2810           we can't assume that there's always data in the queue, so move
2811           the is_full check to the beginning of the loop (otherwise we'd
2812           hit the assert when changing the limit properties while the
2813           queue is empty or not running yet).
2814           Also, only set a discont if items were actually removed from
2815           the queue.
2816
2817         * tests/check/elements/queue.c: (test_leaky_downstream):
2818           Test case for the above.
2819
2820 2008-04-30  Wim Taymans  <wim.taymans@collabora.co.uk>
2821
2822         Patch by: Jonas Holmberg <jonas dot holmberg at axis dot com>
2823
2824         * plugins/elements/gstqueue.c: (gst_queue_leak_downstream),
2825         (gst_queue_chain), (queue_capacity_change),
2826         (gst_queue_set_property):
2827         When changing thr max capacity of a leaky queue, immediatly drop buffers
2828         instead of waiting for a push on the sinkpad. Fixes #530637.
2829
2830 2008-04-30  Stefan Kost  <ensonic@users.sf.net>
2831
2832         * gst/gstdebugutils.c:
2833           Refactor code and fix handling of ghostpads and their proxypads.
2834
2835 2008-04-29  Wim Taymans  <wim.taymans@collabora.co.uk>
2836
2837         * docs/gst/gstreamer-sections.txt:
2838         * gst/gstevent.c: (gst_event_has_name):
2839         * gst/gstevent.h:
2840         * tests/check/gst/gstevent.c: (GST_START_TEST):
2841         Add method to conveniently check the name of a custom event with
2842         gst_event_has_name().
2843         Reformat the event docs so that related methods are put together instead
2844         of the default alphabetical sort.
2845         Update unit test with new method.
2846         API: GstEvent::gst_event_has_name()
2847
2848 2008-04-28  Michael Smith <msmith@songbirdnest.com>
2849
2850         * libs/gst/check/Makefile.am:
2851           Don't add an explicit link to libgstreamer-0.10.la; it's already
2852           included in GST_OBJ_LIBS.
2853
2854 2008-04-28  Sebastian Dröge  <slomo@circular-chaos.org>
2855
2856         * gst/gst.c:
2857         Register GstClock type from a type-safe context. Fixes bug #530317.
2858
2859 2008-04-25  Michael Smith <msmith@songbirdnest.com>
2860
2861         Patch by Edward Hervey <edward.hervey@collabora.co.uk>
2862         * tools/gst-run.c:
2863           Include <unistd.h> conditionally on HAVE_UNISTD_H as elsewhere.
2864
2865 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2866
2867         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
2868         (gst_bin_dispose):
2869         Use the GLib stuff to create a private structure.
2870         Add some locking around some dispose methods to make them a little
2871         safer, see #529723. Patch by: Antoine Tremblay <hexa00 at gmail dot com>
2872
2873 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
2874
2875         * libs/gst/base/gstbasesink.h:
2876         * libs/gst/base/gstbasesrc.h:
2877         * libs/gst/base/gstbasetransform.h:
2878         * libs/gst/base/gstcollectpads.h:
2879           Fix doc typos and unify caps a bit.
2880
2881 2008-04-25  Stefan Kost  <ensonic@users.sf.net>
2882
2883         * tools/gst-launch.1.in:
2884           Forgot to also add the envvar docs here.
2885
2886 2008-04-25  Tim-Philipp Müller  <tim at centricular dot net>
2887
2888         * gst/gst.c: (init_post), (gst_deinit):
2889         * tests/check/gst/gstpipeline.c: (GST_START_TEST), (pipeline_thread),
2890           (test_concurrent_create), (gst_pipeline_suite):
2891           Ref some more classes in gst_init() to work around thread-safety
2892           issues in pre-2.16 GLibs, and add basic unit test.
2893
2894 2008-04-25  Wim Taymans  <wim.taymans@collabora.co.uk>
2895
2896         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
2897         (gst_base_sink_send_event):
2898         Rearrange the latency query code. We always want to do the upstream
2899         query, even if we are not live so that the upstream elements can get the
2900         latency results too. If we fail doing the query and we are live, we
2901         return TRUE afterwards.
2902
2903 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
2904
2905         patch by: Jason Zhao <e3423c@motorola.com>
2906
2907         * docs/gst/running.xml:
2908         * gst/gst.c:
2909           Enable/disable scan_and_update_registry() based on commandline switch
2910           or environment variable. Fixes #520468.
2911           
2912         * ChangeLog:
2913           Fix typo in my previous commit.
2914
2915 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
2916
2917         * gst/gstregistrybinary.c:
2918           Add a warning if we hit unhandled factories when saving.
2919           More debug logging detail, but move to LOG category.
2920
2921 2008-04-24  Stefan Kost  <ensonic@users.sf.net>
2922
2923         * gst/gstregistry.c:
2924           Tell the *truth* when improving the documentation.
2925
2926 2008-04-23  Sebastian Dröge  <slomo@circular-chaos.org>
2927
2928         * gst/gstelementfactory.c: (gst_element_factory_make):
2929         Unref the factory after it was used the last time, not before.
2930
2931         * gst/gstindexfactory.c: (gst_index_factory_make):
2932         Improve debugging a bit and don't leak a ref to the index factory with
2933         each call.
2934
2935 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
2936
2937         * gst/gstregistry.c:
2938           Improve the documentation.
2939
2940 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
2941
2942         * gst/gstsegment.c:
2943           The glib macro seems to be borked. Use g_slice_copy directly and cast
2944           in the hope that this fixes the warning on 64bit.
2945
2946 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
2947
2948         * gst/gstsegment.c:
2949           Document the new function. Use g_slice_dup() (no need for
2950           gst_segment_init()).    
2951
2952 2008-04-23  Stefan Kost  <ensonic@users.sf.net>
2953
2954         * docs/gst/gstreamer-sections.txt:
2955           Move GParamSepc macros to standart section.
2956   
2957         * gst/gstbin.c:
2958           Dn't document _get_type - its in private section in docs anyway and
2959           this doc-blob was incomplete.
2960
2961         * gst/gstclock.h:
2962           Fix wrong symbol names in docs.
2963
2964         * gst/gstmacros.h:
2965           Add once doc sentence.
2966
2967         * tests/check/gst/.cvsignore:
2968           Ignore more.
2969
2970 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
2971
2972         * docs/gst/Makefile.am:
2973           And remove those libs here.
2974
2975 2008-04-21  Tim-Philipp Müller  <tim at centricular dot net>
2976
2977         * docs/libs/Makefile.am:
2978           Fix docs build again by adding libgstnet-0.10.so to SCANOBJ_DEPS.
2979
2980 2008-04-21  Wim Taymans  <wim.taymans@collabora.co.uk>
2981
2982         Patch by: Olivier Crete <tester at tester dot ca>
2983
2984         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
2985         Add the min-threshold to the min latency if possible. Fixes #529148.
2986
2987 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
2988
2989         * docs/gst/gstreamer.types.in:
2990           Stupid editor, I removed that line as it should go in yet.
2991
2992 2008-04-21  Stefan Kost  <ensonic@users.sf.net>
2993
2994         * docs/gst/gstreamer.types.in:
2995         * docs/libs/gstreamer-libs.types:
2996           Remove library types fro core docs and have them in libs docs.
2997           Reformat and cleanup. Add comment for miniobject types.
2998
2999 2008-04-20  Tim-Philipp Müller  <tim at centricular dot net>
3000
3001         * gst/gsturi.c: (gst_uri_get_protocol):
3002           Fix leak: g_strdown operates on the string in place, while
3003           g_ascii_strdown() returns a newly-allocated string.
3004
3005 2008-04-20  Sebastian Dröge  <slomo@circular-chaos.org>
3006
3007         * tools/gst-inspect.c: (print_uri_handler_info),
3008         (print_element_info):
3009         Print the URI protocols and the URI type supported by the element.
3010
3011 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3012
3013         * gst/gsttaglist.c: (gst_tag_merge_strings_with_comma):
3014         Use g_value_take_string() instead of the deprecated
3015         g_value_set_string_take_ownership().
3016
3017 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3018
3019         * gst/gstregistrybinary.c: (_gst_crc32):
3020         Return the old CRC instead of 0 if we give a NULL buffer
3021         or a buffer with a length of 0.
3022
3023 2008-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
3024
3025         * gst/gsturi.c: (gst_uri_protocol_check_internal),
3026         (gst_uri_get_protocol), (gst_uri_has_protocol),
3027         (gst_uri_construct), (gst_uri_handler_set_uri):
3028         A valid URI scheme can also include '+', '-' and '.' additional
3029         to alphanumeric characters as per RFC 3986 Section 3.1.
3030
3031         Handle URI schemes case insensitive in all places and convert
3032         to lower-case when constructing an URI or setting an URI with
3033         the GstURIHandler interface. Fixes bug #528868.
3034         All elements can still assume (as before) that they will
3035         get passed URIs with a lower-case URI scheme by the GstURIHandler
3036         interface.
3037
3038 2008-04-17  Tim-Philipp Müller  <tim at centricular dot net>
3039
3040         * gst/gstcaps.c: (gst_static_caps_get):
3041         * gst/gstclock.c: (gst_clock_entry_new):
3042           Don't use g_atomic_set_int where it's not needed.
3043
3044 2008-04-17  Wim Taymans  <wim.taymans@collabora.co.uk>
3045
3046         * gst/gstvalue.c: (gst_value_deserialize_caps):
3047         * gst/parse/grammar.y:
3048         Fix 2 caps leaks.
3049
3050 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3051
3052         * gst/gstutils.c: (gst_atomic_int_set):
3053         Use g_atomic_int_set() here too instead of assignment +
3054         g_atomic_int_get().
3055
3056 2008-04-17  Sebastian Dröge  <slomo@circular-chaos.org>
3057         
3058         * gst/gstutils.c:
3059         * gst/gstutils.h:
3060         API: Deprecate gst_atomic_int_set(), g_atomic_int_set() should be used
3061         now that we depend on new enough GLib.
3062
3063         * gst/gstcaps.c: (gst_static_caps_get):
3064         * gst/gstclock.c: (gst_clock_entry_new):
3065         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_set_colored),
3066         (gst_debug_set_default_threshold), (_gst_debug_category_new),
3067         (gst_debug_category_set_threshold):
3068         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3069         (gst_base_sink_set_qos_enabled):
3070         * libs/gst/net/gstnettimeprovider.c:
3071         (gst_net_time_provider_set_property):
3072         Use g_atomic_int_set() instead of gst_atomic_int_set().
3073
3074 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3075
3076         * gst/gstquery.c:
3077           Also use G_GINT64_CONSTANT for the queries.
3078
3079 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3080
3081         * gst/gstmessage.c:
3082           Use G_GINT64_CONSTANT in varargs function.
3083
3084 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3085
3086         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic):
3087         Initialize the registry magic with zeroes.
3088
3089 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3090
3091         * gst/gstregistrybinary.c: (_gst_crc32),
3092         (gst_registry_binary_write),
3093         (gst_registry_binary_initialize_magic),
3094         (gst_registry_binary_write_cache),
3095         (gst_registry_binary_check_magic),
3096         (gst_registry_binary_read_cache):
3097         * gst/gstregistrybinary.h:
3098         Add crc32 checksum to the binary registry file and check this before
3099         accepting a registry file.
3100
3101         Also free the data list when writing to the registry file fails.
3102
3103 2008-04-16  Sebastian Dröge  <slomo@circular-chaos.org>
3104
3105         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
3106         (gst_registry_binary_load_feature),
3107         (gst_registry_binary_load_plugin):
3108         If an element supports the Uri interface, returns a valid pointer
3109         to the supported URI protocols but this pointer contains nothing
3110         don't try to save that as it will corrupt the registry.
3111
3112         Don't unref the plugin if we added it to the registry already but
3113         fail to load a feature as gst_registry_add_plugin() takes ownership
3114         of the plugin.
3115
3116         Improve debugging a bit.
3117
3118 2008-04-16  Stefan Kost  <ensonic@users.sf.net>
3119
3120         * gst/gsttaglist.h:
3121           Clarify some tag item docs after discussion on irc.
3122
3123 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3124
3125         * docs/gst/gstreamer-docs.sgml:
3126           Remove commented out plugins (they have their own docs). Update
3127           comments.
3128
3129 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3130
3131         * docs/gst/gstreamer-docs.sgml:
3132         * docs/gst/gstreamer-sections.txt:
3133         * gst/gstparamspecs.c:
3134         * gst/gstparamspecs.h:
3135           Add GST_PARAM_CONTROLLABLE and GST_PARAM_USER_SHIFT. Move paramspec
3136           docs to own section.
3137
3138         * gst/gstvalue.c:
3139           This now only documents GValue.
3140           
3141         * docs/libs/gstreamer-libs-sections.txt:
3142         * libs/gst/controller/gstcontroller.h:
3143           Remove GST_PARAM_CONTROLLABLE.
3144
3145 2008-04-15  Stefan Kost  <ensonic@users.sf.net>
3146
3147         * docs/README:
3148           Correct file path. Tell about how to use -overrides.txt.
3149         * docs/design/draft-tagreading.txt:
3150           Small design update.
3151
3152 2008-04-14  Sebastian Dröge  <slomo@circular-chaos.org>
3153
3154         * gst/gstregistrybinary.c: (gst_registry_binary_load_feature),
3155         (gst_registry_binary_load_plugin):
3156         Fix a typo in a debug message and revert change from yesterday as
3157         gst_registry_add_plugin() will only fail if something is really wrong
3158         already and we can't survive it anyway.
3159
3160 2008-04-14  Tim-Philipp Müller  <tim at centricular dot net>
3161
3162         * gst/gst.c: (init_post), (gst_deinit):
3163           Pre-register GstGError GType from a thread-safe context
3164           (fixes #527967); unref enum type classes in deinit.
3165
3166 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3167
3168         Patch by: Rene Stadler <mail at renestadler de>
3169
3170         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
3171           Merging an empty list with another list in KEEP_ALL mode should
3172           yield an empty list as result and not the second list (#512578).
3173
3174         * tests/check/gst/gsttagsetter.c:
3175           Add unit test for tag merge modes and the aforementioned bug.
3176
3177 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3178
3179         Patch by: Rene Stadler <mail at renestadler de>
3180
3181         * gst/gsttaglist.h:
3182           Fix description to match the order in the table (#512577).
3183   
3184 2008-04-13  Tim-Philipp Müller  <tim at centricular dot net>
3185
3186         Patch by: Kwang Yul Seo  <kwangyul.seo gmail com>
3187
3188         * libs/gst/net/gstnettimepacket.h:
3189         * docs/libs/gstreamer-libs-sections.txt:
3190           Define socklen_t as int if it's not defined yet. Fixes compilation
3191           with MSVC6 and other versions where socklen_t is not defined in
3192           the windows headers (#518022).
3193
3194 2008-04-13  Sebastian Dröge  <slomo@circular-chaos.org>
3195
3196         * gst/gstregistrybinary.c: (gst_registry_binary_load_plugin):
3197         If gst_registry_add_plugin() fails our reference to the plugin is
3198         invalid so don't try to use it anymore and instead error out.
3199
3200 2008-04-12  Tim-Philipp Müller  <tim at centricular dot net>
3201
3202         * tools/gst-xmlinspect.c: (print_element_info), (main):
3203           De-cruft a bit. If no argument is specified, print all elements in
3204           XML syntax rather than a freestyle list of elements like gst-inspect.
3205           Also, don't print XML header chunk unless we actually have something
3206           to print (ie. don't print it before an error message); print error
3207           message to stderr not stdout. Remove support for printing plugin
3208           info (it would just output something freestyle along the lines of
3209           gst-inspect so far), which fixes #514507. Also add license header.
3210
3211 2008-04-11  Julien Moutte  <julien@fluendo.com>
3212
3213         Mac OS X love...
3214         * configure.ac: Merge platform specific defines, introduce a new
3215         define on OS X to remember that forking when updating registry is
3216         unsafe.
3217         * docs/faq/gst-uninstalled: Updated to include gst-libs in the bad
3218         module.
3219         * gst/gst.c: Don't fork when updating registry if GST_HAVE_UNSAFE_FORK
3220         is defined.
3221         * gst/gstregistry.c: (gst_registry_scan_path_level): Fixed a bogus
3222         condition that leads to absolutely no plugins being registered on
3223         OS X.
3224
3225 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3226
3227         Based on patch by: José Alburquerque <jaalburqu at svn dot gnome dot org>
3228
3229         * gst/gstutils.c: (gst_pad_add_data_probe),
3230           (gst_pad_add_data_probe_full), (gst_pad_add_event_probe),
3231           (gst_pad_add_event_probe_full), (gst_pad_add_buffer_probe),
3232           (gst_pad_add_buffer_probe_full):
3233         * gst/gstutils.h:
3234         * docs/gst/gstreamer-sections.txt:
3235         * win32/common/libgstreamer.def:
3236           Add gst_pad_add_*_probe_full() functions with a notify callback that
3237           lets the caller free the data it passes to the probe functions. This
3238           is useful for bindings such as gst-python or gstreamermm (#526814).
3239           API: gst_pad_add_data_probe_full
3240           API: gst_pad_add_buffer_probe_full
3241           API: gst_pad_add_event_probe_full
3242
3243         * tests/check/gst/gstutils.c:
3244           Add minimal unit test to make sure freeing the data actually works
3245           as expected.
3246
3247         * tests/benchmarks/.cvsignore:
3248           Random cvsignore addendum.
3249
3250 2008-04-10  Tim-Philipp Müller  <tim at centricular dot net>
3251
3252         * gst/gstdebugutils.h: (GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS),
3253           (GST_DEBUG_BIN_TO_DOT_FILE):
3254           Mention GstDebugGraphDetails enum type in doc blurb so we get a link
3255           to it in the docs (since these are macros the types of the arguments
3256           won't be shown in the docs otherwise).
3257
3258 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3259
3260         * gst/gstpad.c:
3261           Do not abort on out of memory for pad_alloc_buffer.
3262
3263 2008-04-10  Stefan Kost  <ensonic@users.sf.net>
3264
3265         * libs/gst/check/gstcheck.c:
3266           Remove blank line between symbol name ad parameters to fix gtkdoc
3267           warning.
3268
3269 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3270
3271         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3272
3273         * docs/gst/gstreamer-sections.txt:
3274         * gst/gstsegment.c:
3275         * gst/gstsegment.h:
3276         * win32/common/libgstreamer.def:
3277           Expose gst_segment_copy() to make things easier for the c++ bindings.
3278           Fixes #518932.
3279           API: gst_segment_copy()
3280
3281 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3282
3283         * gst/gst.c: (gst_init_get_option_group), (init_post):
3284           Fix const position; ref GType classes for enum types to work
3285           around thread-safety issues in GLib versions < 2.16.
3286
3287 2008-04-09  Wim Taymans  <wim.taymans@collabora.co.uk>
3288
3289         * docs/design/part-buffering.txt:
3290         Fix some typos and set the estimated total for push mode to -1.
3291
3292         * gst/gstquery.c: (gst_query_new_buffering):
3293         Set buffering-left to 0 as we're not buffering by default.
3294
3295         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3296         Implement BUFFERING query.
3297
3298 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3299
3300         Based on patch by: Milosz Derezynski <internalerror gmail com>
3301
3302         * gst/gsterror.c: (_gst_stream_errors_init):
3303         * gst/gsterror.h:
3304           Add two new error codes for encrypted content. Fixes #524659.
3305           API: GST_STREAM_ERROR_DECRYPT
3306           API: GST_STREAM_ERROR_DECRYPT_NOKEY
3307
3308 2008-04-09  Tim-Philipp Müller  <tim at centricular dot net>
3309
3310         * gst/gstquery.h:
3311           Fix typo.
3312
3313         * win32/common/libgstreamer.def:
3314           Add new functions.
3315
3316 2008-04-09  Sebastian Dröge  <slomo@circular-chaos.org>
3317
3318         * plugins/elements/gstidentity.c: (gst_identity_event),
3319         (gst_identity_start):
3320         Fix imperfect timestamp/offset checks when we get another NEWSEGMENT
3321         event after processing some data. Fixes bug #526042.
3322
3323 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3324
3325         * docs/gst/gstreamer-sections.txt:
3326         * gst/gstquery.c: (gst_query_parse_latency),
3327         (gst_query_set_buffering_percent),
3328         (gst_query_parse_buffering_percent),
3329         (gst_query_set_buffering_range), (gst_query_parse_buffering_range):
3330         * gst/gstquery.h:
3331         Rename _avail -> _range
3332         API: gst_query_set_buffering_range
3333         API: gst_query_parse_buffering_range
3334
3335 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3336
3337         * docs/design/part-buffering.txt:
3338         * gst/gstquark.c:
3339         * gst/gstquark.h:
3340         * gst/gstquery.c: (gst_query_parse_latency),
3341         (gst_query_new_buffering), (gst_query_set_buffering_percent),
3342         (gst_query_parse_buffering_percent):
3343         * gst/gstquery.h:
3344         Add busy field and quark for the buffering query so that the app can
3345         only use the query to see if buffering is in progress.
3346
3347 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3348
3349         * docs/gst/gstreamer-sections.txt:
3350         * gst/gstmessage.c: (gst_message_set_buffering_stats),
3351         (gst_message_parse_buffering_stats):
3352         * gst/gstmessage.h:
3353         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
3354         (gst_query_parse_latency), (gst_query_new_buffering),
3355         (gst_query_set_buffering_percent),
3356         (gst_query_parse_buffering_percent),
3357         (gst_query_set_buffering_stats), (gst_query_parse_buffering_stats),
3358         (gst_query_set_buffering_avail), (gst_query_parse_buffering_avail):
3359         * gst/gstquery.h:
3360         Reorder the message docs and headers for clarity.
3361         Add aditional buffering stats API for messages.
3362         Add buffering query.
3363         Convert some leftover queries to use GstQuark.
3364         API: gst_message_set_buffering_stats
3365         API: gst_message_parse_buffering_stats
3366         API: GST_QUERY_BUFFERING
3367         API: GstBufferingMode
3368         API: gst_query_new_buffering
3369         API: gst_query_set_buffering_percent
3370         API: gst_query_parse_buffering_percent
3371         API: gst_query_set_buffering_stats
3372         API: gst_query_parse_buffering_stats
3373
3374 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3375
3376         * gst/gstmessage.c: (gst_message_new_error),
3377         (gst_message_new_warning), (gst_message_new_info),
3378         (gst_message_new_buffering), (gst_message_new_state_changed),
3379         (gst_message_new_clock_provide), (gst_message_new_clock_lost),
3380         (gst_message_new_new_clock), (gst_message_new_segment_start),
3381         (gst_message_new_segment_done), (gst_message_new_duration),
3382         (gst_message_new_async_start), (gst_message_parse_buffering),
3383         (gst_message_parse_state_changed),
3384         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
3385         (gst_message_parse_new_clock), (gst_message_parse_error),
3386         (gst_message_parse_warning), (gst_message_parse_info),
3387         (gst_message_parse_segment_start),
3388         (gst_message_parse_segment_done), (gst_message_parse_duration),
3389         (gst_message_parse_async_start):
3390         Use GstQuark for messages.
3391
3392 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3393
3394         * gst/gstquark.c: (_priv_gst_quarks_initialize):
3395         * gst/gstquark.h:
3396         Add some more quarks needed for messages and queries.
3397
3398 2008-04-08  Wim Taymans  <wim.taymans@collabora.co.uk>
3399
3400         * docs/design/part-buffering.txt:
3401         Remove the "none" buffering mode, STREAM is a good default.
3402         Move estimated-time to the avail query, that's when it will be needed.
3403         Other small typo fixes and updates.
3404
3405 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3406
3407         * gst/gstindex.c: (gst_index_resolver_get_type):
3408           Don't put descriptions into the nick field of a GEnumValue: it's not
3409           meant for that and some language bindings rely on the nick field to
3410           construct constants and the like. Fixes #526705.
3411
3412 2008-04-07  Tim-Philipp Müller  <tim at centricular dot net>
3413
3414         * NEWS:
3415         * RELEASE:
3416         * gstreamer.doap:
3417           Merge other changes from 0.10.19 release branch.
3418
3419 2008-04-06  Sebastian Dröge  <slomo@circular-chaos.org>
3420
3421         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3422
3423         * configure.ac:
3424         Actually build dlls when cross-compiling with mingw32.
3425         Fixes bug #526247.
3426
3427 2008-04-05  Sebastian Dröge  <slomo@circular-chaos.org>
3428
3429         Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
3430
3431         * gst/gstpoll.c:
3432         Fix compilation of GstPoll with mingw32. Fixes bug #526236.
3433
3434 2008-04-04  Wim Taymans  <wim.taymans@collabora.co.uk>
3435
3436         * docs/design/draft-latency.txt:
3437         Fix typo.
3438
3439         * docs/design/part-buffering.txt:
3440         Update design docs with more buffering ideas.
3441
3442 2008-04-03  Tim-Philipp Müller  <tim at centricular dot net>
3443
3444         * configure.ac:
3445           Bump version to 0.10.19.1 after the unscheduled 0.10.19 release.
3446
3447 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3448
3449         * configure.ac:
3450           Revert part that belongs to the preset patch.
3451
3452 2008-04-03  Stefan Kost  <ensonic@users.sf.net>
3453
3454         * configure.ac:
3455           Add qoutes to the define. Fixes # 525961.
3456
3457 2008-04-03  Sebastian Dröge  <slomo@circular-chaos.org>
3458
3459         * plugins/indexers/gstfileindex.c: (_file_index_id_free),
3460         (gst_file_index_load), (gst_file_index_add_id),
3461         (gst_file_index_get_assoc_entry):
3462         * plugins/indexers/gstmemindex.c: (gst_mem_index_free_format),
3463         (gst_mem_index_free_id), (gst_mem_index_add_id),
3464         (gst_mem_index_index_format):
3465         Use GSlice when possible.
3466
3467 2008-04-02  Sebastian Dröge  <slomo@circular-chaos.org>
3468
3469         * libs/gst/controller/gstinterpolationcontrolsource.c:
3470         (gst_control_point_free),
3471         (gst_interpolation_control_source_set_internal):
3472         Use GSlice for allocating the control points.
3473
3474 2008-04-02  Wim Taymans  <wim.taymans@collabora.co.uk>
3475
3476         * plugins/elements/gsttypefindelement.c:
3477         (gst_type_find_element_class_init),
3478         (gst_type_find_element_set_property),
3479         (gst_type_find_element_get_property),
3480         (gst_type_find_element_activate):
3481         * plugins/elements/gsttypefindelement.h:
3482         Cleanup properties.
3483         Fix pad leak when peer query fails.
3484         We can still typefind when the peer returns -1.
3485         Add property to force caps and bypass typefinding. This will be used in
3486         uridecodebin.
3487         API::force-caps
3488
3489 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3490
3491         * configure.ac:
3492         Require GLib 2.12.
3493
3494         * gst/glib-compat-private.h:
3495         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free):
3496         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
3497         Unconditionally use GSlice for allocation.
3498
3499         * gst/gstpoll.c: (gst_poll_new), (gst_poll_free):
3500         * gst/gstsegment.c: (gst_segment_new), (gst_segment_free):
3501         * gst/gststructure.c: (gst_structure_id_empty_new_with_size),
3502         (gst_structure_free):
3503         Use GSlice for allocation.
3504
3505 2008-04-01  Sebastian Dröge  <slomo@circular-chaos.org>
3506
3507         * gst/parse/Makefile.am:
3508         * gst/parse/grammar.tab.pre.c:
3509         * gst/parse/grammar.tab.pre.h:
3510         * gst/parse/lex._gst_parse_yy.pre.c:
3511         Require a new enough flex and bison and remove the parser hacks to use
3512         a pre-regenerated version.
3513
3514 2008-04-01  Julien Moutte  <julien@fluendo.com>
3515
3516         patch by: Jason Zhao <E3423C@motorola.com>
3517
3518         * configure.ac: Add a configure switch to disable option parsing
3519         in gst_init.
3520         Fixes #522882.
3521
3522 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3523
3524         * configure.ac:
3525         * gst/gstregistry.c:
3526           MacOS has plugins under .so or under .dylib. Add detection for MacOS
3527           and handle this case.
3528
3529         * gst/gst.c:
3530           Add a comment here describing, why we stat each plugin and not try to
3531           be smart.
3532
3533 2008-03-31  Sebastian Dröge  <slomo@circular-chaos.org>
3534
3535         * libs/gst/base/gstbasetransform.c:
3536         (gst_base_transform_prepare_output_buffer):
3537         Also unset the GAP flag on buffers if we're working inplace but
3538         the element is not GAP-aware.
3539
3540         Mark a comment as FIXME 0.11.
3541
3542 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3543
3544         * gst/gst.c:
3545           Fix type in log message and add one to ease seeing how long registry
3546           cache verification takes.
3547
3548         * gst/gstregistry.c:
3549           Only test plugin filenames against G_MODULE_SUFFIX.
3550
3551 2008-03-31  Stefan Kost  <ensonic@users.sf.net>
3552
3553         * gst/gstdebugutils.c:
3554           Improve handling ghost/proxy pads.
3555
3556 2008-03-27  Stefan Kost  <ensonic@users.sf.net>
3557
3558         * docs/gst/gstreamer-sections.txt:
3559         * gst/gstpad.c:
3560         * gst/gstpad.h:
3561           Expose macro to docs and fix link to it.
3562
3563 2008-03-27  Michael Smith <msmith@fluendo.com>
3564
3565         * libs/gst/dataprotocol/dataprotocol.c:
3566         (gst_dp_packet_from_event_1_0):
3567           When calculating GDP body CRC, use the correct pointer. 
3568           Fixes part of #522401.
3569
3570 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3571
3572         Patch by: Mark Nauwelaerts <manauw at skynet be>
3573
3574         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3575         (gst_identity_init), (gst_identity_prepare_output_buffer):
3576         Identity is not always a passthrough element, it can modify the buffer
3577         timestamps when it has a datarate and operates in single-segment mode.
3578         We therefore make it an in_place filter with a custom buffer prepare
3579         function that conditionally makes the input buffer metadata writable
3580         when needed.  Fixes #523985.
3581
3582 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3583
3584         Patch by: Mark Nauwelaerts <manauw at skynet be>
3585
3586         * gst/gstclock.h:
3587         * libs/gst/base/gstbasesrc.h:
3588         * libs/gst/base/gstbasetransform.c:
3589         * libs/gst/check/gstcheck.c:
3590         Small documentation fixes. Fixes #523978.
3591
3592 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3593
3594         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
3595         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3596         Also retry our poll_wait when we get EAGAIN. Fixes #524041.
3597
3598 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3599
3600         * plugins/elements/gstmultiqueue.c: (single_queue_overrun_cb),
3601         (single_queue_underrun_cb):
3602         When trying to make room in the queue, bump the max allowed buffers
3603         bigger than the current amount of buffers in the queue. this fixes some
3604         nasty deadlocks in multiqueue when dynamically changing the limits of
3605         the queue.
3606
3607 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3608
3609         Patch by:  José Alburquerque <jaalburqu at svn dot gnome dot org>
3610
3611         * gst/gstcaps.c: (gst_caps_set_simple),
3612         (gst_caps_set_simple_valist), (gst_caps_intersect):
3613         * gst/gstcaps.h:
3614         Constify the field gchar * params in set_simple and friends.
3615         Fixes #522326.
3616
3617 2008-03-24  Wim Taymans  <wim.taymans@collabora.co.uk>
3618
3619         * gst/gstvalue.c: (gst_value_transform_object_string):
3620         Transform a GstObject to a more meaningfull string that includes the
3621         object type in addition to its name.
3622
3623 2008-03-23  Stefan Kost  <ensonic@users.sf.net>
3624
3625         * ChangeLog:
3626           ChangeLog surgery to add bugnumber to commit.
3627
3628 2008-03-23  Rene Stadler  <mail@renestadler.de>
3629
3630         * libs/gst/base/gstbasetransform.c:
3631         (gst_base_transform_set_gap_aware): Fix confusing documentation.
3632
3633 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3634
3635         * gst/gstregistrybinary.c: (gst_registry_binary_write):
3636         Rename constant everywhere and don't forget one occurence.
3637
3638 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3639
3640         * gst/gstregistrybinary.c: (gst_registry_binary_write):
3641         Align memory to the pointer size even if the architecture allows
3642         unaligned memory access. Unaligned memory access usually comes with
3643         performance penality.
3644
3645 2008-03-23  Sebastian Dröge  <slomo@circular-chaos.org>
3646
3647         * gst/gstregistrybinary.c: (gst_registry_binary_write),
3648         (gst_registry_binary_check_magic),
3649         (gst_registry_binary_load_pad_template),
3650         (gst_registry_binary_load_feature),
3651         (gst_registry_binary_load_plugin):
3652         Align memory to the pointer size instead of always 32 bit. Fixes
3653         unaligned memory accesses on ia64 and friends.
3654
3655         * gst/gstregistrybinary.h:
3656         Bump binary registry format version for this as it changes the
3657         format on those architectures that don't have unaligned access
3658         and 64 bit pointers.
3659
3660 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3661
3662         * docs/pwg/advanced-dparams.xml:
3663         * docs/pwg/building-props.xml:
3664         * docs/pwg/other-source.xml:
3665         * gst/glib-compat.h:
3666         * gst/gstbin.c: (gst_bin_class_init):
3667         * gst/gstclock.c: (gst_clock_class_init):
3668         * gst/gstindex.c: (gst_index_class_init):
3669         * gst/gstobject.c: (gst_object_class_init):
3670         * gst/gstpad.c: (gst_pad_class_init):
3671         * gst/gstpipeline.c: (gst_pipeline_class_init):
3672         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3673         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
3674         * libs/gst/base/gstbasetransform.c:
3675         (gst_base_transform_class_init):
3676         * libs/gst/base/gstdataqueue.c: (gst_data_queue_class_init):
3677         * libs/gst/check/gstcheck.c: (_gst_check_fault_handler_restore),
3678         (_gst_check_fault_handler_sighandler),
3679         (_gst_check_fault_handler_setup), (gst_check_init):
3680         * libs/gst/controller/gstcontroller.c:
3681         (_gst_controller_class_init):
3682         * libs/gst/controller/gstlfocontrolsource.c:
3683         (gst_lfo_control_source_class_init):
3684         * libs/gst/net/gstnetclientclock.c:
3685         (gst_net_client_clock_class_init):
3686         * libs/gst/net/gstnettimeprovider.c:
3687         (gst_net_time_provider_class_init):
3688         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
3689         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3690         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3691         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
3692         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
3693         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
3694         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
3695         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3696         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_class_init):
3697         * plugins/elements/gstqueue.c: (gst_queue_class_init):
3698         * plugins/elements/gsttee.c: (gst_tee_class_init):
3699         * plugins/elements/gsttypefindelement.c:
3700         (gst_type_find_element_class_init):
3701         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
3702         Define G_PARAM_STATIC_STRINGS if it's undefined (GLib < 2.13.0) and
3703         use it everywhere for GParamSpecs that use static strings (i.e. all).
3704         This gives us less memory usage, fewer allocations and thus less
3705         memory defragmentation. Fixes bug #523806.
3706
3707 2008-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
3708
3709         * gst/gstminiobject.c: (gst_value_dup_mini_object),
3710         (gst_param_spec_mini_object):
3711         * gst/gstminiobject.h:
3712         * win32/common/libgstreamer.def:
3713         * docs/gst/gstreamer-sections.txt:
3714         API: Add GST_IS_PARAM_SPEC_MINI_OBJECT, GST_PARAM_SPEC_MINI_OBJECT
3715         GST_TYPE_PARAM_MINI_OBJECT and gst_value_dup_mini_object. Also move
3716         GstParamSpecMiniObject into a public header for this.
3717
3718         This make GstMiniObject a bit more consistent with GObject and makes
3719         it possible to extend the param specs.
3720
3721         gst_value_dup_mini_object is mainly useful for set_property methods.
3722
3723         Fixes bug #523798.
3724
3725         * tools/gst-inspect.c: (print_element_properties_info):
3726         Print something useful for GstMiniObject properties and not just
3727         "unknown type".
3728
3729 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
3730
3731         * docs/gst/gstreamer-sections.txt:
3732         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
3733         (gst_registry_binary_check_magic):
3734         * gst/gstregistrybinary.h:
3735         Call the version GST_MAGIC_BINARY_VERSION_STR to be more consistent
3736         and add it to the (private part) of the docs to fix the build.
3737
3738 2008-03-21  Sebastian Dröge  <slomo@circular-chaos.org>
3739
3740         * gst/gstregistrybinary.c: (gst_registry_binary_initialize_magic),
3741         (gst_registry_binary_check_magic),
3742         (gst_registry_binary_read_cache):
3743         * gst/gstregistrybinary.h:
3744         Don't use GST_MAJORMINOR for the binary registry version. Instead
3745         hardcode a value that must be changed whenever the format changes
3746         in an incompatible way.
3747         Also don't GST_ERROR when there is a version mismatch, just
3748         regenerate the registry silently.
3749
3750 2008-03-21  Jan Schmidt  <jan.schmidt@sun.com>
3751
3752         * configure.ac:
3753         Back to development - 0.10.18.1
3754
3755 === release 0.10.18 ===
3756
3757 2008-03-20  Jan Schmidt <jan.schmidt@sun.com>
3758
3759         * configure.ac:
3760           releasing 0.10.18, "So far away"
3761
3762 2008-03-18  Jan Schmidt  <jan.schmidt@sun.com>
3763
3764         * configure.ac:
3765         * win32/common/config.h:
3766         0.10.17.4 pre-release
3767
3768 2008-03-18  Wim Taymans  <wim.taymans@collabora.co.uk>
3769
3770         Patch by: Ole André Vadla Ravnås
3771             <ole dot andre dot ravnas at tandberg dot com>
3772
3773         * docs/gst/gstreamer-sections.txt:
3774         * gst/gstpoll.c: (gst_poll_winsock_error_to_errno),
3775         (gst_poll_update_winsock_event_mask),
3776         (gst_poll_prepare_winsock_active_sets),
3777         (gst_poll_collect_winsock_events), (gst_poll_new), (gst_poll_free),
3778         (gst_poll_add_fd_unlocked), (gst_poll_fd_ctl_write),
3779         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ignored),
3780         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
3781         (gst_poll_check_ctrl_commands), (gst_poll_wait):
3782         * gst/gstpoll.h:
3783         * win32/common/libgstreamer.def:
3784         Add new function gst_poll_fd_ignored() for improved Windows
3785         compatibility.
3786         Various minor fixes and cleanups. See #520808.
3787
3788 2008-03-17  Tim-Philipp Müller  <tim at centricular dot net>
3789
3790         * gst/gstindex.c: (gst_index_entry_free):
3791         * gst/gstindex.h:
3792           Don't free key strings which we don't own. Fixes crash in
3793           gst_index_entry_free() (#522741).
3794
3795         * tests/check/Makefile.am:
3796         * tests/check/gst/.cvsignore:
3797         * tests/check/gst/gstindex.c: (test_index_entries),
3798           (gst_index_suite), (gst_index):
3799           Add unit test for the above.
3800
3801 2008-03-11  Sebastian Dröge  <slomo@circular-chaos.org>
3802
3803         * win32/common/libgstreamer.def:
3804         Remove symbols that were removed recently. Fixes bug #521740.
3805
3806 2008-03-11  Jan Schmidt  <jan.schmidt@sun.com>
3807
3808         * configure.ac:
3809         * win32/common/config.h:
3810         0.10.17.3 pre-release
3811
3812 2008-03-07  Wim Taymans  <wim.taymans@collabora.co.uk>
3813
3814         Patch by: Ole André Vadla Ravnås
3815             <ole dot andre dot ravnas at tandberg dot com>
3816
3817         * docs/gst/gstreamer-sections.txt:
3818         * gst/gstpoll.c: (find_index), (gst_poll_free_winsock_event),
3819         (gst_poll_update_winsock_event_mask), (gst_poll_new),
3820         (gst_poll_free), (gst_poll_fd_init), (gst_poll_add_fd_unlocked),
3821         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
3822         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_has_closed),
3823         (gst_poll_fd_has_error), (gst_poll_fd_can_read_unlocked),
3824         (gst_poll_fd_can_write), (gst_poll_wait),
3825         (gst_poll_set_controllable), (gst_poll_restart),
3826         (gst_poll_set_flushing):
3827         * gst/gstpoll.h:
3828         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
3829         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_start),
3830         (gst_net_time_provider_new):
3831         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
3832         * plugins/elements/gstfdsrc.c: (gst_fd_src_start):
3833         * tests/benchmarks/gstpollstress.c: (main):
3834         * tests/check/gst/gstpoll.c: (GST_START_TEST), (gst_poll_suite):
3835         Remove GstPollMode from the API, it does not make sense to let the
3836         application control this.
3837         Add support for Win32.
3838         Fix the testsuite. Fixes #520671.
3839
3840 2008-03-07  Sebastian Dröge  <slomo@circular-chaos.org>
3841
3842         Patch by: Ole André Vadla Ravnås
3843             <ole dot andre dot ravnas at tandberg dot com>
3844
3845         * gst/gstregistrybinary.c:
3846         Include io.h for write() and close() when building with MSVC. Fixes
3847         bug #520877.
3848
3849 2008-03-07  Stefan Kost  <ensonic@users.sf.net>
3850
3851         * configure.ac:
3852         * gst/gst_private.h:
3853         * gst/gstconfig.h.in:
3854         * gst/gstregistry.h:
3855         * gst/gstregistrybinary.c:
3856         * win32/common/gstconfig.h:
3857           Move registry backend API to private headers where we can. Add
3858           fixme-0.11 comments for the others. Add stubs for the xml backend when
3859           using the binary to ensure they functions exists (they should not be
3860           used though). Fixes #520756.
3861
3862 2008-03-04  Jan Schmidt  <jan.schmidt@sun.com>
3863
3864         * configure.ac:
3865         * win32/common/config.h:
3866         0.10.17.2 prelease
3867
3868 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
3869
3870         * gst/gstregistrybinary.c: (gst_registry_binary_write),
3871         (gst_registry_binary_read_cache):
3872         * gst/gstregistryxml.c: (gst_registry_save):
3873         * gst/gsturi.c: (unescape_string), (gst_uri_has_protocol):
3874         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file):
3875         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
3876         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
3877         Switch to using portabl gsize/gssize instead of size_t/ssize_t
3878         Fixes #520152
3879
3880 2008-03-03  Edward Hervey  <edward.hervey@collabora.co.uk>
3881
3882         * gst/gstminiobject.c:
3883         Import gst_private.h before any other header that might include other
3884         glib headers. This fixes the build on windows using native compilers.
3885
3886 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3887
3888         * win32/common/gstconfig.h:
3889           Add here too, just for completeness.
3890
3891 2008-03-03  Tim-Philipp Müller  <tim at centricular dot net>
3892
3893         * configure.ac:
3894         * gst/gstconfig.h.in:
3895         * gst/gstregistry.h:
3896           Fix broken use of config.h-defined preprocessor directive in a public
3897           header file. Add a corresponding define to gstconfig.h, since we can't
3898           really remove those function declarations from the header file now
3899           (or can we? and why are they there in the first place?).
3900
3901 2008-03-03  Andy Wingo  <wingo@pobox.com>
3902
3903         * tests/check/gst/gststructure.c (GST_START_TEST): Add a check for
3904         the new warning.
3905
3906         * gst/gststructure.c (gst_structure_from_string): Warn if
3907         structure_from_string didn't consume the whole string, but the
3908         caller did not provide an end pointer.
3909
3910 2008-03-01  Tim-Philipp Müller  <tim at centricular dot net>
3911
3912         Patch by: Fabrizio Gennari <fabrizio.ge at tiscali it>
3913
3914         * gst/gstregistryxml.c: (read_string), (load_feature):
3915           Strings allocated by libxml2 should be freed with xmlFree(), not
3916           with g_free(). Fixes issues on windows in certain contexts (#519698).
3917
3918 2008-02-29  Tim-Philipp Müller  <tim at centricular dot net>
3919
3920         * gst/gstinterface.c: (gst_element_implements_interface):
3921           Don't crash if the element supports the interface queried, but does
3922           not implement GstImplementsInterface. Fixes #519584.
3923
3924         * tests/check/Makefile.am:
3925         * tests/check/gst/.cvsignore:
3926         * tests/check/gst/gstinterface.c:
3927           Add unit test for the above.
3928
3929 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3930
3931         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
3932         Small doc update.
3933
3934 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
3935
3936         * gst/gstsegment.c: (gst_segment_set_seek),
3937         (gst_segment_to_stream_time):
3938         Improve some comment.
3939         Update variables where it makes more sense.
3940
3941 2008-02-29  Rene Stadler  <mail@renestadler.de>
3942
3943         * gst/gsturi.c: (gst_uri_handler_get_protocols):
3944         Use the get_protocols_full vfunc if get_protocols is NULL.  Fixes
3945         URIHandlers implemented using language bindings.
3946
3947 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
3948
3949         * gst/gstelementfactory.h:
3950         * tests/check/elements/fakesink.c:
3951         * tests/check/elements/fakesrc.c: (setup_fakesrc):
3952         * tests/check/elements/fdsrc.c: (setup_fdsrc):
3953         * tests/check/elements/filesink.c: (setup_filesink):
3954         * tests/check/elements/filesrc.c: (setup_filesrc):
3955         * tests/check/elements/identity.c: (setup_identity):
3956         * tests/check/elements/tee.c:
3957         * tests/check/generic/sinks.c:
3958         * tests/check/generic/states.c: (setup), (teardown):
3959         * tests/check/gst/gst.c:
3960         * tests/check/gst/gstabi.c:
3961         * tests/check/gst/gstbin.c:
3962         * tests/check/gst/gstbus.c: (pull_messages):
3963         * tests/check/gst/gstcaps.c:
3964         * tests/check/gst/gstelement.c:
3965         * tests/check/gst/gstevent.c:
3966         * tests/check/gst/gstghostpad.c:
3967         * tests/check/gst/gstiterator.c:
3968         * tests/check/gst/gstmessage.c:
3969         * tests/check/gst/gstminiobject.c: (my_foo_init):
3970         * tests/check/gst/gstobject.c: (thread_name_object),
3971         (gst_object_suite):
3972         * tests/check/gst/gstpad.c:
3973         * tests/check/gst/gstplugin.c:
3974         * tests/check/gst/gstpoll.c:
3975         * tests/check/gst/gstquery.c:
3976         * tests/check/gst/gstsegment.c:
3977         * tests/check/gst/gststructure.c:
3978         * tests/check/gst/gstsystemclock.c:
3979         * tests/check/gst/gsttask.c:
3980         * tests/check/gst/gstutils.c:
3981         * tests/check/gst/gstvalue.c:
3982         * tests/check/gst/struct_hppa.h:
3983         * tests/check/gst/struct_i386.h:
3984         * tests/check/gst/struct_ppc32.h:
3985         * tests/check/gst/struct_ppc64.h:
3986         * tests/check/gst/struct_x86_64.h:
3987         * tests/check/libs/adapter.c: (create_and_fill_adapter):
3988         * tests/check/libs/basesrc.c:
3989         * tests/check/libs/controller.c: (GST_START_TEST):
3990         * tests/check/libs/gdp.c:
3991         * tests/check/libs/gstnetclientclock.c:
3992         * tests/check/libs/gstnettimeprovider.c:
3993         * tests/check/libs/libsabi.c:
3994         * tests/check/libs/struct_hppa.h:
3995         * tests/check/libs/struct_i386.h:
3996         * tests/check/libs/struct_ppc32.h:
3997         * tests/check/libs/struct_ppc64.h:
3998         * tests/check/libs/struct_x86_64.h:
3999         * tests/check/pipelines/cleanup.c:
4000         * tests/check/pipelines/simple-launch-lines.c:
4001         * tests/check/pipelines/stress.c:
4002         And correct even more valid sparse warnings.
4003
4004         * win32/common/libgstreamer.def:
4005         Add gst_poll_fd_init to the list of symbols.
4006
4007 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4008
4009         * gst/gstconfig.h.in:
4010         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_read_buffer):
4011         * libs/gst/check/gstcheck.c: (gst_check_log_message_func),
4012         (gst_check_log_critical_func), (gst_check_drop_buffers),
4013         (gst_check_element_push_buffer_list):
4014         * libs/gst/controller/gstcontroller.c: (gst_controller_get),
4015         (gst_controller_get_type):
4016         * libs/gst/controller/gsthelper.c: (gst_object_control_properties),
4017         (gst_object_get_controller), (gst_object_get_control_source):
4018         * libs/gst/controller/gstinterpolationcontrolsource.c:
4019         (gst_interpolation_control_source_new):
4020         * libs/gst/controller/gstlfocontrolsource.c:
4021         (gst_lfo_control_source_new):
4022         * libs/gst/dataprotocol/dataprotocol.c:
4023         (gst_dp_event_from_packet_0_2):
4024         * plugins/elements/gstfdsrc.c:
4025         * plugins/elements/gstmultiqueue.c:
4026         * plugins/elements/gsttee.c:
4027         * plugins/elements/gsttypefindelement.c:
4028         * plugins/indexers/gstfileindex.c: (_file_index_id_save_xml),
4029         (gst_file_index_add_association):
4030         * plugins/indexers/gstmemindex.c:
4031         * tests/benchmarks/gstpollstress.c: (mess_some_more):
4032         * tests/check/elements/queue.c: (setup_queue):
4033         * tests/check/gst/gstpipeline.c:
4034         * tests/check/libs/collectpads.c: (setup), (teardown),
4035         (gst_collect_pads_suite):
4036         * tests/examples/adapter/adapter_test.c:
4037         * tests/examples/metadata/read-metadata.c: (make_pipeline):
4038         * tests/examples/xml/createxml.c:
4039         * tests/examples/xml/runxml.c:
4040         * tools/gst-inspect.c:
4041         * tools/gst-run.c:
4042         Correct all relevant warnings found by the sparse semantic code
4043         analyzer. This include marking several symbols static, using
4044         NULL instead of 0 for pointers, not using variable sized arrays
4045         on the stack, moving variable declarations to the beginning of
4046         a block and using "foo (void)" instead of "foo ()" for declarations.
4047
4048 2008-02-29  Sebastian Dröge  <slomo@circular-chaos.org>
4049
4050         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4051         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4052         Don't reset GstPollFDs, this is not necessary at all.
4053
4054         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4055         (delayed_restart), (delayed_control):
4056         Use GST_POLL_FD_INIT.
4057
4058 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4059
4060         * gst/gstpoll.c: (gst_poll_fd_init):
4061         * gst/gstpoll.h:
4062         Added Since tags.
4063
4064         * plugins/elements/gstfdsink.c: (gst_fd_sink_update_fd):
4065         Use some more init macros.
4066
4067 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4068
4069         * plugins/elements/gstfdsink.c: (gst_fd_sink_start):
4070         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4071         Use init macros and functions.
4072
4073 2008-02-29  Wim Taymans  <wim.taymans@collabora.co.uk>
4074
4075         * docs/gst/gstreamer-sections.txt:
4076         * gst/gstpoll.c: (gst_poll_fd_init):
4077         * gst/gstpoll.h:
4078         Add INIT macro and _init method for initializing the GstPollFD.
4079
4080 2008-02-28  Sebastian Dröge  <slomo@circular-chaos.org>
4081
4082         * plugins/elements/gstfdsink.c: (gst_fd_sink_start),
4083         (gst_fd_sink_update_fd):
4084         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
4085         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4086         (delayed_restart), (delayed_control):
4087         Initialize some uninitialized variables as spotted by valgrind.
4088
4089 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4090
4091         * tests/benchmarks/Makefile.am:
4092         * tests/benchmarks/gstpollstress.c: (mess_some_more), (run_test),
4093         (main):
4094         Add poll stress test.
4095
4096 2008-02-28  Wim Taymans  <wim.taymans@collabora.co.uk>
4097
4098         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4099
4100         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
4101         (gst_fd_sink_start), (gst_fd_sink_stop), (gst_fd_sink_unlock),
4102         (gst_fd_sink_unlock_stop), (gst_fd_sink_update_fd):
4103         * plugins/elements/gstfdsink.h:
4104         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
4105         (gst_fd_src_start), (gst_fd_src_stop), (gst_fd_src_unlock),
4106         (gst_fd_src_unlock_stop), (gst_fd_src_create),
4107         (gst_fd_src_uri_set_uri):
4108         * plugins/elements/gstfdsrc.h:
4109         Port to GstPoll. See #505417.
4110
4111 2008-02-27  Jan Schmidt  <jan.schmidt@sun.com>
4112
4113         * win32/common/libgstreamer.def:
4114         Add new gst_poll_ symbols to win32 defs.
4115
4116 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4117
4118         * docs/libs/gstreamer-libs-sections.txt:
4119         * libs/gst/net/gstnetclientclock.c:
4120         (gst_net_client_clock_class_init), (gst_net_client_clock_init),
4121         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4122         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4123         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4124         * libs/gst/net/gstnetclientclock.h:
4125         * libs/gst/net/gstnettimeprovider.c:
4126         (gst_net_time_provider_class_init), (gst_net_time_provider_init),
4127         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4128         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4129         (gst_net_time_provider_new):
4130         * libs/gst/net/gstnettimeprovider.h:
4131         Use a private stuct to not break ABI.
4132
4133 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4134
4135         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4136
4137         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_init),
4138         (gst_net_client_clock_finalize), (gst_net_client_clock_do_select),
4139         (gst_net_client_clock_thread), (gst_net_client_clock_start),
4140         (gst_net_client_clock_stop), (gst_net_client_clock_new):
4141         * libs/gst/net/gstnetclientclock.h:
4142         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_init),
4143         (gst_net_time_provider_finalize), (gst_net_time_provider_thread),
4144         (gst_net_time_provider_start), (gst_net_time_provider_stop),
4145         (gst_net_time_provider_new):
4146         * libs/gst/net/gstnettimeprovider.h:
4147         Massive code removal and cleanups because of GstPoll.
4148         Fixes #505417.
4149
4150 2008-02-27  Wim Taymans  <wim.taymans@collabora.co.uk>
4151
4152         * configure.ac:
4153         Add checks for poll, ppoll and pselect.
4154
4155         * docs/gst/gstreamer-docs.sgml:
4156         * docs/gst/gstreamer-sections.txt:
4157         Add docs for GstPoll.
4158
4159         * gst/Makefile.am:
4160         * gst/gst.h:
4161         * gst/gstpoll.c: (find_index), (selectable_fds),
4162         (pollable_timeout), (choose_mode), (pollfd_to_fd_set),
4163         (fd_set_to_pollfd), (gst_poll_new), (gst_poll_free),
4164         (gst_poll_set_mode), (gst_poll_get_mode),
4165         (gst_poll_add_fd_unlocked), (gst_poll_add_fd),
4166         (gst_poll_remove_fd), (gst_poll_fd_ctl_write),
4167         (gst_poll_fd_ctl_read_unlocked), (gst_poll_fd_ctl_read),
4168         (gst_poll_fd_has_closed), (gst_poll_fd_has_error),
4169         (gst_poll_fd_can_read_unlocked), (gst_poll_fd_can_read),
4170         (gst_poll_fd_can_write), (gst_poll_wait),
4171         (gst_poll_set_controllable), (gst_poll_restart),
4172         (gst_poll_set_flushing):
4173         * gst/gstpoll.h:
4174         Add generic poll abstraction. We ideally don't want to have this in core
4175         here but in glib intead...
4176         This code will be used in various network elements and ultimately for
4177         the nanosecond precision monotonic clock (that's why it's here in core).
4178         It'll allow us to implement cancelable socket operations for windows too.
4179
4180         * tests/check/Makefile.am:
4181         * tests/check/gst/gstpoll.c: (test_poll_wait), (GST_START_TEST),
4182         (delayed_stop), (delayed_restart), (delayed_flush),
4183         (delayed_control), (gst_poll_suite):
4184         Add GstPoll unit test.
4185
4186 2008-02-25  Tim-Philipp Müller  <tim at centricular dot net>
4187
4188         * gst/gstfilter.c:
4189           Improve documentation of gst_filter_run(). Fixes #518627.
4190
4191 2008-02-23  Tim-Philipp Müller  <tim at centricular dot net>
4192
4193         * docs/README:
4194           Add a few lines about the new 'check-inspected-versions' target.
4195
4196 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4197
4198         * tests/check/gst/gstevent.c:
4199           Add qos to the event test. Rename tcase/tsuite; is not only about
4200           custom events.
4201
4202 2008-02-21  Stefan Kost  <ensonic@users.sf.net>
4203
4204         * plugins/elements/gstqueue.c:
4205           Ensure that buffer metadata is writeable, before modifying. Spotted by
4206           Mike.
4207
4208 2008-02-20  Stefan Kost  <ensonic@users.sf.net>
4209
4210         * plugins/elements/gstqueue.c:
4211         * plugins/elements/gstqueue.h:
4212           When dropping buffers in leaky modes, mark next buffers we sent as
4213           DISCONT.
4214
4215 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4216
4217         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region):
4218           Also, if mmap() fails that would be a READ error, not OPEN_READ.
4219
4220 2008-02-20  Tim-Philipp Müller  <tim at centricular dot net>
4221
4222         * plugins/elements/Makefile.am:
4223         * plugins/elements/gstbufferstore.c:
4224         * plugins/elements/gstbufferstore.h:
4225         * plugins/elements/gsttypefindelement.h:
4226           Remove GstBufferStore, no idea why we were still building it.
4227           It's not used anywhere and superseded by GstAdapter.
4228
4229         * plugins/elements/gstfilesrc.c: (gst_file_src_map_region),
4230           (gst_file_src_create_mmap):
4231         * plugins/indexers/gstfileindex.c: (gst_file_index_add_association):
4232           Printf format fixes for 64-bit integers.
4233
4234 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4235
4236         * configure.ac:
4237         Don't set GST_CACHE_DIR and allow to set it by a configure parameter.
4238         We're not in 0.8 times anymore.
4239
4240 2008-02-19  Jan Schmidt  <Jan.Schmidt@sun.com>
4241
4242         * libs/gst/check/gstcheck.c: (gst_check_drop_buffers),
4243         (gst_check_element_push_buffer_list):
4244         * libs/gst/check/gstcheck.h:
4245         Make the declaration in the header for
4246         gst_check_element_push_buffer_list match the implementation.
4247
4248         Fix up spelling, grammar and wording of the documentation in a few
4249         places, and add the Since keyword to new API functions.
4250         Use g_list_delete_link instead of g_list_remove in
4251         gst_check_drop_buffers, since it's immeasurably more efficient.
4252
4253         * tests/check/elements/fakesrc.c: (GST_START_TEST):
4254         Use new gst_check_drop_buffers function where appropriate.
4255
4256         * win32/common/libgstbase.def:
4257         * win32/common/libgstreamer.def:
4258         Add new symbols gst_collect_pads_take_buffer, 
4259         gst_collect_pads_read_buffer, gst_index_set_resolver_full to the
4260         exports
4261
4262         Changelog surgery to add API keyword to new gst_check API.
4263
4264 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4265
4266         * gst/parse/lex._gst_parse_yy.pre.c: (yy_get_next_buffer),
4267         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yylex_init_extra):
4268         Update pre-generated flex files with flex 2.3.34.
4269
4270 2008-02-19  Sebastian Dröge  <slomo@circular-chaos.org>
4271
4272         * gst/gstminiobject.c:
4273           Add FIXME for 0.11 to make GstMiniObjectClass::copy() a bit more
4274           friendly to subclasses and not require them to know all internals
4275           of their parent class.
4276
4277 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4278
4279         * docs/libs/gstreamer-libs-sections.txt:
4280         * libs/gst/base/gstcollectpads.c:
4281         * libs/gst/base/gstcollectpads.h:
4282           Add sub-buffer functions to collectpads. Fixes #516187.
4283           API: gst_collect_pads_take_buffer(), gst_collect_pads_read_buffer()
4284
4285 2008-02-15  Stefan Kost  <ensonic@users.sf.net>
4286
4287         * gst/gstbuffer.c:
4288           Copy selected buffer-flags when creating subbuffers.
4289           Fixes #516395.
4290
4291 2008-02-12  Sebastian Dröge  <slomo@circular-chaos.org>
4292
4293         * gst/gstbuffer.c: (gst_buffer_class_init), (gst_buffer_finalize):
4294         * gst/gstevent.c: (gst_event_class_init), (gst_event_finalize):
4295         * gst/gstmessage.c: (gst_message_class_init),
4296         (gst_message_finalize):
4297         * gst/gstquery.c: (gst_query_class_init), (gst_query_finalize):
4298         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_class_init),
4299         (gst_mmap_buffer_finalize):
4300         Properly chain up finalize functions to the parent class.
4301
4302 2008-02-11  Wim Taymans  <wim.taymans@collabora.co.uk>
4303
4304         Patch by: Siavash Safi <siavash dot safi at gmail dot com>
4305
4306         * gst/gstindex.c: (gst_index_finalize), (gst_index_set_resolver),
4307         (gst_index_set_resolver_full):
4308         * gst/gstindex.h:
4309         Add new function with option to dispose of user_data in resolver.
4310         Actually call the dispose function when finalizing the object and not
4311         just when changing the resolver/filter.
4312         API: GstIndex::gst_index_set_resolver_full()
4313
4314         * docs/gst/gstreamer-sections.txt:
4315         Add new function to docs. Fixes #515469.
4316
4317 2008-02-11  Sebastian Dröge  <slomo@circular-chaos.org>
4318
4319         * gst/gstindex.c: (gst_index_finalize):
4320         Chain up finalize to the parent class. Fixes leaking the GstObject
4321         name and other things.
4322
4323 2008-02-08  Jan Schmidt  <jan.schmidt@sun.com>
4324
4325         * configure.ac:
4326         Make DISABLE_DEPRECATED defined *only* during CVS, not during
4327         pre-releases or releases.
4328
4329         * docs/faq/gst-uninstalled:
4330         Add gst-plugins-gl
4331
4332         * docs/random/release:
4333         Change one of the steps - we only upload core & base to Gnome FTP
4334
4335 2008-02-06  Stefan Kost  <ensonic@users.sf.net>
4336
4337         * gst/gstconfig.h.in:
4338           Add 'id' for example.
4339
4340         * gst/gstpad.c:
4341         * gst/gstutils.c:
4342         * plugins/elements/gstfdsink.c:
4343           Link to signals. Doc and comment fixes.
4344
4345 2008-02-05  Tim-Philipp Müller  <tim at centricular dot net>
4346
4347         * gst/gstpad.h: (GST_PAD_LINK_SUCCESSFUL):
4348         * gst/gstpluginfeature.h: (GstPluginFeatureClass):
4349           Some minor docs fixes: fix typo, mention that GST_FLOW_RESEND is
4350           unused and unimplemented; finally, it is plugin features, not
4351           plugins, that have ranks.
4352           
4353 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4354
4355         * gst/gstpluginfeature.h:
4356           Clarify GstRank range docs.
4357
4358 2008-02-05  David Schleef  <ds@schleef.org>
4359
4360         * gst/gst.c: Add a separate gst_deinitialized that prevents
4361           gst_init() from being called after gst_deinit().  Fixes #509559
4362
4363 2008-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
4364
4365         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_base_init),
4366         (gst_bin_class_init):
4367         * gst/gstelement.c: (gst_element_base_class_init),
4368         (gst_element_class_add_pad_template):
4369         * gst/gstpadtemplate.c: (gst_pad_template_init):
4370         * gst/gstpipeline.c: (gst_pipeline_get_type),
4371         (gst_pipeline_base_init), (gst_pipeline_class_init):
4372         * libs/gst/base/gstbasesink.c:
4373         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4374         (gst_base_src_base_init), (gst_base_src_class_init):
4375         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4376         (gst_capsfilter_class_init):
4377         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4378         (gst_fake_sink_class_init):
4379         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4380         (gst_fake_src_class_init):
4381         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4382         (gst_fd_sink_class_init):
4383         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4384         (gst_fd_src_class_init):
4385         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4386         (gst_file_sink_class_init):
4387         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4388         (gst_file_src_class_init):
4389         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4390         (gst_identity_class_init):
4391         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4392         (gst_multi_queue_class_init):
4393         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4394         (gst_queue_class_init):
4395         * plugins/elements/gsttee.c: (gst_tee_base_init),
4396         (gst_tee_class_init):
4397         * plugins/elements/gsttypefindelement.c:
4398         (gst_type_find_element_base_init),
4399         (gst_type_find_element_class_init):
4400         * tests/check/gst/gstelement.c: (gst_element_suite):
4401         Revert previous changes to the behaviour of GstPadTemplates, etc
4402         and the possiblity to call them in class_init as it breaks too
4403         many elements. Reopens bug #491501.
4404
4405         Should be applied again for 0.11, thus added a few FIXME 0.11 at
4406         several places.
4407
4408 2008-02-05  Stefan Kost  <ensonic@users.sf.net>
4409
4410         * tools/gst-launch.c:
4411         Dump one graph per pipeline state-change and state change name
4412         (if GST_DEBUG_DUMP_DOT_DIR is set).
4413
4414 2008-02-04  Thijs Vermeir  <thijsvermeir@gmail.com>
4415
4416         * gst/gstpad.c:
4417         * tests/check/gst/gstpad.c:
4418         Be sure that we have a new copy of the caps and not
4419         reffed caps from a template
4420
4421 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4422
4423         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
4424         * gst/gstpipeline.c: (gst_pipeline_get_type),
4425         (gst_pipeline_class_init):
4426         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
4427         (gst_base_sink_class_init):
4428         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type),
4429         (gst_base_src_class_init):
4430         * libs/gst/base/gstbasetransform.c: (gst_base_transform_get_type),
4431         (gst_base_transform_class_init):
4432         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4433         (gst_collect_pads_class_init):
4434         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type):
4435         * libs/gst/net/gstnettimeprovider.c:
4436         (gst_net_time_provider_base_init),
4437         (gst_net_time_provider_class_init):
4438         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init),
4439         (gst_capsfilter_class_init):
4440         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init),
4441         (gst_fake_sink_class_init):
4442         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init),
4443         (gst_fake_src_class_init):
4444         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init),
4445         (gst_fd_sink_class_init):
4446         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init),
4447         (gst_fd_src_class_init):
4448         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init),
4449         (gst_file_sink_class_init):
4450         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init),
4451         (gst_file_src_class_init):
4452         * plugins/elements/gstidentity.c: (gst_identity_base_init),
4453         (gst_identity_class_init):
4454         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
4455         (gst_multi_queue_class_init):
4456         * plugins/elements/gstqueue.c: (gst_queue_base_init),
4457         (gst_queue_class_init):
4458         * plugins/elements/gsttee.c: (gst_tee_base_init),
4459         (gst_tee_class_init):
4460         * plugins/elements/gsttypefindelement.c:
4461         (gst_type_find_element_base_init),
4462         (gst_type_find_element_class_init):
4463         Don't use base_init where not absolutely necessary. For example it's
4464         not necessary anymore for adding pad templates or setting element
4465         details.
4466
4467         Leave empty base_init functions in several places as GST_BOILERPLATE
4468         still defines and uses them.
4469
4470 2008-02-03  Sebastian Dröge  <slomo@circular-chaos.org>
4471
4472         * gst/gstelement.c: (gst_element_base_class_init),
4473         (gst_element_class_add_pad_template):
4474         * gst/gstpadtemplate.c:
4475         Make it possible (and recommended) to set element details and add
4476         pad templates in the class_init functions by copying the details/pad
4477         templates in GstElement's base_init.
4478
4479         Also make it possible to replace existing pad templates by adding
4480         a new one with the same name. This was done in a hackish fashion
4481         in same elements before already.
4482
4483         Don't reference pad templates that are added a second time. A
4484         new pad template has a refcount of one and is not floating anymore
4485         and to be owned by the element's class. Make this more explicit by
4486         mentioning it in the docs of gst_element_class_add_pad_template().
4487
4488         These changes are backwards compatible. Fixes bug #491501.
4489
4490         * tests/check/gst/gstelement.c:
4491         Add unit test for setting element details, adding pad templates and
4492         replacing them in a subclass.
4493
4494 2008-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
4495
4496         * tools/gst-inspect.c: (print_interfaces),
4497         (print_element_properties_info), (print_pad_info),
4498         (print_signal_info), (print_element_info):
4499         Fix a few memory leaks.
4500
4501 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4502
4503         * docs/libs/gstreamer-libs-sections.txt:
4504         * libs/gst/check/gstcheck.c:
4505         * libs/gst/check/gstcheck.h:
4506         Add more functions for unit testing: gst_check_drop_buffers,
4507         gst_check_caps_equal, gst_check_element_push_buffer_list,
4508         gst_check_element_push_buffer
4509         API: gst_check_drop_buffers
4510         API: gst_check_caps_equal
4511         API: gst_check_element_push_buffer_list
4512         API: gst_check_element_push_buffer
4513
4514 2008-02-01  Julien Moutte  <julien@fluendo.com>
4515
4516         * docs/gst/gstreamer-sections.txt: Add GST_CHECK_VERSION to the docs
4517         * gst/gstindex.c: (gst_index_class_init), (gst_index_free_writer),
4518         (gst_index_finalize), (gst_index_entry_free),
4519         (gst_index_add_association): Fix memory leaks.
4520         * gst/gstversion.h.in: Add GST_CHECK_VERSION macro.
4521         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init),
4522         (gst_mem_index_free_format), (gst_mem_index_free_id),
4523         (gst_mem_index_finalize): Fix memory leaks.
4524         * win32/common/config.h: Updated to CVS HEAD.
4525
4526 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4527
4528         * docs/README:
4529           Some more details about how the plugin docs works.
4530
4531         * docs/plugins/gstreamer-plugins-sections.txt:
4532           Whitespace cleanup.
4533
4534 2008-02-01  Stefan Kost  <ensonic@users.sf.net>
4535
4536         * gst/parse/grammar.tab.pre.c:
4537         * gst/parse/grammar.tab.pre.h:
4538         * gst/parse/grammar.y:
4539         * gst/parse/lex._gst_parse_yy.pre.c:
4540           Add delayed set-property. This allows to set properties on dynamicaly
4541           created objects (pads in videomxer). Fixes #509391.
4542
4543 2008-02-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4544
4545         * gst/gstutils.c:
4546         Check if caps are not NULL (fix bug #510194)
4547
4548 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4549
4550         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop),
4551         (gst_base_sink_get_position_paused):
4552         Add fixme regarding EOS in pull mode.
4553         Fix position reporting in PAUSED for negative rates.
4554
4555 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4556
4557         * gst/gstminiobject.c: (gst_mini_object_replace):
4558         When replacing a miniobject, do a quick equality check first so that we
4559         can avoid a ref/unref pair.
4560
4561 2008-02-01  Wim Taymans  <wim.taymans@collabora.co.uk>
4562
4563         * docs/design/part-synchronisation.txt:
4564         Update some docs.
4565
4566         * docs/plugins/Makefile.am:
4567         * docs/plugins/gstreamer-plugins-docs.sgml:
4568         * docs/plugins/gstreamer-plugins-sections.txt:
4569         * plugins/elements/gstmultiqueue.c:
4570         Add multiqueue to the docs.
4571
4572 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4573
4574         * configure.ac:
4575           Back to CVS
4576
4577 === release 0.10.17 ===
4578
4579 2008-01-30  Jan Schmidt <jan.schmidt@sun.com>
4580
4581         * configure.ac:
4582           releasing 0.10.17, "Due Negligence"
4583
4584 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4585
4586         * gst/gstutils.c:
4587         Revert caps != NULL check temporarily for 0.10.17 release.
4588
4589 2008-01-30  Thijs Vermeir  <thijsvermeir@gmail.com>
4590
4591         * gst/gstutils.c:
4592         Check if caps are not NULL (fix bug #510194)
4593
4594 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4595
4596         * gst/gstutils.c:
4597         Fix compilation on systems that have posix timers but no
4598         monotonic clock.
4599         Fixes: #512715
4600         Patch By: Cygwin Ports maintainer <yselkowitz at users dot sourceforge
4601         dot net>
4602
4603 2008-01-30  Jan Schmidt  <jan.schmidt@sun.com>
4604
4605         * tools/gst-inspect.c:
4606         Revert previous commit in preparation for an impromptu 0.10.17 release
4607
4608 2008-01-29  Sebastian Dröge  <slomo@circular-chaos.org>
4609
4610         * tools/gst-inspect.c: (print_interfaces),
4611         (print_element_properties_info), (print_pad_info),
4612         (print_signal_info), (print_element_info):
4613         Fix a few memory leaks.
4614
4615 2008-01-28  Jan Schmidt  <jan.schmidt@sun.com>
4616
4617         * configure.ac:
4618         Back to CVS
4619
4620 === release 0.10.16 ===
4621
4622 2008-01-28  Jan Schmidt <thaytan@noraisin.net>
4623
4624         * configure.ac:
4625           releasing 0.10.16, "Special Dispensation"
4626
4627 2008-01-24  Tim-Philipp Müller  <tim at centricular dot net>
4628
4629         * configure.ac:
4630           Use AC_TRY_COMPILE instead of AC_TRY_RUN to check for
4631           _POSIX_TIMER, _POSIX_MONOTONIC_CLOCK, etc. Makes configure
4632           not fail when trying to crosscompile on OpenEmbedded (#511750).
4633
4634 2008-01-20  Sebastian Dröge  <slomo@circular-chaos.org>
4635
4636         * docs/manuals.mak:
4637         Use $(MAKE) instead of make to fix the build if GNU make is
4638         called different. Fixes bug #510747.
4639
4640 2008-01-20  Tim-Philipp Müller  <tim at centricular dot net>
4641
4642         * gst/gstplugin.c: (_gst_plugin_initialize):
4643           Fix old-style static plugins via GST_PLUGIN_DEFINE_STATIC
4644           again, which I broke two commits ago when changing the API
4645           of gst_plugin_register_static(): the g_list_foreach() in
4646           _gst_plugin_register_static still assumed the old function
4647           signature and would therefore fail (re-fixes #510187).
4648
4649         * gst/gstplugin.c: (_num_static_plugins), (_static_plugins),
4650           (_gst_plugin_register_static), (gst_plugin_register_static):
4651           Revert the (technically correct) change to call g_thread_init() from
4652           the pre-main() constructor. This will break programs which call
4653           g_thread_init() without an if (!g_thread_supported()) guard in their
4654           main function. We could just blame it on GLib or the application, but
4655           it's probably best to just avoid this altogether and simply not use
4656           any GLib functions here and use plain old malloc() with a simple
4657           array to store the plugins to register later when gst_init() is
4658           finally called (re-fixes #510187).
4659
4660         * tests/check/gst/gstplugin.c: (GST_GNUC_CONSTRUCTOR_DEFINED),
4661           (GST_GNUC_CONSTRUCTOR_DEFINED), (plugin_init_counter),
4662           (plugin1_init), (plugin2_init), (plugin3_init), (GST_START_TEST),
4663           (GST_START_TEST), (gst_plugin_suite):
4664           Dumb unit test to make sure the old GST_PLUGIN_DEFINE_STATIC still
4665           works.
4666
4667 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
4668
4669         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
4670           Remove deprecation guards around GST_PLUGIN_DEFINE_STATIC.
4671           This makes gtk-doc complain, but results in slightly better
4672           compiler errors. The old _gst_plugin_register_static() is
4673           still guarded, so there'll be a compiler warning about that
4674           instead. Fixes #510187 too.
4675
4676 2008-01-17  Tim-Philipp Müller  <tim at centricular dot net>
4677
4678         * gst/gst.c: (init_post):
4679         * gst/gstplugin.c: (_gst_plugin_register_static),
4680           (gst_plugin_register_static), (_gst_plugin_initialize):
4681         * gst/gstplugin.h: (GstPluginFilter):
4682           Change API of gst_plugin_register_static() to not take
4683           a GstPluginDesc, but rather just take all the arguments
4684           in a GstPluginDesc directly. This is more intuitive and
4685           avoids certain mistakes when porting code from
4686           GST_PLUGIN_DEFINE_STATIC to gst_plugin_register_static().
4687           Fixes #510187.
4688
4689         * tests/check/gst/gstplugin.c:
4690           Fix up for changed API.
4691
4692 2008-01-17  Thomas Vander Stichele  <thomas at apestaart dot org>
4693
4694         * docs/faq/legal.xml:
4695           Update FAQ, Totem actually has an exception these days.
4696
4697 2008-01-14  Jan Schmidt  <jan.schmidt@sun.com>
4698
4699         * win32/common/libgstreamer.def:
4700         Add new API declarations
4701
4702 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
4703
4704         * gst/gstminiobject.c:
4705           Spelling fixes for the API docs.
4706
4707 2008-01-14  Stefan Kost  <ensonic@users.sf.net>
4708
4709         * libs/gst/base/gstbasetransform.c:
4710           Fix long property description for QoS.
4711
4712 2008-01-12  Jan Schmidt  <Jan.Schmidt@sun.com>
4713
4714         * gst/gst.c:
4715         _gst_trace_on is already provided by gsttrace.h, no need to declare
4716         it ourselves.
4717
4718         * docs/libs/gstreamer-libs-sections.txt:
4719         Add 'buffers', 'check_cond' and 'check_mutex' from libgstcheck
4720         and remove strange tcase_add_test which is outputting a warning.
4721
4722         * libs/gst/check/gstcheck.c:
4723         * libs/gst/check/gstcheck.h:
4724         Properly declare 'buffers', 'check_cond', 'check_mutex' extern
4725         and define them in gstcheck.c instead of having every .c file whcih
4726         includes gstcheck.h be defining its own copy and relying on symbol
4727         interposing to marry them all, which doesn't work on Solaris.
4728
4729         * tests/check/elements/identity.c: (GST_START_TEST):
4730         Don't define 'buffers' locally, it comes from libgstcheck.
4731
4732         * tests/check/generic/sinks.c: (send_buffer):
4733         Fix type of variable (GstFlowReturn, not GstStateChangeReturn)
4734
4735         * tests/check/gst/gststructure.c: (GST_START_TEST):
4736         * tests/check/gst/gstsystemclock.c: (GST_START_TEST):
4737         * tests/check/gst/gstutils.c: (GST_START_TEST):
4738         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4739         Add a bunch of casts to make various constants fit the types
4740         they're being assigned to.
4741
4742 2008-01-10  Stefan Kost  <ensonic@users.sf.net>
4743
4744         * gst/gstchildproxy.c:
4745           Improve docs and add some ideas for making this more general-purpose.
4746
4747 2008-01-10  Tim-Philipp Müller  <tim at centricular dot net>
4748
4749         * gst/gst_private.h: (GST_CAT_TYPES):
4750           Add GST_CAT_TYPES, for consistency, and so that the other
4751           debug categories don't make fun of it. Spotted by Saur on IRC.
4752
4753 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
4754
4755         * gst/parse/Makefile.am:
4756           Move types.h from EXTRA_DIST to noinst_HEADERS.
4757
4758 2008-01-10  Sebastian Dröge  <slomo@circular-chaos.org>
4759
4760         * autogen.sh:
4761           Add -Wno-portability to the automake parameters to stop warnings
4762           about GNU make extensions being used. We require GNU make in almost
4763           every Makefile anyway.
4764
4765         * configure.ac:
4766           Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o
4767           at the same time is required for per target flags.
4768
4769 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4770
4771         * gst/gstmacros.h:
4772           Include glib/gmacros.h for G_BEGIN_DECLS. Check if
4773           __GNUC__ is defined before using it.
4774
4775 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4776
4777         * docs/gst/gstreamer-sections.txt:
4778         * gst/gst.c: (init_post):
4779         * gst/gstplugin.c: (_gst_plugin_register_static),
4780           (gst_plugin_register_static), (_gst_plugin_initialize),
4781           (gst_plugin_register_func):
4782         * gst/gstplugin.h: (GST_PLUGIN_DEFINE_STATIC):
4783           API: add gst_plugin_register_static() and deprecate
4784           GST_PLUGIN_DEFINE_STATIC, since it's not portable
4785           (#498924).
4786           Also, in _gst_plugin_register_static(), make sure to call
4787           g_thread_init() before calling GLib functions such as
4788           g_list_append() if we're not initialised yet, since that
4789           may lead to random crashes with older GSlice/GLib versions.
4790
4791         * tests/check/gst/gstplugin.c:
4792           Adapt unit test to above changes.
4793
4794 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4795
4796         * gst/gst_private.h: (STRUCTURE_ESTIMATED_STRING_LEN):
4797         * gst/gstcaps.c: (gst_caps_to_string):
4798         * gst/gststructure.c: (GST_ASCII_IS_STRING),
4799           (priv_gst_structure_append_to_gstring), (gst_structure_to_string):
4800           Yet another gratuitous GString micro-optimisation: add a (private)
4801           function that serialises a structure appending to an existing
4802           GString, so that when we serialise caps we don't need to alloc+free
4803           a throwaway GString for each structure (each of which also entailing
4804           multiple reallocs on the way); also use g_string_sized_new() in
4805           various places with an approximate string length to avoid reallocs
4806           within GString. See #500143.
4807
4808 2008-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4809
4810         * gst/gststructure.c: (gst_structure_id_set_value):
4811           Always check UTF-8 conformance of structure strings and not only
4812           if the debugging system is enabled; reasoning: the behaviour of
4813           the actual code shouldn't really change depending on whether the
4814           debugging system is enabled or not (#508291).
4815
4816 2008-01-09  Stefan Kost  <ensonic@users.sf.net>
4817
4818         * Makefile.am:
4819           Remove old coverage target in favour of "make lcov".
4820
4821 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
4822
4823         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
4824         (gst_base_src_loop):
4825         The start segment for reverse playback goes from start to last_stop.
4826
4827 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
4828
4829         Patch by: Peter Kjellerstedt <pkj axis com>
4830
4831         * gst/gstclock.h:
4832         Cast the results from the timeval/spec_to_time macros to what the
4833         docs say it casts to, a GstClockTime. fixes #508175.
4834
4835 2008-01-09  Wim Taymans  <wim.taymans@collabora.co.uk>
4836
4837         * gst/gstbuffer.c:
4838         Update some comments.
4839
4840         * tools/gst-inspect.c: (print_element_properties_info):
4841         Improve printing of flags.
4842
4843 2008-01-08  Tim-Philipp Müller  <tim at centricular dot net>
4844
4845         * libs/gst/base/gstbasetransform.c:
4846           (gst_base_transform_transform_size):
4847           Print element name with g_warning() if there's a problem
4848           with the unit size.
4849
4850 2008-01-07  David Schleef  <ds@schleef.org>
4851
4852         Patch by: Damien Lespiau <damien.lespiau@gmail.com>
4853
4854         * libs/gst/controller/gstcontroller.h:
4855         * libs/gst/controller/gstcontrolsource.h:
4856         * libs/gst/controller/gstinterpolationcontrolsource.h:
4857         * libs/gst/controller/gstlfocontrolsource.h:
4858         * libs/gst/dataprotocol/dataprotocol.h:
4859           Fix empty prototypes.  Fixes bug #507957.
4860
4861 2008-01-07  David Schleef  <ds@schleef.org>
4862
4863         * docs/faq/dependencies.xml: Fix typo.
4864
4865 2008-01-07  Wim Taymans  <wim.taymans@collabora.co.uk>
4866
4867         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_do_seek),
4868         (gst_base_src_loop):
4869         Don't update the last_stop position in do_seek, that's the position we
4870         did a seek to.
4871         Read backwards when we have a negative rate.
4872
4873         * tests/check/elements/filesrc.c: (event_func), (wait_eos),
4874         (setup_filesrc), (cleanup_filesrc), (GST_START_TEST),
4875         (filesrc_suite):
4876         Add check for reverse reading.
4877
4878 2008-01-07  Tim-Philipp Müller  <tim at centricular dot net>
4879
4880         Patch by: Alexis Ballier <aballier at gentoo org>
4881
4882         * tests/check/gst/gstabi.c:
4883         * tests/check/gst/struct_ppc64.h:
4884         * tests/check/libs/libsabi.c:
4885         * tests/check/libs/struct_ppc64.h:
4886           Decide which header to include based on the userland ABI target
4887           and not the kernel/cpu. Fix up structure sizes of ppc64 header
4888           for 64-bit userland (#503590).  Might need something similar for
4889           x86 too.
4890
4891 2008-01-05  Tim-Philipp Müller  <tim at centricular dot net>
4892
4893         * gst/gstdebugutils.c: (_gst_debug_bin_to_dot_file):
4894           Log the reason why fopen fails in addition to the fact that it failed.
4895           
4896 2008-01-04  Sebastian Dröge  <slomo@circular-chaos.org>
4897
4898         * gst/parse/parse.l:
4899         Use "%option never-interactive" to prevent useless calls to isatty()
4900         on every input when parsing. Also use "%option noinput" to not define
4901         the static input/yyinput functions which we don't use anyway. This
4902         removes a compiler warning with gcc 4.3 and saves some bytes in the
4903         library.
4904         
4905         * gst/parse/lex._gst_parse_yy.pre.c:
4906         Regenerated for the above change.
4907
4908 2008-01-04  Wim Taymans  <wim.taymans@collabora.co.uk>
4909
4910         * gst/gstpad.c: (fixate_value):
4911         Don't crash when trying to fixate and empty list.
4912         Fixes #506643.
4913
4914 2008-01-03  Sebastian Dröge  <slomo@circular-chaos.org>
4915
4916         * docs/faq/gst-uninstalled:
4917         Clarify the comments to make the usage of this script and what it
4918         does easier to understand.
4919
4920 2008-01-01  Thijs Vermeir  <thijsvermeir@gmail.com>
4921
4922         * tools/gst-plot-timeline.py:
4923         Add more options to gst-plot-timeline
4924
4925 2007-12-31  Wim Taymans  <wim.taymans@collabora.co.uk>
4926
4927         * docs/design/part-synchronisation.txt:
4928         Some more info on how the stream_time in GstBaseSink is done.
4929
4930 2007-12-30  Tim-Philipp Müller  <tim at centricular dot net>
4931
4932         * tests/check/generic/sinks.c: (gst_sinks_suite):
4933           Put back the tcase_set_timeout(), apparently it's needed after
4934           all; fix it up in a way that makes things work with valgrind too.
4935
4936 2007-12-30  Thijs Vermeir  <thijsvermeir@gmail.com>
4937
4938         * gst/gstdebugutils.c:
4939           Add warning when failed to open file for writing.
4940
4941 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
4942
4943         Based on patch by: Laurent Glayal  <spglegle yahoo fr>
4944
4945         * gst/gstvalue.c: (gst_value_is_fixed):
4946           Optimisation: bail out of the loop as early as possible (#500143).
4947
4948 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
4949
4950         * gst/gstcaps.c: (gst_caps_to_string):
4951         * gst/gstinfo.c: (gst_debug_construct_term_color):
4952         * gst/gstparse.c: (gst_parse_launchv):
4953         * gst/gstutils.c: (gst_util_dump_mem):
4954         * gst/gstvalue.c: (gst_value_serialize_any_list),
4955           (gst_value_transform_any_list_string):
4956           Bunch of gratuitous nano-optimisations.
4957
4958 2007-12-28  Tim-Philipp Müller  <tim at centricular dot net>
4959
4960         * tests/check/generic/sinks.c: (async_done_func),
4961           (async_done_eos_func):
4962           Fix leak in unit test (bus sync handler must unref the message
4963           if it returns GST_BUS_DROP). Don't fiddle with the default test
4964           timeout, this is smaller than the current preconfigured value
4965           via CK_DEFAULT_TIMEOUT, and also breaks things with valgrind
4966           because it overrides the value specified in CK_DEFAULT_TIMEOUT.
4967
4968 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4969
4970         Based on Patch by: Laurent Glayal <spglegle at yahoo dot fr>
4971
4972         * configure.ac:
4973         Check for stdio_ext.h for the filesink changes.
4974
4975         * plugins/elements/gstfilesink.c: (buffer_mode_get_type),
4976         (gst_file_sink_class_init), (gst_file_sink_init),
4977         (gst_file_sink_dispose), (gst_file_sink_set_property),
4978         (gst_file_sink_get_property), (gst_file_sink_open_file),
4979         (gst_file_sink_close_file):
4980         * plugins/elements/gstfilesink.h:
4981         Add two properties to control the buffering mode and size.
4982         API: GstFileSink::buffer-mode
4983         API: GstFileSink::buffer-size
4984         Fixes #500150.
4985
4986 2007-12-24  Wim Taymans  <wim.taymans@collabora.co.uk>
4987
4988         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked):
4989         Add some more docs to explain why a FIXME was wrongly added. 
4990
4991 2007-12-22  Sebastian Dröge  <slomo@circular-chaos.org>
4992
4993         * gst/gstobject.c:
4994           Fix typo in the gst_object_{ref,unref} documentation.
4995
4996 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
4997
4998         * tests/check/libs/controller.c:
4999         * tests/check/libs/typefindhelper.c:
5000         * tests/check/pipelines/parse-launch.c:
5001           Don't use GST_PLUGIN_DEFINE_STATIC, it is not portable and is
5002           going to be deprecated (see #498924).
5003
5004 2007-12-21  Tim-Philipp Müller  <tim at centricular dot net>
5005
5006         * gst/gsttypefind.c: (gst_type_find_register):
5007           Make gst_type_find_register work for static typefind functions,
5008           ie. allow passing plugin == NULL (prerequisite for #498924).
5009
5010         * gst/gstelementfactory.c: (gst_element_register):
5011           Small docs addition.
5012
5013 2007-12-21  Wim Taymans  <wim.taymans@collabora.co.uk>
5014
5015         * gst/gstpad.c: (gst_pad_dispose):
5016         Really unlink the peer pad instead of setting the peer pointer to NULL
5017         when we dispose the pad.
5018         This correctly calls the unlink functions and makes sure that the peer
5019         does not have a handle to invalid memory. See #504671.
5020
5021         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5022         Add testsuite for above case.
5023
5024 2007-12-20  Tim-Philipp Müller  <tim at centricular dot net>
5025
5026         Patch by: Peter Kjellerstedt <pkj axis com>
5027
5028         * libs/gst/check/gstcheck.h:
5029           Fix detection of the check version we're compiling against (would
5030           otherwise break if check goes v0.10.0); correctly report the
5031           name of the failed test again in case of failure, instead of
5032           just 'tf' (fixes #504499).
5033
5034 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5035
5036         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event),
5037         (gst_base_src_get_range), (gst_base_src_pad_get_range),
5038         (gst_base_src_loop), (gst_base_src_set_flushing),
5039         (gst_base_src_change_state):
5040         Allow sending EOS to the source to make it send out an EOS event from
5041         the streaming thread.
5042         Update docs and deprecate the old NULL/READY shutdown method.
5043
5044         * tests/check/libs/basesrc.c: (GST_START_TEST),
5045         (gst_basesrc_suite):
5046         Add unit test for controlled shutdown.
5047
5048 2007-12-19  Wim Taymans  <wim.taymans@collabora.co.uk>
5049
5050         * docs/design/part-synchronisation.txt:
5051         Small updates.
5052
5053         * gst/gstsegment.c: (gst_segment_set_seek),
5054         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5055         (gst_segment_to_running_time):
5056         The seek format can be different from the segment format when the start
5057         and stop values are not to be updated, when we only do a rate change for
5058         example.
5059
5060         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5061         (gst_segment_suite):
5062         Add a testcase for the rate-only seeks, checking that the format is
5063         correctly ignored when start and stop are not updated.
5064
5065 2007-12-18  Sebastian Dröge  <slomo@circular-chaos.org>
5066
5067         Patch by: Matthias Bolte <photon at mail dot upb dot de>
5068
5069         * win32/vs8/grammar.vcproj:
5070         * win32/vs8/libgstcontroller.vcproj:
5071         * win32/vs8/libgstreamer.vcproj:
5072         Fix compilation with VS8 and include some missing files.
5073
5074 2007-12-18  Tim-Philipp Müller  <tim at centricular dot net>
5075
5076         * gst/gsttaglist.c:
5077           Small docs addition: mention that the strings returned by
5078           gst_tag_list_get_string*() are in UTF-8 encoding.
5079
5080 2007-12-17  Tim-Philipp Müller  <tim at centricular dot net>
5081
5082         * Makefile.am:
5083           The check-exports stuff moved to common/win32.mak, so include that.
5084
5085 2007-12-17  Wim Taymans  <wim.taymans@collabora.co.uk>
5086
5087         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
5088         (gst_base_src_perform_seek), (gst_base_src_get_range),
5089         (gst_base_src_set_playing), (gst_base_src_change_state):
5090         Make _wait_playing() not check any variables so that we can call this
5091         function from subclasses. Move the checks elsewhere similar to
5092         _wait_preroll() in basesink.
5093         Add some debugging.
5094         Only signal the LIVE cond when we are going back to PLAYING.
5095
5096 2007-12-16  Tim-Philipp Müller  <tim at centricular dot net>
5097
5098         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache):
5099           Use g_remove() and g_rename(). Check result of g_rename(), and
5100           don't leak the open file descriptor if we error out when writing.
5101
5102         * gst/gstregistryxml.c: (load_plugin), (gst_registry_xml_write_cache):
5103           Must check the return value of close() after writing out the new
5104           registry file.  Sometimes write problems such as out-of-diskspace
5105           are only reported when the file is closed and not already during
5106           the write.  This may have caused partial/broken registry files in
5107           some rare circumstances. Should fix #503675.
5108
5109 2007-12-16  Edward Hervey  <edward.hervey@collabora.co.uk>
5110
5111         * docs/gst/.cvsignore:
5112         * docs/libs/.cvsignore:
5113         * docs/plugins/.cvsignore:
5114         Ignore files generated by new common/* modifications
5115
5116 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5117
5118         * win32/common/libgstbase.def:
5119           Yes, you can also have a <TAB> if you want.
5120
5121 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5122
5123         * win32/common/libgstbase.def:
5124           Add new basetransform API to win export file.
5125
5126 2007-12-15  Stefan Kost  <ensonic@users.sf.net>
5127
5128         * tests/check/gst/gstbin.c:
5129           Adjust the test to the refcount change two days ago.
5130
5131 2007-12-14  David Schleef  <ds@schleef.org>
5132
5133         * docs/faq/getting.xml: Fix typo.
5134
5135 2007-12-14  Sebastian Dröge  <slomo@circular-chaos.org>
5136
5137         * docs/libs/gstreamer-libs-sections.txt:
5138         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
5139           (gst_base_transform_prepare_output_buffer),
5140           (gst_base_transform_set_gap_aware):
5141         * libs/gst/base/gstbasetransform.h:
5142           API: Add gst_base_transform_set_gap_aware() to control whether
5143           the element correctly handles GST_BUFFER_FLAG_GAP or shouldn't
5144           get buffers with this flag at all. Fixes #503231.
5145
5146 2007-12-13  Stefan Kost  <ensonic@users.sf.net>
5147
5148         * libs/gst/base/gstbasesink.c:
5149         * libs/gst/base/gstbasesrc.c:
5150         * libs/gst/base/gstbasetransform.c:
5151           Replace gst_pad_get_parent by GST_OBJECT_PARENT inside streaming
5152           thread. Correct log message in gstbasesrc.c.
5153
5154 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5155
5156         * gst/gstutils.c: (element_find_unconnected_pad):
5157           Fix possible compiler warning (#503417).
5158
5159 2007-12-13  Tim-Philipp Müller  <tim at centricular dot net>
5160
5161         * gst/gstobject.c: (gst_object_dispatch_properties_changed):
5162           Don't use GST_CAT_EVENT here for logging, it makes no sense.
5163
5164 2007-12-13  Sebastian Dröge  <slomo@circular-chaos.org>
5165
5166         * tools/gst-inspect.c: (print_element_properties_info):
5167           Add support for GstFraction properties.
5168
5169 2007-12-12  Tim-Philipp Müller  <tim at centricular dot net>
5170
5171         * Makefile.am:
5172           Add check-exports target and run it as part of 'make check'
5173           (see #499140 and #493983).
5174
5175         * gst/gst_private.h:
5176         * gst/gstelementfactory.h:
5177         * gst/gstghostpad.c: (gst_proxy_pad_class_init):
5178         * gst/gstinfo.c: (_priv_gst_in_valgrind), (_gst_debug_init),
5179           (_priv_gst_in_valgrind):
5180         * gst/gstinfo.h: (GstLogFunction):
5181         * gst/gsttypefind.c: (type_find_debug), (GST_CAT_DEFAULT),
5182           (gst_type_find_register):
5183         * gst/gsttypefindfactory.c: (type_find_debug), (GST_CAT_DEFAULT),
5184           (gst_type_find_factory_get_type):
5185         * libs/gst/controller/gstcontroller.c: (GST_CAT_DEFAULT),
5186           (GST_CAT_DEFAULT), (parent_class), (priv_gst_controller_key),
5187           (gst_controller_new_valist), (gst_controller_new_list),
5188           (_gst_controller_dispose), (_gst_controller_class_init):
5189         * libs/gst/controller/gstcontrolsource.c: (GST_CAT_DEFAULT):
5190         * libs/gst/controller/gsthelper.c: (GST_CAT_DEFAULT),
5191           (GST_CAT_DEFAULT), (gst_object_uncontrol_properties),
5192           (gst_object_get_controller), (gst_object_set_controller),
5193           (gst_object_suggest_next_sync), (gst_object_sync_values),
5194           (gst_object_set_control_source), (gst_object_get_control_source),
5195           (gst_object_get_value_arrays), (gst_object_get_value_array),
5196           (gst_object_get_control_rate), (gst_object_set_control_rate):
5197         * libs/gst/controller/gstinterpolation.c: (GST_CAT_DEFAULT):
5198         * libs/gst/controller/lib.c: (GST_CAT_DEFAULT):
5199           Make some functions that should be static static; rename some
5200           private symbols so that they don't get exported; add some FIXME
5201           comments so we can move accidentally exported functions into
5202           our private section in 0.11.
5203
5204         * win32/common/libgstreamer.def:
5205           Add gst_utils_get_timestamp().
5206
5207 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5208
5209         * gst/gstvalue.c:
5210         * gst/gstvalue.h:
5211           Add more missing "Since:" tags to docs.
5212
5213 2007-12-12  Stefan Kost  <ensonic@users.sf.net>
5214
5215         * gst/gstutils.c:
5216           Add mising "Since:" to docs.
5217
5218 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5219
5220         * gst/gstplugin.c:
5221           Include "glib-compat-private.h" to fix the build on system with
5222           glib < 2.10. Fixes #503131.
5223
5224 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5225
5226         * gst/gstutils.c:
5227         * gst/gstutils.h:
5228           Actually its not PURE as it gets the time from elsewhere.
5229
5230 2007-12-11  Stefan Kost  <ensonic@users.sf.net>
5231
5232         * docs/gst/gstreamer-sections.txt:
5233         * gst/gstclock.h:
5234         * gst/gstdebugutils.c:
5235         * gst/gstinfo.c:
5236         * gst/gstutils.c:
5237         * gst/gstutils.h:
5238         * libs/gst/base/gstbasesink.c:
5239         * tools/gst-launch.c:
5240           Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all
5241           uses as we don't have HAVE_POSIX_TIMERS in public headers.
5242           Thanks Tim for spotting.
5243           API: gst_util_get_timestamp
5244
5245 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
5246
5247         * configure.ac:
5248           Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181.
5249
5250 2007-12-08  Tim-Philipp Müller  <tim at centricular dot net>
5251
5252         * gst/gststructure.c: (gst_structure_validate_name),
5253           (gst_structure_new_valist), (gst_structure_parse_value),
5254           (gst_structure_from_string):
5255           Don't crash in _from_string() if the structure name is not valid
5256           (fixes #501560).  Allow structure names to start with a number
5257           again (this apparently broke the ubuntu codec installer).
5258
5259         * tests/check/gst/gststructure.c: (GST_START_TEST), (GST_START_TEST),
5260           (GST_START_TEST):
5261           Add unit test for the crash; update unit tests for new behaviour.
5262
5263 2007-12-03  Wim Taymans  <wim.taymans@gmail.com>
5264
5265         * gst/gstutils.c:
5266         Clarify gst_element_get_compatible_pad() documentation.
5267         Fixes #500919.
5268
5269 2007-12-02  Sebastian Dröge  <slomo@circular-chaos.org>
5270
5271         * tests/check/Makefile.am:
5272           Don't forget to dist {gst,libs}/struct_hppa.h.
5273
5274 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5275
5276         * libs/gst/base/gstbasesink.c:
5277           Use new API to get elapsed time.
5278
5279 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5280
5281         * gst/gstdebugutils.c:
5282         * gst/gstinfo.c:
5283           Fix wrong order of args in GST_CLOCK_DIFF() usage.
5284
5285         * tools/gst-launch.c:
5286           Use new API to get elapsed time.
5287
5288 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5289
5290         * docs/gst/gstreamer-sections.txt:
5291         * gst/gstclock.h:
5292         * gst/gstdebugutils.c:
5293         * gst/gstinfo.c:
5294           Rename new API + ChangeLog surgery to remove old name from last entry..
5295
5296 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5297
5298         * docs/gst/gstreamer-sections.txt:
5299         * gst/gstclock.h:
5300         * gst/gstdebugutils.c:
5301         * gst/gstinfo.c:
5302           Now hide the different clock stuff behind a macro.
5303
5304 2007-11-28  Stefan Kost  <ensonic@users.sf.net>
5305
5306         * configure.ac:
5307         * gst/gstdebugutils.c:
5308         * gst/gstinfo.c:
5309           Apply the posix-timer check from #361155. Conditionally use the posix
5310           timer for logging. This gives better timestamp precission, less
5311           overhead and no ntp jitter.
5312
5313 2007-11-28  Sebastian Dröge  <slomo@circular-chaos.org>
5314
5315         * gst/gstminiobject.c: (gst_mini_object_get_type),
5316         (gst_mini_object_class_init), (gst_mini_object_copy_default),
5317         (gst_mini_object_finalize), (gst_mini_object_copy),
5318         (gst_mini_object_is_writable), (gst_mini_object_make_writable),
5319         (gst_mini_object_replace), (param_mini_object_validate),
5320         (gst_param_spec_mini_object_get_type):
5321         Some cleanup and checking against invalid function parameters.
5322
5323 2007-11-28  Wim Taymans  <wim.taymans@gmail.com>
5324
5325         * docs/gst/gstreamer-sections.txt:
5326         * gst/gstclock.h:
5327         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
5328         (gst_systemclock_suite):
5329         Start merging in the easy bits of #361155, the monotonic clock patch.
5330         This one adds a few handy macros with docs and a testsuite.
5331
5332 2007-11-27  Wim Taymans  <wim.taymans@gmail.com>
5333
5334         * plugins/elements/gstfilesink.c: (gst_file_sink_event):
5335         Be a bit smarter when seeking, like, don't try to do a seek when it's
5336         not needed. This avoids errors when the file is not seekable.
5337         Fixes #499771.
5338
5339 2007-11-26  Stefan Kost  <ensonic@users.sf.net>
5340
5341         * docs/gst/gstreamer-docs.sgml:
5342         * docs/gst/gstreamer-sections.txt:
5343         * docs/gst/gstreamer.types.in:
5344         * gst/Makefile.am:
5345         * gst/gst.h:
5346         * gst/gstpreset.c:
5347         * gst/gstpreset.h:
5348         * plugins/elements/gstqueue.c:
5349           Due to popular request remove preset interface again. :-(.
5350
5351 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5352
5353         * tools/gst-inspect.c:
5354           Print 'default value' for enums and flags too.
5355
5356 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5357
5358         * docs/random/ensonic/profiling.txt:
5359           More ideas.
5360
5361         * gst/gstbin.c:
5362           Fix typo and give better log output.
5363
5364         * gst/gstdebugutils.c:
5365         * gst/gstdebugutils.h:
5366           More ideas, make graphs a bit smaller and fix param name in macro.
5367
5368 2007-11-22  Stefan Kost  <ensonic@users.sf.net>
5369
5370         * gst/gstpreset.c:
5371           Try harder to use the return value from fgets().
5372
5373 2007-11-21  Stefan Kost  <ensonic@users.sf.net>
5374
5375         * gst/gstpreset.c:
5376           For theses two fgets we handle the error below.
5377
5378 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5379
5380         * libs/gst/base/gstbasesink.c: (gst_base_sink_send_event):
5381         Only send upstream events upstream. Fixes #498746.
5382
5383 2007-11-21  Wim Taymans  <wim.taymans@gmail.com>
5384
5385         Patch by: Laurent Glayal <spglegle at yahoo dot fr>
5386
5387         * plugins/elements/gstidentity.c: (gst_identity_class_init),
5388         (gst_identity_init), (gst_identity_transform_ip),
5389         (gst_identity_set_property), (gst_identity_get_property):
5390         * plugins/elements/gstidentity.h:
5391         Add property to disable handoff signal emission. Fixes #498694.
5392         API: GstIdentity::signal-handoffs
5393
5394 2007-11-21  Julien Moutte  <julien@fluendo.com>
5395
5396         * docs/faq/gst-uninstalled: Yet another missing library for the
5397         uninstalled script (fft)
5398
5399 2007-11-21  Jan Schmidt  <jan.schmidt@sun.com>
5400
5401         * docs/faq/developing.xml:
5402         Add a question about how to submit new translations.
5403
5404         * docs/random/release:
5405         Update the contact email address for the Translation Project
5406
5407         * plugins/elements/gstfdsrc.c:
5408         The parent_class for fdsrc is pushsrc, not GstElement.
5409
5410 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5411
5412         * gst/gstpreset.c:
5413           Plug a leak and fix saving.
5414
5415 2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>
5416
5417         * docs/gst/gstreamer-sections.txt:
5418         Add new gst_preset__get_property_names() function to the docs
5419         to fix the build.
5420
5421 2007-11-20  Stefan Kost  <ensonic@users.sf.net>
5422
5423         * gst/gstpreset.c:
5424         * gst/gstpreset.h:
5425           Change _get_preset_names API to return a strv with copies. Add
5426           _get_property_names to allow implementations to filter and provide
5427           good default implementation.
5428
5429 2007-11-20  Julien MOUTTE  <julien@moutte.net>
5430
5431         * docs/faq/gst-uninstalled: Add another library to the uninstalled
5432         script (sdp).
5433
5434 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5435
5436         * gst/gstpreset.c:
5437           More cleanups, docs, and TODOs from comments that now slowly come in.
5438
5439 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5440
5441         * docs/faq/gst-uninstalled: Add new base libraries in the LD 
5442         search path.
5443
5444 2007-11-19  Stefan Kost  <ensonic@users.sf.net>
5445
5446         * gst/gstpreset.c:
5447           Fix bogus warning and make the property type specific code more
5448           similar.
5449
5450 2007-11-19  Julien MOUTTE  <julien@moutte.net>
5451
5452         * gst/gstpreset.c: (gst_preset_default_create_preset): Make
5453         it build on OS X.
5454
5455 2007-11-19  Wim Taymans  <wim.taymans@gmail.com>
5456
5457         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
5458         (gst_bin_add_func), (gst_bin_remove_func),
5459         (gst_bin_change_state_func), (gst_bin_continue_func):
5460         Change email, cleanups add some more debug and comments.
5461         Also set bus and clock on new elements when the pipeline was in error.
5462
5463 2007-11-18  Stefan Kost  <ensonic@users.sf.net>
5464
5465         * gst/gstbin.c:
5466         * gst/gstdebugutils.c:
5467           Fix build with --disable-gst-debug. Fixes #497859.
5468           Spotted by Sameer Naik.
5469
5470 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5471
5472         * gst/gstevent.c:
5473           Little documentation improvment.
5474
5475         * gst/gstpreset.c:
5476           More TODO cleanups. Remove c++ comments.
5477
5478         * libs/gst/controller/gstcontroller.c:
5479           Add TODO and use quark from static string.
5480
5481         * tests/check/gst/gstmessage.c:
5482         * tests/check/gst/gststructure.c:
5483           Use quark from static string.
5484
5485 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5486
5487         * gst/gstpreset.c:
5488           Add some comments and TODOs.
5489
5490         * gst/gstpreset.h:
5491           Add padding for future changes.
5492
5493         * plugins/elements/gstqueue.c:
5494           Implement the iface.    
5495
5496 2007-11-17  Stefan Kost  <ensonic@users.sf.net>
5497
5498         * docs/gst/gstreamer-docs.sgml:
5499         * docs/gst/gstreamer-sections.txt:
5500         * docs/gst/gstreamer.types.in:
5501         * gst/Makefile.am:
5502         * gst/gst.h:
5503         * gst/gstpreset.c:
5504         * gst/gstpreset.h:
5505           Add the preset interface (Fixes #396779). Do some doc cleanups along.
5506
5507 2007-11-16  Jan Schmidt  <jan.schmidt@sun.com>
5508
5509         * configure.ac:
5510
5511         Back to CVS
5512
5513 === release 0.10.15 ===
5514
5515 2007-11-15  Jan Schmidt <jan.schmidt@sun.com>
5516
5517         * configure.ac:
5518           releasing 0.10.15, "October"
5519
5520 2007-11-14  Jan Schmidt  <jan.schmidt@sun.com>
5521
5522         * win32/vs6/libgstreamer.dsp:
5523         Convert line endings back to DOS.
5524
5525 2007-11-13  Stefan Kost  <ensonic@users.sf.net>
5526
5527         * docs/design/draft-tagreading.txt:
5528         * docs/random/ensonic/profiling.txt:
5529         Update fast tagreading draft and performance profiling ideas.
5530
5531 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5532
5533         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_last_buffer):
5534         Don't hold the object lock when unreffing a buffer because it could
5535         cause a deadlock when the finalize function wants to grab the object
5536         lock too. Fixes #495133.
5537
5538 2007-11-09  Wim Taymans  <wim.taymans@gmail.com>
5539
5540         * gst/gstsegment.c: (gst_segment_set_newsegment_full),
5541         (gst_segment_to_stream_time), (gst_segment_to_running_time):
5542         Also accumulate time correctly when doing reverse playback. Fixes
5543         #488201,
5544         When converting to running and stream time, use default values for
5545         start/stop/time/accum when comparing different formats. Fixes #494245.
5546
5547         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
5548         Do running/stream time in TIME format.
5549
5550         * tests/check/gst/gstsegment.c: (GST_START_TEST),
5551         (gst_segment_suite):
5552         2 new unit tests for segment accumulation.
5553
5554 2007-11-07  Tim-Philipp Müller  <tim at centricular dot net>
5555
5556         * gst/gst.c: (init_pre):
5557         * gst/gstdebugutils.c: (priv_gst_dump_dot_dir), (debug_dump_element),
5558           (_gst_debug_bin_to_dot_file):
5559           Move getenv() back into gst_init, so everyone can live happily
5560           ever after. Make sure the symbol isn't exported though.
5561
5562 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5563
5564         Patch by: Sebastien Moutte  <sebastien moutte net>
5565
5566         * win32/common/gstenumtypes.c:
5567         * win32/common/gstenumtypes.h:
5568           Update enum types.
5569
5570         * win32/vs6/libgstreamer.dsp:
5571           Update vs6 project files (#494343).
5572
5573 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5574
5575         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query),
5576         (gst_base_src_perform_seek), (gst_base_src_default_event),
5577         (gst_base_src_set_flushing), (gst_base_src_activate_push),
5578         (gst_base_src_activate_pull):
5579         Unify flushing code, remove some old unlock code that is no longer used.
5580         Take the streaming lock when seeking to avoid races. Fixes #492729.
5581         Added some more comments.
5582
5583 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5584
5585         * gst/gst.c: (_gst_disable_segtrap):
5586           Make  _gst_disable_segtrap static, it's only used in gstplugin.c and
5587           we can use gst_segtrap_is_enabled() there now that we have that API.
5588           Move _gst_debug_dump_dot_dir into gstdebugutils.c, there's no reason
5589           to do the getenv here (and export the variable).
5590
5591         * gst/gstdebugutils.c: (debug_dump_element),
5592           (_gst_debug_bin_to_dot_file), (_gst_debug_bin_to_dot_file_with_ts):
5593           Don't use VLAs which is a C99ism and throws off MSVC (#493983).
5594
5595         * gst/gstinfo.c: (_priv_gst_info_start_time), (_gst_debug_init),
5596           (gst_debug_log_default):
5597           Rename _gst_info_start_time to priv_gst_info_start_time so it
5598           doesn't get exported (was never in any header).
5599
5600         * gst/gstplugin.c: (_gst_plugin_fault_handler_setup),
5601           (gst_plugin_loading_mutex):
5602           Make static mutex gst_plugin_loading_mutex really static (was never
5603           in any header), and use gst_segtrap_is_enabled() instead of
5604           _gst_disable_segtrap.
5605
5606         * gst/gsttrace.c: (_gst_trace_default):
5607           Make local _gst_trace_default static (was never in any header).
5608
5609 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5610
5611         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
5612
5613         * win32/common/libgstbase.def:
5614         * win32/common/libgstcontroller.def:
5615         * win32/common/libgstdataprotocol.def:
5616         * win32/common/libgstnet.def:
5617         * win32/common/libgstreamer.def:
5618           Add more missing symbols, remove some duplicates, and sort
5619           as the 'sort' command sorts it (partially fixes #493983).
5620
5621 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5622
5623         * gst/gstelement.c: (gst_element_set_state_func):
5624         Only change the state cookie if a different state was set on the
5625         element. See #492729.
5626
5627 2007-11-06  Tim-Philipp Müller  <tim at centricular dot net>
5628
5629         * gst/gstvalue.c:
5630           Remove unused and uninitialised type variables that were still
5631           exported for some reason (they were never in any header files
5632           though).
5633
5634 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5635
5636         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
5637         (gst_base_sink_do_sync), (gst_base_sink_preroll_object),
5638         (gst_base_sink_event), (gst_base_sink_get_position_last),
5639         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
5640         (gst_base_sink_change_state):
5641         Don't try to report a 0 position when we don't know, return -1 and FALSE
5642         instead. This mostly happens when we are prerolling.
5643         Make sure we can report the right position before we post the ASYNC_DONE
5644         message so that a message handler can query position without races.
5645
5646         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
5647         (async_done_handoff), (async_done_func), (send_buffer),
5648         (async_done_eos_func), (gst_sinks_suite):
5649         Add two tests for the above.
5650
5651 2007-11-06  Wim Taymans  <wim.taymans@gmail.com>
5652
5653         * MAINTAINERS:
5654         Update with new email address.
5655
5656         * docs/design/part-TODO.txt:
5657         Add some more info about future pad-block and negotiation changes.
5658
5659         * docs/design/part-buffering.txt:
5660         Add some ideas about buffering reporting.
5661
5662 2007-11-06  Jan Schmidt  <jan.schmidt@sun.com>
5663
5664         * tests/check/gst/gstobject.c:
5665         Disable silly racy test that always fails on this combination of CPU
5666         and kernel.
5667
5668 2007-11-03  Tim-Philipp Müller  <tim at centricular dot net>
5669
5670         Patch by: Murray Cumming  <murrayc@murrayc.com>
5671
5672         * gst/gstobject.c:
5673           Corrected the registration of the parent-set and parent-unset
5674           signals: The parameter is a GstObject, not a GObject (#493134).
5675
5676 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5677
5678         * gst/gst_private.h:
5679         * gst/gstbuffer.h:
5680         * gst/gstevent.h:
5681         * gst/gstformat.h:
5682         * gst/gstmessage.h:
5683         * gst/gstplugin.h:
5684         * gst/gstquery.h:
5685         * gst/gsttaglist.h:
5686         * gst/gstvalue.h:
5687           Move declaration of private _gst_foo_initialize() functions into
5688           our private header file where they should have been all along.
5689
5690 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5691
5692         * docs/plugins/gstreamer-plugins-sections.txt:
5693         * gst/gstdebugutils.h:
5694         * gst/gstxml.h:
5695         * plugins/elements/gstqueue.c:
5696           gtk-doc fixes; trailing-comma-in-enum fix.
5697
5698 2007-11-02  Tim-Philipp Müller  <tim at centricular dot net>
5699
5700         * gst/gst.c: (gst_deinit):
5701           Clean up on deinit (not the external ones though, doesn't seem to be
5702           needed for some reason).
5703
5704 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5705
5706         * gst/gstinfo.h: (GST_DEBUG_CATEGORY_EXTERN):
5707           Remove __declspec(dllimport) for MSVC that was copied over into core
5708           from a plugin, obviously without ever having been tested (note the
5709           single underscore in _declspec in the initial commit), and that doesn't
5710           really make sense.  See #492077.
5711
5712 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5713
5714         * gst/gst.c: (init_post):
5715         * gst/gstevent.c: (_gst_event_initialize):
5716         * gst/gstquery.c: (_gst_query_initialize):
5717         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_init):
5718           g_type_class_ref() other types as well, see #349410 and #64764.
5719
5720         * gst/gstbuffer.c: (_gst_buffer_initialize):
5721         * gst/gstmessage.c: (_gst_message_initialize):
5722           Simplify existing g_type_class_ref().
5723
5724 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5725
5726         * gst/gstformat.c: (_gst_format_initialize):
5727           g_type_class_ref() our GstFormat type to make sure we avoid the
5728           thread-unsafe bits of the GObject/GType system, ie. bug #349410 and
5729           bug #64764. Should fix intermittent tee unit test failures (#474823).
5730
5731 2007-11-01  Tim-Philipp Müller  <tim at centricular dot net>
5732
5733         * tests/check/elements/tee.c: (test_num_buffers):
5734           Simplify, simplify, simplify - or not.  Rewrite unit test
5735           not to use gst_parse_launch(); allow N sub-streams. Increasing
5736           the number of sub-streams seems to reproduce #474823 more easily.
5737
5738 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
5739
5740         Patch by: Ole André Vadla Ravnås  <ole.andre.ravnas@tandberg.com>
5741
5742         * gst/gsttrace.c:
5743         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_new):
5744         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
5745         * libs/gst/net/gstnettimeprovider.c: (gst_net_time_provider_new):
5746           Fix a couple of missing includes for MSVC2005 and a C99 issue. Also,
5747           starting with 2.14.0, GLib won't provide a pipe() macro any longer,
5748           so use _pipe() directly (#492077).
5749
5750         * win32/common/dirent.c: (_treaddir):
5751           Add a couple of casts to make it build without warnings with MSVC.
5752
5753         * win32/common/libgstreamer.def:
5754           Add some more symbols that need to be exported.
5755
5756 2007-10-31  Tim-Philipp Müller  <tim at centricular dot net>
5757
5758         * tests/examples/metadata/read-metadata.c: (message_loop):
5759           Use _KEEP as merge mode rather than _KEEP_ALL, so tags
5760           arriving in a second or third tag message are added to
5761           the tag list as well.
5762
5763 2007-10-31  Stefan Kost  <ensonic@users.sf.net>
5764
5765         * libs/gst/base/gstbasesrc.c:
5766           Its "Since:" and not "@Since:". And remove an superflous cast.
5767
5768 2007-10-30  Wim Taymans  <wim.taymans@gmail.com>
5769
5770         * docs/libs/gstreamer-libs-sections.txt:
5771         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
5772         (gst_base_sink_get_last_buffer), (gst_base_sink_set_last_buffer),
5773         (gst_base_sink_get_property), (gst_base_sink_render_object),
5774         (gst_base_sink_preroll_object),
5775         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
5776         (gst_base_sink_change_state):
5777         * libs/gst/base/gstbasesink.h:
5778         Add a new last-buffer property that contains the last buffer used in
5779         basesink for preroll or rendering. useful for making snapshots.
5780         API: gst_base_sink_get_last_buffer()
5781         API: GstBaseSink::last-buffer
5782
5783 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
5784
5785         * docs/gst/running.xml:
5786         * gst/gst.c:
5787         * gst/gstdebugutils.c:
5788         * gst/gstdebugutils.h:
5789         * tools/gst-launch.c:
5790           Improve bin graph dumping, by using the envvar to specify a path.
5791           Rename the envvar to GST_DEBUG_DUMP_DOT_DIR.
5792
5793 2007-10-29  Tim-Philipp Müller  <tim at centricular dot net>
5794
5795         * plugins/elements/gsttypefindelement.c:
5796           (gst_type_find_element_handle_event),
5797           (gst_type_find_element_activate):
5798           Post special error message if we can't determine the type of a stream
5799           because it's empty.
5800
5801 2007-10-29  Stefan Kost  <ensonic@users.sf.net>
5802
5803         * docs/gst/running.xml:
5804         * gst/gstdebugutils.c:
5805           Document new env-var. Add one log-line after dumpng a graph.
5806
5807 2007-10-26  Tim-Philipp Müller  <tim at centricular dot net>
5808
5809         * configure.ac:
5810           Ugly hack to put the (recently removed and non-portable, apparently)
5811           -Wl,--export-dynamic back into libgstcheck's LDFLAGS when we're using
5812           GNU ld, because without that 'make check' fails miserably on my debian
5813           stable box.  Someone with more knowledge of linker intricacies and
5814           portability issues than me fix this properly please.
5815
5816 2007-10-25  Wim Taymans  <wim.taymans@gmail.com>
5817
5818         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
5819         Reset last seen position after flushing so that we don't report the old
5820         position anymore.
5821
5822 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
5823
5824         * gst/gstelementfactory.c: (gst_element_register):
5825         * gst/gsturi.h:
5826         Patch from Alessandro Decina adding get_type_full and
5827         get_protocols_full private vfuncs to the URIHandler interface
5828         to allow bindings to support creating URI handlers. 
5829         Partially fixes: #339279
5830         API: GstURIHandlerInterface::get_type_full
5831         API: GstURIHandlerInterface::get_protocols_full
5832
5833 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
5834
5835         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
5836         (gst_multi_queue_request_new_pad), (gst_single_queue_flush),
5837         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push):
5838         Make it so that pads are considered linked until a buffer is pushed
5839         and discovered otherwise. This avoids problems with decodebin2 hanging
5840         after a seek in the filesrc ! decodebin2 name=d ! fakesink d. ! fakesink
5841         case.
5842
5843         Make sure we lock the multiqueue when updating the max-size properties.
5844         
5845         Fix a crash on Solaris in a debug statement in get_request_pad that
5846         passes a NULL string to GST_DEBUG. 
5847
5848         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
5849         (run_output_order_test):
5850         Fix the test to allow the first buffer on not-linked pads to come out
5851         of sequence while multiqueue discovers that they are not-linked.
5852
5853 2007-10-25  Jan Schmidt  <Jan.Schmidt@sun.com>
5854
5855         * configure.ac:
5856         * libs/gst/check/Makefile.am:
5857         Use a custom export symbol regex for libgstcheck, as it needs
5858         to export symbols that don't match the standard GStreamer gst_*
5859         pattern, and  --export-dynamic is not portable (only works on 
5860         GNU ld)
5861
5862         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
5863         (gst_check_setup_sink_pad):
5864         Make sure to pass a message parameter to the fail_* macros.
5865
5866         * tests/check/gst/gstinfo.c: (GST_START_TEST):
5867         Fix some compiler warnings.
5868
5869 2007-10-25  Tim-Philipp Müller  <tim at centricular dot net>
5870
5871         * tests/check/gst/gststructure.c: (test_to_string):
5872           Disable test that checks that white spaces are not allowed
5873           in structure names or field names, since we need to
5874           support that for now for backwards compatibility reasons.
5875
5876 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
5877
5878         * docs/gst/gstreamer-sections.txt:
5879         * gst/gsttaglist.c:
5880         * gst/gsttaglist.h:
5881           API: add GST_TAG_ARTIST_SORTNAME
5882           API: add GST_TAG_ALBUM_SORTNAME
5883           API: add GST_TAG_TITLE_SORTNAME
5884           Add tag variants for sorting (#414539).
5885
5886 2007-10-24  Tim-Philipp Müller  <tim at centricular dot net>
5887
5888         * gst/gststructure.c:
5889           Also allow white space for names so we don't break
5890           backwards compatibility.
5891
5892 2007-10-22  Wim Taymans  <wim.taymans@gmail.com>
5893
5894         * docs/design/part-TODO.txt:
5895         * docs/design/part-segments.txt:
5896         * docs/design/part-streams.txt:
5897         Small updates.
5898
5899 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
5900
5901         * docs/gst/gstreamer-sections.txt:
5902          Fixed documentation from my previous commit (added new API add
5903          gst_value_set_structure(), add gst_value_get_structure() and
5904          GST_VALUE_HOLDS_STRUCTURE).
5905
5906 2007-10-22  Stefan Kost  <ensonic@users.sf.net>
5907
5908         * gst/gstdebugutils.c:
5909           Reflow code to fix uninitialized variable warning.
5910
5911 2007-10-22  Edgard Lima  <edgard.lima@indt.org.br>
5912
5913         * gst/gstcaps.c: (gst_caps_to_string),
5914         (gst_caps_from_string_inplace):
5915         * gst/gststructure.c: (gst_structure_get_abbrs),
5916         (gst_structure_to_string), (gst_structure_from_string):
5917         * gst/gstvalue.c: (gst_value_set_structure),
5918         (gst_value_get_structure), (gst_value_serialize_structure),
5919         (gst_value_deserialize_structure), (_gst_value_initialize):
5920         * gst/gstvalue.h:
5921         * tests/check/gst/gststructure.c: (GST_START_TEST),
5922         (gst_structure_suite):
5923         * tests/check/gst/gstvalue.c: (GST_START_TEST):
5924          Added GstStructure to gst_value_table and its related functions.
5925          Changed gst_structure_to_string to print ';' in the end.
5926          Changed gst_caps_to_string to not print ';' beteween its
5927          fields (structures) anymore and remove the lastes ';' from latest
5928          structure. Now it is possible to have nested structures.
5929          In addition, backward compatibilty is assured by accepting '\0' as
5930          end delimiter. Fixes: #487969.
5931          API: add gst_value_set_structure()
5932          API: add gst_value_get_structure()
5933          API: add GST_VALUE_HOLDS_STRUCTURE
5934
5935 2007-10-19  Tim-Philipp Müller  <tim at centricular dot net>
5936
5937         * gst/gstbus.c:
5938           When no GSource callback has been set up, tell developer
5939           to use a function that actually exists.
5940
5941 2007-10-17  Stefan Kost  <ensonic@users.sf.net>
5942
5943         * docs/gst/gstreamer-sections.txt:
5944         * gst/Makefile.am:
5945         * gst/gst.c:
5946         * gst/gst.h:
5947         * gst/gstdebugutils.c:
5948         * gst/gstdebugutils.h:
5949         * gst/gstinfo.c:
5950         * gst/gstinfo.h:
5951         * tools/gst-launch.c:
5952           Allow dumping pipelines as dot graphs. Fixes #456573.
5953
5954 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
5955
5956         * gst/gststructure.c:
5957           Allow '+' as well, it can be part of media or mime types
5958           such as image/svg+xml.
5959
5960 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
5961
5962         * docs/gst/gstreamer-sections.txt:
5963         * gst/gstbus.c:
5964         * gst/gstbus.h:
5965           API: add gst_bus_pop_filtered
5966           API: add gst_bus_timed_pop_filtered
5967           Two new functions for waiting for specific message types on the
5968           bus for a specified amount of time without iterating any main
5969           loops or main contexts.
5970
5971         * tests/check/gst/gstbus.c:
5972           Some tests for the new functions.
5973
5974 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
5975
5976         * docs/libs/gstreamer-libs-sections.txt:
5977           Make gtk-doc ignore stuff it should ignore.
5978
5979 2007-10-16  Tim-Philipp Müller  <tim at centricular dot net>
5980
5981         * libs/gst/check/gstcheck.c:
5982         * libs/gst/check/gstcheck.h:
5983           Allow runtime selection of unit tests to run via the GST_CHECKS
5984           environment variable (test case function names, comma-separated).
5985
5986 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
5987
5988         * gst/gststructure.c:
5989         * tests/check/gst/gststructure.c:
5990           Revert serialisation change and constrain structure-names after
5991           consensus on irc. Update api documentation to reflect the change.
5992
5993 2007-10-16  Stefan Kost  <ensonic@users.sf.net>
5994
5995         * gst/gststructure.c:
5996           Improve serialization and fix tests.
5997
5998         * tests/check/gst/gststructure.c:
5999           Add another test that covers why I actually did the previous structure
6000           change.
6001
6002 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6003
6004         * tools/gst-inspect.c: (print_element_info):
6005         Don't crash when inspecting an element.
6006
6007 2007-10-15  Tim-Philipp Müller  <tim at centricular dot net>
6008
6009         * tests/check/gst/gststructure.c:
6010           Add unit test for escaping of structure name when serialising
6011           and deserialising to/from strings.
6012
6013 2007-10-15  Wim Taymans  <wim.taymans@gmail.com>
6014
6015         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
6016         (gst_single_queue_new):
6017         * plugins/elements/gstqueue.c: (gst_queue_init),
6018         (gst_queue_push_one):
6019         Fix queue negotiation. If acceptcaps unconditionally returns TRUE,
6020         upstream is tricked into thinking it can suggest a format downstream
6021         while downstream does not support that format. The real problem is that
6022         core calls acceptcaps when pushing a buffer with new caps, for which we
6023         do a little workaround by setting the caps on the srcpad ourselves
6024         before pushing the buffer (until this is figured out). Fixes #486758.
6025
6026 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6027
6028         * gst/gststructure.c:
6029         * gst/gstvalue.c:
6030           Add some more comments and debug output. Quote structure name to fix
6031           deserialisation of some strings.
6032
6033 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6034
6035         * gst/gstbuffer.h:
6036           Define GST_BUFFER_FLAG_GAP more strictly to enable optimizations based
6037           on it. Fix docs for GST_BUFFER_MALLOCDATA and GstBuffer.malloc_data.
6038
6039 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6040
6041         * tools/gst-inspect.c:
6042           Save approx. 400 1 byte allocs when printing. Use API to acces element
6043           details.
6044
6045         * tools/gst-run.c:
6046           Avoid a strdup.
6047
6048         * tools/gst-xmlinspect.c:
6049           Use API to acces element details.
6050
6051 2007-10-15  Stefan Kost  <ensonic@users.sf.net>
6052
6053         * gst/gstinfo.c:
6054           Fix some spelling errors.
6055
6056 2007-10-14  Wim Taymans  <wim.taymans@gmail.com>
6057
6058         * gst/gstbin.c: (bin_handle_async_done):
6059         Correctly set the next state if all of our async children commited their
6060         state. This makes sure we can actually cancel the state change in
6061         progress. Fixes a regression in Rhythmbox when seeking.
6062
6063 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6064
6065         * gst/gstbin.c:
6066           Don't shadow local variable.
6067
6068         * gst/gstinfo.c:
6069           Don't shadow global function name.
6070
6071 2007-10-13  Tim-Philipp Müller  <tim at centricular dot net>
6072
6073         * gst/gstelementfactory.c:
6074         * gst/gstpluginfeature.c:
6075         * gst/gstpluginfeature.h:
6076         * gst/gstregistrybinary.c:
6077         * gst/gstregistryxml.c:
6078         * gst/gsttypefind.c:
6079           Use already-interned string for the private GstPluginFeature
6080           plugin_name field.
6081
6082 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6083
6084         * docs/libs/gstreamer-libs-sections.txt:
6085           Add new API to docs; fixes the build.
6086
6087 2007-10-10  Wim Taymans  <wim.taymans@gmail.com>
6088         
6089         Patch inspired by: Benoit Fouet <benoit dot fouet at purplelabs dot com>
6090
6091         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_eos),
6092         (gst_base_sink_event):
6093         * libs/gst/base/gstbasesink.h:
6094         Add function to wait for EOS, subclasses can use this to correctly wait
6095         for devices to drain before performing the EOS logic. Fixes #485343.
6096         API: gst_base_sink_wait_eos()
6097
6098 2007-10-10  Tim-Philipp Müller  <tim at centricular dot net>
6099
6100         * gst/gstplugin.h:
6101           Cast description string constants in GST_PLUGIN_DEFINE macros
6102           to a (gchar*) to make C++ code using these macros compile
6103           without warning with g++-4.2 (see #462737).  Even if slightly
6104           ugly, this seems preferable to putting the description strings
6105           into the GLib quark table or making the structure member a
6106           const gchar * and doing casts in core code that allocs and
6107           frees these strings, or requiring a cast in the C++ code.
6108
6109 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6110
6111         * gst/gstinfo.h:
6112           Use __FUNCTION__ instead of __PRETTY_FUNCTION__, it's silly
6113           to print the entire class/function signature into the log
6114           file for C++ code.  This only affects C++ code, for C code
6115           everything remains the same.
6116
6117 2007-10-09  Wim Taymans  <wim.taymans@gmail.com>
6118
6119         * gst/gstbin.c: (remove_from_queue):
6120         Work around a problem with pipelines containing (semi)loops until a
6121         proper, more complicated solution is ready. See #475455.
6122
6123 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6124
6125         * gst/gstplugin.c:
6126         * gst/gstplugin.h:
6127         * gst/gstregistrybinary.c:
6128         * gst/gstregistryxml.c:
6129           Put more strings into the GLib quark table. No need to keep
6130           a hundred-something copies of identical version strings,
6131           license strings, package name strings and package origin
6132           strings around. 
6133
6134 2007-10-09  Tim-Philipp Müller  <tim at centricular dot net>
6135
6136         * docs/manual/advanced-dataaccess.xml:
6137           Don't imply that it's okay to unconditionally change
6138           buffer data or buffer metadata in a pad probe callback,
6139           and a bunch of other comments. Fixes #430031.
6140
6141 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6142
6143         * win32/common/gstenumtypes.c:
6144         * win32/common/gstenumtypes.h:
6145         * win32/common/gstversion.h:
6146           Update generated files.
6147
6148 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6149
6150         * docs/manual/advanced-autoplugging.xml:
6151           Prefix section with broken code with a warning (see #342432).
6152
6153 2007-10-08  Tim-Philipp Müller  <tim at centricular dot net>
6154
6155         * docs/manual/appendix-integration.xml:
6156         * docs/manual/basics-init.xml:
6157           Call g_thread_init() before g_option_context_new() to
6158           avoid warnings. Spotted by Ritesh Khadgaray. Fixes #484225.
6159
6160 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6161
6162         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6163         (gst_base_sink_queue_object_unlocked),
6164         (gst_base_sink_queue_object), (gst_base_sink_event),
6165         (gst_base_sink_needs_preroll), (gst_base_sink_chain_unlocked):
6166         When we received EOS and are waiting for when to post the EOS message,
6167         our state is prerolled and we should not return ASYNC.
6168         Reorganize some code paths to implement this behavior.
6169
6170         * tests/check/generic/sinks.c: (send_eos), (GST_START_TEST),
6171         (gst_sinks_suite):
6172         Add unit test to verify above EOS fix.
6173
6174 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6175
6176         * plugins/elements/gsttypefindelement.c:
6177         (gst_type_find_element_have_type), (gst_type_find_element_init),
6178         (gst_type_find_element_setcaps), (gst_type_find_element_chain):
6179         Move detecting the input caps of the sinkpad to the setcaps function.
6180         This allows us to update the output caps when we receive new input caps
6181         instead of always using the first detected caps.
6182
6183 2007-10-08  Wim Taymans  <wim.taymans@gmail.com>
6184
6185         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
6186         (gst_base_sink_get_position):
6187         Don't try to preroll non-async elements after a flush.
6188         Subtract latency form clock times when reporting position.
6189
6190 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6191
6192         * gst/gstpad.c: (gst_pad_pause_task):
6193         * gst/gstutils.c:
6194         Small comment and documentation update.
6195
6196 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6197
6198         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
6199         (gst_base_src_set_live), (gst_base_src_is_live),
6200         (gst_base_src_query_latency), (gst_base_src_perform_seek),
6201         (gst_base_src_default_event), (gst_base_src_wait),
6202         (gst_base_src_do_sync), (gst_base_src_get_range),
6203         (gst_base_src_pad_get_range), (gst_base_src_loop),
6204         (gst_base_src_unlock), (gst_base_src_unlock_stop),
6205         (gst_base_src_set_flushing), (gst_base_src_set_playing),
6206         (gst_base_src_activate_push), (gst_base_src_activate_pull),
6207         (gst_base_src_change_state):
6208         Rework the locking of basesrc in a similar fashion to basesink. We
6209         basically have one lock (LIVE_LOCK) protecting the dataflow. This allows
6210         us to handle live sources and semi live ones much better.
6211         Simplify flushing.
6212         Fix unlocking when seeking, shutting down and pausing in live sources.
6213
6214 2007-10-05  Wim Taymans  <wim.taymans@gmail.com>
6215
6216         * tests/check/pipelines/simple-launch-lines.c: (run_pipeline):
6217         Fix compilation again.
6218
6219 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6220
6221         * gst/gstelement.c:
6222           Use meaningful categories for the logs to clean the default one.
6223
6224 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6225
6226         * tests/check/pipelines/cleanup.c:
6227           Print message name and not just number.
6228
6229 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6230
6231         * docs/design/draft-tagreading.txt:
6232           Add some more thoughts.
6233
6234 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6235
6236         * tests/check/pipelines/simple-launch-lines.c:
6237           Print message name and not just number.
6238
6239 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6240
6241         * libs/gst/base/gsttypefindhelper.c:
6242           Speedup typefinding. This is work in progress (see #459862).
6243
6244 2007-10-03  Stefan Kost  <ensonic@users.sf.net>
6245
6246         * gst/gstplugin.c:
6247           Fix docs that mention 'plugin_desc' instead of 'gst_plugin_desc'.
6248           Spotted by Josep Torra Valles <josep@fluendo.com>.
6249
6250 2007-10-03  Tim-Philipp Müller  <tim at centricular dot net>
6251
6252         * gst/gstclock.h:
6253           Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags
6254           field has moved to GstObject.
6255
6256 2007-10-02  Wim Taymans  <wim.taymans@gmail.com>
6257
6258         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync),
6259         (gst_base_src_get_range), (gst_base_src_change_state):
6260         Call unlock for live sources so that they can't get stuck in _create and
6261         produce a buffer before they are set back to PLAYING.
6262
6263 2007-10-02  Edward Hervey  <bilboed@bilboed.com>
6264
6265         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6266         (gst_queue_locked_dequeue):
6267         Comment the segment-related code... in the PROPER function.
6268         See #482147 and my commit from yesterday.
6269
6270 2007-10-01  Wim Taymans  <wim.taymans@gmail.com>
6271
6272         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
6273         Also initialize the counter that calculates the first timestamp on a
6274         buffer correctly for non-live sources.
6275
6276 2007-10-01  Edward Hervey  <bilboed@bilboed.com>
6277
6278         * plugins/elements/gstqueue.c: (gst_queue_locked_dequeue):
6279         Disable code that's breaking the current-time-level reporting.
6280         See #482147
6281
6282 2007-09-30  Sebastian Dröge  <slomo@circular-chaos.org>
6283
6284         * docs/gst/gstreamer-sections.txt:
6285         Add M_PI and IMPORT_SYMBOL to the private part of the GstInfo section
6286         as they shouldn't show up. Fixes the docs build.
6287
6288 2007-09-29  Sebastien Moutte  <sebastien@moutte.net>
6289         
6290         * gst/gstinfo.h:
6291         Add an explicit variable importation needed on VS6 (only for MSC_VER)
6292         Define M_PI which is used in files which are including gstinfo.h. 
6293         VS6 includes doesn't define it.
6294         * win32/common/libgstbase.def:
6295         * win32/common/libgstcontroller.def:
6296         * win32/common/libgstreamer.def:
6297         Add new exported functions and variables.
6298         * win32/vs6/libgstcontroller.dsp:
6299         * win32/vs6/libgstreamer.dsp:
6300         Update the list of files to build.
6301         
6302 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6303
6304         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6305
6306         * plugins/elements/gstqueue.c: (update_time_level), (apply_buffer),
6307         (gst_queue_locked_dequeue), (gst_queue_handle_sink_event),
6308         (gst_queue_chain), (gst_queue_loop), (gst_queue_src_activate_push):
6309         Improve debugging. Fixes #480858.
6310
6311 2007-09-28  Wim Taymans  <wim.taymans@gmail.com>
6312
6313         Patch by: Felipe Contreras <felipe dot contreras at gmail dot com>
6314
6315         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
6316         First patch of code cleanups, use the macros and right arguments in the
6317         macros to signal and lock the queue. See #480858.
6318
6319 2007-09-26  Wim Taymans  <wim.taymans@gmail.com>
6320
6321         * gst/gstbus.c: (poll_func):
6322         Improve debugging when dealing with _poll().
6323
6324 2007-09-26  Tim-Philipp Müller  <tim at centricular dot net>
6325
6326         * gst/gstregistryxml.c:
6327           Fix memory leak I introduced a few days ago.
6328
6329 2007-09-26  Michael Smith <msmith@fluendo.com>
6330
6331         * gst/gstbuffer.c: (gst_buffer_finalize):
6332           Make it once again possible to free GstBuffers in the default
6333           build.
6334           The poisoning scribbles on parts of the miniobject we need in
6335           order to free it.
6336           Fixes #480341
6337
6338 2007-09-25  Tim-Philipp Müller  <tim at centricular dot net>
6339
6340         * docs/gst/gstreamer-sections.txt:
6341         * gst/gsttaglist.c:
6342         * gst/gsttaglist.h:
6343         API: add GST_TAG_COMPOSER, fixes #459809.
6344
6345 2007-09-24  Sebastian Dröge  <slomo@circular-chaos.org>
6346
6347         * gst/gstplugin.c:
6348         * gst/gstplugin.h:
6349         Add the 3-clause BSD license and the MIT/X11 license to the license
6350         list. Fixes #479784.
6351
6352 2007-09-24  Tim-Philipp Müller  <tim at centricular dot net>
6353
6354         * docs/faq/getting.xml:
6355           Add Q+A about different GStreamer versions (#364056).
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_change_state):
6361         Return correct gboolean from query function.
6362
6363 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6364
6365         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
6366         (gst_base_sink_event), (gst_base_sink_query),
6367         (gst_base_sink_change_state):
6368         Simplify latency query.
6369         When not synchronizing, we can report latency without querying the peer
6370         element.
6371
6372 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6373
6374         * gst/gstobject.h:
6375         * gst/gstvalue.c:
6376         Fix small typos in the docs.
6377
6378 2007-09-24  Wim Taymans  <wim.taymans@gmail.com>
6379
6380         * docs/design/draft-latency.txt:
6381         * docs/design/draft-push-pull.txt:
6382         * docs/design/draft-tagreading.txt:
6383         * docs/design/part-MT-refcounting.txt:
6384         * docs/design/part-activation.txt:
6385         * docs/design/part-block.txt:
6386         * docs/design/part-element-source.txt:
6387         * docs/design/part-events.txt:
6388         * docs/design/part-gstbin.txt:
6389         * docs/design/part-gstelement.txt:
6390         * docs/design/part-gstobject.txt:
6391         * docs/design/part-gstpipeline.txt:
6392         * docs/design/part-messages.txt:
6393         * docs/design/part-preroll.txt:
6394         * docs/design/part-push-pull.txt:
6395         * docs/design/part-qos.txt:
6396         * docs/design/part-query.txt:
6397         * docs/design/part-scheduling.txt:
6398         * docs/design/part-seeking.txt:
6399         * docs/design/part-segments.txt:
6400         * docs/design/part-states.txt:
6401         Documentation updates and typo fixes.
6402
6403 2007-09-23  Tim-Philipp Müller  <tim at centricular dot net>
6404
6405         * plugins/elements/gstfakesink.c:
6406           Add some debug text to error message to indicate that
6407           we errored out on request.
6408
6409         * tools/gst-launch.c:
6410           When the state change to PLAYING fails, check for an
6411           error message on the bus and print it.
6412
6413 2007-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6414
6415         translated by: Jorge González González <aloriel@gmail.com>
6416
6417         * po/LINGUAS:
6418         * po/es.po:
6419           Added Spanish translation.
6420
6421 2007-09-21  Wim Taymans  <wim.taymans@gmail.com>
6422
6423         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6424         Fix printf arguments.
6425
6426 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6427
6428         * tests/check/generic/states.c:
6429           Improved state change unit test.
6430
6431 2007-09-20  Stefan Kost  <ensonic@users.sf.net>
6432
6433         * gst/gstbin.h:
6434           Move priv to the right place.
6435
6436         * gst/gstsystemclock.c:
6437           Add FIXME: and improve log.
6438
6439         * tests/check/Makefile.am:
6440         * tests/examples/manual/Makefile.am:
6441           Work with all types of registries.
6442
6443 2007-09-19  Wim Taymans  <wim.taymans@gmail.com>
6444
6445         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6446         Don't unref the event after pushing it. Fixes #478401.
6447
6448 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6449
6450         * .cvsignore:
6451         * tests/examples/manual/.cvsignore:
6452           Ignore registries in any format.
6453
6454 2007-09-19  Tim-Philipp Müller  <tim at centricular dot net>
6455
6456         * gst/glib-compat-private.h:
6457           Add compatibility macro for g_intern_string() for
6458           GLib-2.8 (any reason we can't just bump the
6459           requirement to at least 2.10?)
6460
6461         * gst/gstpadtemplate.h:
6462         * gst/gstelementfactory.c:
6463         * gst/gstregistryxml.c:
6464         * gst/gstregistrybinary.c:
6465           Make GstStaticPadTemplate's templ_name field a const gchar * and fix
6466           up the internal code accordingly.  This shouldn't be a problem, since
6467           there is no reason external code could ever assume the string in such
6468           a structure is dynamically allocated unless it did that itself;  the
6469           use of g_strdup() is private to element factories.  The new code also
6470           saves some memory by putting pad template name strings into the GLib
6471           quark table instead of allocating them dynamically.
6472           Declaring this field constant fixes warnings with g++-4.2 when using
6473           the GST_STATIC_PAD_TEMPLATE macro in c++ code (#478092).
6474
6475 2007-09-19  Stefan Kost  <ensonic@users.sf.net>
6476
6477         * gst/gstelementfactory.c:
6478           Release static caps. Fixes #475723.
6479
6480 2007-09-18  Tim-Philipp Müller  <tim at centricular dot net>
6481
6482         * gst/gstinfo.c:
6483         * gst/gstinfo.h:
6484           Make some internal API take const gchar * instead of just
6485           gchar * to avoid compiler warnings with g++-4.2.2 when
6486           passing string constants (partially fixes #478092).
6487
6488 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6489
6490         * gst/gstbin.c: (bin_query_latency_fold), (gst_bin_query):
6491         A latency query fails when one of the sinks fail.
6492
6493         * gst/gstelement.c: (gst_element_set_base_time):
6494         Improve debugging.
6495
6496 2007-09-17  Jan Schmidt - Sun Microsystems <jan.schmidt@sun.com>
6497
6498         * gst/gstbin.c: (gst_bin_continue_func):
6499         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6500         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad_full):
6501         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_loop):
6502
6503         Fix minor compilation warnings shown with Forte.
6504
6505 2007-09-17  Wim Taymans  <wim.taymans@gmail.com>
6506
6507         * plugins/elements/gstqueue.c: (apply_buffer),
6508         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue):
6509         Measure queue level based on the diff between head and tail timestamps
6510         even when pushing the first buffer.
6511
6512 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6513
6514         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6515         (gst_base_sink_event), (gst_base_sink_change_state):
6516         Sinks that don't preroll can always be queried for the latency.
6517         Don't post ASYNC start when we are not async.
6518
6519 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6520
6521         * plugins/elements/gstqueue.c: (gst_queue_locked_enqueue),
6522         (gst_queue_handle_sink_event), (gst_queue_chain),
6523         (gst_queue_push_one), (gst_queue_handle_src_query),
6524         (gst_queue_sink_activate_push), (gst_queue_src_activate_push):
6525         * plugins/elements/gstqueue.h:
6526         When downstream returns UNEXPECTED from pushing a buffer, don't try to
6527         push more buffers but allow pushing of EOS and NEWSEGMENT.
6528         Add some more debug info here and there. Fixes #476514.
6529
6530 2007-09-14  Wim Taymans  <wim.taymans@gmail.com>
6531
6532         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
6533         (gst_base_sink_preroll_queue_flush), (gst_base_sink_commit_state),
6534         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6535         (gst_base_sink_set_flushing), (gst_base_sink_query),
6536         (gst_base_sink_change_state):
6537         Latency query is allowed after we are prerolled. Introduce a new flag
6538         for this and stop abusing other variables.
6539
6540 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6541
6542         * libs/gst/base/gstbasesrc.c: (gst_base_src_send_event):
6543         Push OOB events downstream when we get them in send_event. This allows
6544         the application to insert events in the pipeline.
6545         Add some more comments.
6546
6547 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6548
6549         * gst/gstbin.c: (gst_bin_class_init), (clear_queue),
6550         (do_bin_latency), (gst_bin_change_state_func):
6551         * gst/gstpipeline.c: (gst_pipeline_change_state):
6552         Move latency query from GstPipeline to GstBin so that we can also
6553         use it when async-handling is enabled on bins.
6554
6555 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6556
6557         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6558         (gst_base_src_do_sync), (gst_base_src_change_state):
6559         Update docs.
6560         Clean up the timestamping and syncing code for pseudo live sources.
6561
6562 2007-09-13  Tim-Philipp Müller  <tim at centricular dot net>
6563
6564         Patch by: Steve Fink  <sphink gmail com>
6565
6566         * docs/manual/appendix-checklist.xml:
6567           Mention less -R switch in the section about debug output (#474055).
6568
6569 2007-09-13  Wim Taymans  <wim.taymans@gmail.com>
6570
6571         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
6572         Queue can latency to the pipeline up to the configured max size in time.
6573         Report this fact in the latency query.
6574
6575 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6576
6577         Patch by: Sebastien Moutte <sebastien at moutte dot net>
6578
6579         * libs/gst/controller/gstinterpolation.c:
6580         * libs/gst/controller/gstlfocontrolsource.c:
6581         Use gst_guint64_to_gdouble() when converting from a uint64 or
6582         GstClockTime to double to fix the build on win32. Fixes #474371.
6583
6584 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6585
6586         * gst/gstbuffer.c: (gst_buffer_finalize):
6587         Implement poisoning for GstBuffer if --enable-poisoning is specified.
6588         When finalizing a buffer the complete struct is filled with 0xff,
6589         thus making a use of the buffer after the final unref impossible.
6590
6591 2007-09-13  Sebastian Dröge  <slomo@circular-chaos.org>
6592
6593         * tests/check/libs/controller.c: (GST_START_TEST):
6594         Use fail_unless_equals_int(a, b) instead of
6595         fail_unless_equals (a == b) to get better output on failures.
6596
6597 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
6598
6599         * tests/check/gst/gsturi.c:
6600           Also check for the other file URI variant on win32.
6601
6602 2007-09-12  Tim-Philipp Müller  <tim at centricular dot net>
6603
6604         * gst/gsturi.c: (gst_uri_get_location):
6605           If there's no hostname, we want to return 'c:/foo/bar.txt'
6606           and not '/c:/foo/bar.txt' on Windows. Fixes #469402.
6607
6608         * tests/check/gst/gsturi.c:
6609           Unit test for the above and a few more things.
6610
6611 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
6612
6613         * docs/design/part-live-source.txt:
6614         Add docs on how live sources should timestamp.
6615
6616         * libs/gst/base/gstbasesrc.c: (gst_base_src_do_sync):
6617         Add some more debug info.
6618         For subclasses that are live and like to sync, add aditional startup
6619         latency to sync time and timestamps so that we timstamp according to the
6620         design doc.
6621
6622 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
6623
6624         * gst/gstbuffer.c:
6625           Also do a g_type_class_ref() for the subbuffer type in
6626           the init function.
6627
6628 2007-09-11  Wim Taymans  <wim.taymans@gmail.com>
6629
6630         * docs/gst/gstreamer-sections.txt:
6631         * gst/gstpad.c: (gst_pad_peer_query):
6632         * gst/gstpad.h:
6633         Add function to perform a query on the peer of a pad.
6634         API: gst_pad_peer_query()
6635
6636 2007-09-11  Stefan Kost  <ensonic@users.sf.net>
6637
6638         * tests/check/gst/gstsystemclock.c:
6639           Cleanup the test a little (use gst-logging and not g_message). Improve
6640           test to check if a wait reached the target.
6641
6642 2007-09-11  Tim-Philipp Müller  <tim at centricular dot net>
6643
6644         * docs/libs/gstreamer-libs-sections.txt:
6645           Add new API to docs and fix the build.
6646
6647 2007-09-10  Wim Taymans  <wim.taymans@gmail.com>
6648
6649         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6650         (gst_base_src_init), (gst_base_src_set_do_timestamp),
6651         (gst_base_src_get_do_timestamp), (gst_base_src_set_property),
6652         (gst_base_src_get_property), (gst_base_src_do_sync):
6653         * libs/gst/base/gstbasesrc.h:
6654         Add property to make the basesrc timestamp buffers based on the current
6655         running time.
6656         API: GstBaseSrc::do-timestamp
6657         API: gst_base_src_set_do_timestamp()
6658         API: gst_base_src_get_do_timestamp()
6659
6660 2007-09-08  Tim-Philipp Müller  <tim at centricular dot net>
6661
6662         * docs/random/release:
6663           Really make sure translations are up-to-date before
6664           a release (#465010).
6665
6666 2007-09-07  Sebastian Dröge  <slomo@circular-chaos.org>
6667
6668         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
6669         Always destroy the timer, also in error cases.
6670
6671 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
6672
6673         * docs/manual/highlevel-xml.xml:
6674         Fix XML example code. Fixes #472714.
6675
6676 2007-09-05  Wim Taymans  <wim.taymans@gmail.com>
6677
6678         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
6679         (gst_base_sink_wait_preroll), (gst_base_sink_needs_preroll),
6680         (gst_base_sink_query):
6681         Protect eos and have_preroll with the OBJECT lock so we don't need to
6682         take the PREROLL lock when querying the latency. Fixes #473846.
6683
6684 2007-09-05  Stefan Kost  <ensonic@users.sf.net>
6685
6686         * gst/gstelement.c:
6687           Give some log-messages a category.
6688
6689 2007-09-04  Wim Taymans  <wim.taymans@gmail.com>
6690
6691         * gst/gststructure.c:
6692         (gst_structure_fixate_field_nearest_fraction):
6693         Fix fraction list fixation code. Take the fraction with the smallest
6694         difference with the target instead of the first one in the list.
6695
6696         * tests/check/gst/gststructure.c: (GST_START_TEST),
6697         (gst_structure_suite):
6698         Added test to verify correct fraction list fixation behaviour.
6699
6700 2007-09-02  Tim-Philipp Müller  <tim at centricular dot net>
6701
6702         * win32/common/libgstreamer.def:
6703           Export gst_bus_add_signal_watch too.
6704
6705 2007-08-30  Wim Taymans  <wim.taymans@gmail.com>
6706
6707         * docs/libs/gstreamer-libs-sections.txt:
6708         Add new methods to docs.
6709
6710         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6711         (gst_base_sink_init), (gst_base_sink_set_ts_offset),
6712         (gst_base_sink_get_ts_offset), (gst_base_sink_set_property),
6713         (gst_base_sink_get_property), (gst_base_sink_wait_clock):
6714         * libs/gst/base/gstbasesink.h:
6715         Add ts-offset property to fine-tune the synchronisation.
6716         API: GstBaseSink::ts-offset property
6717         API: gst_base_sink_set_ts_offset()
6718         API: gst_base_sink_get_ts_offset()
6719
6720 2007-08-29  Wim Taymans  <wim.taymans@gmail.com>
6721
6722         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
6723         (gst_base_sink_init), (gst_base_sink_set_sync),
6724         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
6725         (gst_base_sink_get_max_lateness), (gst_base_sink_set_qos_enabled),
6726         (gst_base_sink_is_qos_enabled), (gst_base_sink_set_async_enabled),
6727         (gst_base_sink_is_async_enabled), (gst_base_sink_set_property),
6728         (gst_base_sink_get_property), (gst_base_sink_change_state):
6729         * libs/gst/base/gstbasesink.h:
6730         Add async property to instruct the sink never to inform the parent about
6731         ASYNC state changes, update docs.
6732         Check argument with g_return_* for the public functions.
6733         API: GstBaseSink::async property
6734         API: gst_base_sink_set_async_enabled()
6735         API: gst_base_sink_is_async_enabled()
6736
6737 2007-08-28  Wim Taymans  <wim.taymans@gmail.com>
6738
6739         * libs/gst/base/gstbasesink.c: (gst_base_sink_loop):
6740         Improve debugging.
6741
6742         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
6743         (gst_base_src_default_query), (gst_base_src_wait),
6744         (gst_base_src_do_sync), (gst_base_src_change_state):
6745         Rearrange some code so that we can add support for measuring the 
6746         startup latency.
6747
6748 2007-08-27  Stefan Kost  <ensonic@users.sf.net>
6749
6750         * docs/random/ensonic/dynlink.txt:
6751           More thoughs on this.
6752
6753         * plugins/elements/gstcapsfilter.c:
6754           Add bugzilla ticket number to FIXME comment.
6755
6756 2007-08-24  Wim Taymans  <wim.taymans@gmail.com>
6757
6758         * docs/design/part-TODO.txt:
6759         * docs/design/part-block.txt:
6760         Update some docs.
6761
6762 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6763
6764         * gst/Makefile.am:
6765           Revert patch which uses $(gst_headers) instead of $^ because it
6766           breaks make dist.
6767
6768 2007-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
6769
6770         * tests/check/gst/gstbin.c: (GST_START_TEST):
6771           Fix leaks in the new unit test.
6772
6773 2007-08-23  Tim-Philipp Müller  <tim at centricular dot net>
6774
6775         * gst/gst.c:
6776           Don't use GST_INFO before the debug system is actually initialised
6777           (shouldn't do any harm, but won't print anything either, so we can
6778           just as well remove it).
6779
6780         * gst/gstinfo.h:
6781           GST_CAT_LEVEL_LOG_valist(), which is our inline helper function for
6782           compilers that don't support variadic macros (such as MSVC), should
6783           check for debug_level <= __gst_debug_min as well, since that's the
6784           function called from all the level-specific GST_CAT_*_LOG_OBJECT()
6785           inline helper functions. Should improve performance a bit, but also
6786           makes sure uses of GST_INFO et.al are ignored if the debugging
6787           system isn't initialised yet (instead of printing an assertion
6788           failure).
6789
6790 2007-08-23  Stefan Kost  <ensonic@users.sf.net>
6791
6792         patch by: David Nečas <yeti@physics.muni.cz>
6793
6794         * gst/Makefile.am:
6795           Replace some non portable makefile constructs.
6796
6797 2007-08-21  Stefan Kost  <ensonic@users.sf.net>
6798
6799         * common/gtk-doc-plugins.mak:
6800           Grrrrr. Don't remove the types file on make clean.
6801
6802 2007-08-20  Wim Taymans  <wim.taymans@gmail.com>
6803
6804         * tools/gst-launch.1.in:
6805         Add colorspace to example pipeline. Fixes #458274.
6806
6807 2007-08-20  Tim-Philipp Müller  <tim at centricular dot net>
6808
6809         * docs/random/release:
6810           The release manager should run 'make download-po' before making a
6811           release to make sure translations are up-to-date.
6812
6813         * po/LINGUAS:
6814         * po/be.po:
6815         * po/pl.po:
6816         * po/rw.po:
6817           Add some new translations.
6818
6819 2007-08-17  Wim Taymans  <wim.taymans@gmail.com>
6820
6821         * tools/gst-launch.c: (event_loop), (main):
6822         Don´t try to do any state management when a live pipeline posts
6823         buffering messages.
6824         Also make the buffering string translatable.
6825
6826 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
6827
6828         * gst/gstbin.c: (is_eos), (gst_bin_add_func),
6829         (bin_handle_async_start), (gst_bin_handle_message_func):
6830         Improve debugging.
6831         When adding elements, insert messages into the bus of the newly added
6832         element and make sure the element is the source of the message. This
6833         allows the parent bin to intercept the message and do the
6834         right thing. It also avoids us posting ASYNC_START and CLOCK_PROVIDE
6835         messages to the app (which is not allowed).
6836         Update some docs.
6837
6838         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6839         Fix testsuite so that is does not work around messages that should not
6840         have been posted in the first place.
6841
6842 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
6843
6844         * gst/gstbin.c: (add_to_queue), (remove_from_queue), (clear_queue),
6845         (update_degree), (gst_bin_sort_iterator_next):
6846         Fix annoying bug in the sorted iterator where a sink that is not really
6847         a sink (when it has downstream links) screwed up the iterator.
6848
6849         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
6850         Unit test to verify the fix.
6851
6852 2007-08-16  Wim Taymans  <wim.taymans@gmail.com>
6853
6854         * gst/gstmessage.h:
6855         Add some more docs for the messages.
6856
6857         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
6858         (gst_base_sink_query):
6859         Add some more debugging.
6860
6861         * tools/gst-launch.c: (event_loop):
6862         When interrupting, don't try to set pipeline to PAUSED twice.
6863
6864 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
6865
6866         
6867         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_element_set_state),
6868         (bin_handle_async_start), (gst_bin_handle_message_func):
6869         Move ASYNC_START message posting to where it belongs, similar to
6870         async_done. 
6871         Don't post ASYNC_START when we are in error. 
6872         Post ASYNC_START when we added an async element to a bin.
6873
6874 2007-08-14  Julien MOUTTE  <julien@moutte.net>
6875
6876         * gst/gstindex.c: (gst_index_add_association): Fix index entry
6877         generation from vargs. Fixes #466595.
6878
6879 2007-08-14  Wim Taymans  <wim.taymans@gmail.com>
6880
6881         * gst/gstbin.c: (gst_bin_element_set_state):
6882         Always change the state of a NO_PREROLL element even if it has ASYNC
6883         elements inside (in case of a bin).
6884
6885         * tests/check/generic/sinks.c: (GST_START_TEST), (gst_sinks_suite):
6886         Unit test for this case.
6887
6888 2007-08-13  Stefan Kost  <ensonic@users.sf.net>
6889
6890         * libs/gst/check/gstbufferstraw.c:
6891         * libs/gst/check/gstcheck.h:
6892         * libs/gst/controller/gstcontroller.c:
6893         * libs/gst/controller/gstcontrolsource.h:
6894         * libs/gst/controller/gstlfocontrolsource.h:
6895         * plugins/elements/gstcapsfilter.h:
6896         * plugins/elements/gstfdsink.h:
6897         * plugins/elements/gstfdsrc.h:
6898           Add more missing docs.
6899
6900 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
6901
6902         * gst/gststructure.c:
6903         Add Since tag to docs.
6904
6905 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
6906
6907         * docs/gst/gstreamer-sections.txt:
6908         * gst/gststructure.c: (gst_structure_get_uint):
6909         * gst/gststructure.h:
6910         Add function to get uint from a structure.
6911         API: gst_structure_get_uint()
6912
6913 2007-08-12  Wim Taymans  <wim.taymans@gmail.com>
6914
6915         * gst/gstcaps.c: (gst_caps_set_simple_valist),
6916         (gst_caps_intersect):
6917         Fix proper check for simple caps.
6918
6919 2007-08-10  Stefan Kost  <ensonic@users.sf.net>
6920
6921         * docs/gst/Makefile.am:
6922         * docs/libs/Makefile.am:
6923           Remove cruft and do some cleanups.
6924
6925         * docs/gst/gstreamer-docs.sgml:
6926         * docs/libs/gstreamer-libs-docs.sgml:
6927           Prepare for comming gtkdoc features (rebase against online docs).
6928
6929 2007-08-10  Michael Smith <msmith@fluendo.com>
6930
6931         * docs/gst/gstreamer-sections.txt:
6932           Add gst_registry_add_path to docs.
6933
6934 2007-08-10  Michael Smith <msmith@fluendo.com>
6935
6936         * gst/gstregistry.h:
6937           Add gst_registry_add_path, which was missing from this header.
6938
6939 2007-08-10  Tim-Philipp Müller  <tim at centricular dot net>
6940
6941         * libs/gst/controller/gstlfocontrolsource.c:
6942           Printf format fix.
6943
6944 2007-08-09  Philippe Kalaf <philippe.kalaf@collabora.co.uk>
6945
6946         * libs/gst/base/gstbasesink.c:
6947           Don't send an async_start message during downwards state change if 
6948           target state is less than READY
6949
6950 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6951
6952         translated by: Gabor Kelemen <kelemeng@gnome.hu>
6953
6954         * po/LINGUAS:
6955         * po/hu.po:
6956           Added Hungarian translation.
6957
6958 2007-08-09  Thomas Vander Stichele  <thomas at apestaart dot org>
6959
6960         * po/fi.po:
6961         * po/it.po:
6962         * po/nl.po:
6963         * po/sv.po:
6964         * po/uk.po:
6965           Updated translations.
6966
6967 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
6968
6969         * libs/gst/controller/Makefile.am:
6970         Dist gstlfocontrolsourceprivate.h
6971
6972 2007-08-07  Jan Schmidt  <thaytan@mad.scientist.com>
6973
6974         * docs/libs/gstreamer-libs.types:
6975         Don't register the enum type gst_lfo_waveform_get_type() in the
6976         .types file - only GObject derived types belong.
6977
6978 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
6979
6980         Patch by: <arenevier at fdn dot fr>
6981
6982         * gst/gstbuffer.h:
6983         Remove comma from last element in enum to avoid compile errors when
6984         using -pendantic. Fixes #464366.
6985
6986 2007-08-07  Wim Taymans  <wim.taymans@gmail.com>
6987
6988         * docs/design/part-TODO.txt:
6989         Add some more TODO items
6990
6991         * gst/gstbin.c: (find_message), (gst_bin_change_state_func):
6992         Improve debugging.
6993
6994         * gst/gstcaps.c: (gst_caps_intersect):
6995         Optimize trivial intersection case between identical caps pointers.
6996
6997         * gst/gstelement.c: (gst_element_continue_state),
6998         (gst_element_set_state_func):
6999         * gst/gstpad.c:
7000         Fix spelling and grammar mistakes.
7001
7002 2007-08-05  Stefan Kost  <ensonic@users.sf.net>
7003
7004         * po/POTFILES.in:
7005         * po/POTFILES.skip:
7006           Update POTFILES. Fixes #461599.
7007
7008 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7009
7010         * gst/gst.c:
7011         Fix confusing typo in debug output.
7012
7013 2007-08-03  Sebastian Dröge  <slomo@circular-chaos.org>
7014
7015         reviewed by: Stefan Kost <ensonic@users.sf.net>
7016
7017         * libs/gst/controller/Makefile.am:
7018         * libs/gst/controller/gstlfocontrolsource.c: (_calculate_pos),
7019         (gst_lfo_waveform_get_type), (gst_lfo_control_source_reset),
7020         (gst_lfo_control_source_new),
7021         (gst_lfo_control_source_set_waveform),
7022         (gst_lfo_control_source_bind), (gst_lfo_control_source_init),
7023         (gst_lfo_control_source_finalize),
7024         (gst_lfo_control_source_dispose),
7025         (gst_lfo_control_source_set_property),
7026         (gst_lfo_control_source_get_property),
7027         (gst_lfo_control_source_class_init):
7028         * libs/gst/controller/gstlfocontrolsource.h:
7029         * libs/gst/controller/gstlfocontrolsourceprivate.h:
7030         API: Add GstLFOControlSource, a control source that gives values
7031         for specific timestamps based on several periodic waveforms.
7032         Fixes #459717.
7033
7034         * tests/check/libs/controller.c: (GST_START_TEST),
7035         (gst_controller_suite):
7036         * docs/libs/gstreamer-libs-docs.sgml:
7037         * docs/libs/gstreamer-libs-sections.txt:
7038         * docs/libs/gstreamer-libs.types:
7039         Add documentation and unit tests for GstLFOControlSource.
7040
7041 2007-08-03  Jan Schmidt  <thaytan@mad.scientist.com>
7042
7043         * configure.ac:
7044         Back to CVS
7045
7046 === release 0.10.14 ===
7047
7048 2007-08-03  Jan Schmidt <thaytan@mad.scientist.com>
7049
7050         * configure.ac:
7051           releasing 0.10.14, "Breathing Vacuum"
7052
7053 2007-08-02  Tim-Philipp Müller  <tim at centricular dot net>
7054
7055         * gst/gstelement.c: (gst_element_class_set_details_simple):
7056         * gst/gstelement.h:
7057           Make strings passed to gst_element_class_set_details_simple()
7058           constant, as they should be (#462752).
7059
7060 2007-08-02  Wim Taymans  <wim.taymans@gmail.com>
7061
7062         * gst/gstbin.c: (gst_bin_change_state_func),
7063         (bin_handle_async_done), (gst_bin_handle_message_func):
7064         Don't forget about the fact that some element went ASYNC even after a
7065         resync. This makes us post the ASYNC_DONE message correctly.
7066         Fixes #462558.
7067
7068 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7069
7070         * gst/gstregistry.c: (gst_registry_add_feature):
7071         When replacing an existing feature in the registry, make sure to
7072         continue holding a reference until we've replaced the name string
7073         within our feature hash table. Make sure to use g_hash_table_replace
7074         instead of g_hash_table_insert to ensure the new name string is used
7075         as a key instead of the old one that we're about to free.
7076         Fixes: #462085
7077
7078 2007-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
7079
7080         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7081         (gst_plugin_feature_set_name):
7082         Revert patch from #459466 until after the release and we can work
7083         out exactly what the problem is (if any).
7084
7085 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7086
7087         * docs/gst/gstreamer-sections.txt:
7088         * gst/gsttaglist.c:
7089         * gst/gsttaglist.h:
7090           API: add GST_TAG_LICENSE_URI and GST_TAG_COPYRIGHT_URI (#451939).
7091
7092 2007-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
7093
7094         * docs/libs/Makefile.am:
7095         Include our build-prefix libs and includes before the generic ones to
7096         avoid linking against the installed libs when we want the build-tree
7097         ones.
7098
7099 2007-07-26  Tim-Philipp Müller  <tim at centricular dot net>
7100
7101         Patch by: Steve Fink  <sphink gmail com>
7102
7103         * docs/pwg/building-testapp.xml:
7104           Mention that GST_PLUGIN_PATH or --gst-plugin-path might be needed
7105           if people try to build or install the example from the plugin
7106           template against a GStreamer from package using the configure
7107           defaults.
7108
7109 2007-07-25  Tim-Philipp Müller  <tim at centricular dot net>
7110
7111         Patch by: Steve Fink  <sphink gmail com>
7112
7113         * tools/gst-inspect.1.in:
7114           Document --print-all and --print-plugin-auto-install-info command
7115           line options in man page.
7116
7117 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7118
7119         * docs/gst/gstreamer-sections.txt:
7120         Add docs for new api function.
7121
7122 2007-07-25  Wim Taymans  <wim.taymans@gmail.com>
7123
7124         * gst/gstelementfactory.c: (gst_element_factory_has_interface):
7125         * gst/gstelementfactory.h:
7126         API: gst_element_factory_has_interface()
7127         Added method to check if an element factory implements a named
7128         interface.
7129
7130 2007-07-25  Stefan Kost  <ensonic@users.sf.net>
7131
7132         * configure.ac:
7133         * docs/gst/gstreamer.types.in:
7134           Another conditional doc check.
7135
7136         * gst/gstmessage.c:
7137         * gst/gstparamspecs.h:
7138         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
7139         * gst/gstvalue.c:
7140         * gst/gstxml.h:
7141           API-doc fixes.
7142
7143 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7144
7145         * gst/gstregistrybinary.c: (gst_registry_binary_check_magic),
7146         (gst_registry_binary_load_feature),
7147         (gst_registry_binary_load_plugin),
7148         (gst_registry_binary_read_cache):
7149           Print error just once and with additional info.
7150
7151 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7152
7153         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
7154         (helper_find_suggest), (helper_find_get_length),
7155         (gst_type_find_helper_get_range), (buf_helper_find_suggest),
7156         (gst_type_find_helper_for_buffer):
7157           Cleanup the typefindhelper code and add private doc comments.
7158
7159 2007-07-24  Edward Hervey  <bilboed@bilboed.com>
7160
7161         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7162         (gst_capsfilter_transform_size), (gst_capsfilter_prepare_buf):
7163         Fix capsfilter for cases where the caps set on capsfilter will provide
7164         additional information.
7165         Fixes #449197
7166
7167 2007-07-24  Stefan Kost  <ensonic@users.sf.net>
7168
7169         * gst/gsttypefindfactory.c:
7170           Fix docs that recommened wrong function to use.
7171
7172 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7173
7174         * tools/gst-inspect.c: (print_plugin_features):
7175           Also give media-type for typefinders in element output.
7176
7177 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7178
7179         * gst/gstregistry.c: (gst_registry_init), (gst_registry_finalize),
7180         (gst_registry_remove_features_for_plugin_unlocked),
7181         (gst_registry_add_feature), (gst_registry_remove_feature),
7182         (gst_registry_lookup_feature_locked):
7183         * gst/gstregistry.h:
7184           Speed up gst_registry_lookup_feature_locked() by using a hashmap.
7185           Fixes #459501.
7186
7187 2007-07-23  Stefan Kost  <ensonic@users.sf.net>
7188
7189         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
7190         (gst_plugin_feature_set_name):
7191           Avoid double memory usage for pluginfeature names. Fixes #459466.
7192
7193 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7194
7195         * gst/gstpad.h:
7196           Small addition to GST_FLOW_IS_FATAL() docs: mention that elements
7197           driving the pipeline may need to explicitly check for NOT_LINKED as
7198           well, since IS_FATAL doesn't cover that.
7199
7200 2007-07-22  Tim-Philipp Müller  <tim at centricular dot net>
7201
7202         * docs/pwg/advanced-types.xml:
7203           Fix typo and duplicate entry in video formats list.
7204
7205 2007-07-22  Sebastian Dröge  <slomo@circular-chaos.org>
7206
7207         * libs/gst/controller/gstinterpolation.c:
7208         Also round to the nearest int when using cubic interpolation.
7209
7210 2007-07-19  Jan Schmidt  <thaytan@noraisin.net>
7211
7212         * libs/gst/controller/gstinterpolation.c:
7213         When linearly interpolating integer types, round to the nearest int
7214         by adding 0.5. Don't do it for float/double types.
7215         Fixes the failing controller test on my machine, which is somehow
7216         rounding differently than on the buildbots.
7217
7218 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7219
7220         * tools/gst-plot-timeline.py:
7221           Better log parsing (categories can have -). Adjust text vs. lines, so
7222           that they span the same y-range.        
7223
7224 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7225
7226         * docs/random/ensonic/audiobaseclasses.txt:
7227         * docs/random/ensonic/dynlink.txt:
7228         * docs/random/ensonic/profiling.txt:
7229           Save my thoughts.
7230
7231         * docs/random/moving-plugins:
7232           Add note to use g_assert type macros.
7233
7234 2007-07-20  Stefan Kost  <ensonic@users.sf.net>
7235
7236         * configure.ac:
7237         * libs/gst/check/Makefile.am:
7238           Add libm check as we use in for plugins.
7239
7240 2007-07-18  Jan Schmidt  <thaytan@noraisin.net>
7241
7242         * gst/gstbin.c: (gst_bin_continue_func):
7243         Check that the state_cookie hasn't changed since the continue_func
7244         was scheduled. Avoids problems where the state changes back to
7245         something it shouldn't be because it was changed in the meantime.
7246
7247 2007-07-17  Stefan Kost  <ensonic@users.sf.net>
7248
7249         * gst/gstregistrybinary.c: (gst_registry_binary_save_const_string),
7250         (gst_registry_binary_save_string),
7251         (gst_registry_binary_save_pad_template),
7252         (gst_registry_binary_save_feature),
7253         (gst_registry_binary_save_plugin),
7254         (gst_registry_binary_load_feature),
7255         (gst_registry_binary_load_plugin),
7256         (gst_registry_binary_read_cache):
7257           Fix memory leak. Be less verbose in the log.
7258
7259 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7260
7261         * tests/check/elements/.cvsignore:
7262         Add file to cvsignore as commanded.
7263
7264 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7265
7266         * tests/check/elements/multiqueue.c: (mq_dummypad_chain),
7267         (mq_dummypad_event), (run_output_order_test):
7268         Use a GStaticMutex to protect all cases where libcheck
7269         fail_if/fail_unless macros might be called from multiple threads
7270         simultaneously to avoid errors like:
7271           "check_pack.c:107: :-1081725400:Bad message type arg"
7272
7273 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7274
7275         * tests/check/pipelines/stress.c: (GST_START_TEST):
7276         Make sure we set the pipeline back to the NULL state before
7277         dropping our final reference.
7278
7279 2007-07-16  Jan Schmidt  <thaytan@mad.scientist.com>
7280
7281         * tests/check/elements/tee.c: (GST_START_TEST):
7282         Make the tee stress-test a little less stressful so it doesn't just
7283         time out on slow-machines, and remove a small race when it's starting 
7284         up by adding a get_state() call.
7285
7286 2007-07-16  Stefan Kost  <ensonic@users.sf.net>
7287
7288         * gst/gst.c:
7289           Avoid reading registry twice on startup. Fixes #457322.
7290
7291 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7292
7293         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7294         * pkgconfig/gstreamer-check.pc.in:
7295         Substitute the CFLAGS for libcheck into our .pc file too so that
7296         dependent modules will pick it up properly if libcheck is installed
7297         into some other prefix.
7298
7299 2007-07-13  Jan Schmidt  <thaytan@mad.scientist.com>
7300
7301         * configure.ac:
7302         Revert the pkg-config check for libcheck, since it pulls in the
7303         wrong non-PIC libcheck.a on Ubuntu and probably Fedora too. We need
7304         a proper solution, either from the check project, or something else.
7305
7306 2007-07-12  Stefan Kost  <ensonic@users.sf.net>
7307
7308         * configure.ac:
7309           Use pkg-config to locate check.
7310
7311 2007-07-10  Stefan Kost  <ensonic@users.sf.net>
7312
7313         * gst/gsttaglist.c:
7314           Fix doc syntax.
7315
7316         * gst/gstutils.c:
7317         * gst/gstutils.h:
7318           Add deprecation guards.
7319
7320         * libs/gst/base/gstcollectpads.h:
7321           Don't document object (this is implicitly private).
7322
7323 2007-07-08  Tim-Philipp Müller  <tim at centricular dot net>
7324
7325         * gst/gststructure.c: (gst_structure_parse_value):
7326           When deserialising foo=bar without a type cast, check if it's a
7327           boolean before falling back to a string type, otherwise things like
7328           audiotestsrc ! audio/x-raw-int,signed=true ! fakesink won't work,
7329           because the filtercaps end up having a signed=(string)true field,
7330           which causes problems later when intersection caps.
7331
7332         * tests/check/gst/gststructure.c: (GST_START_TEST):
7333           Add a unit test for this.
7334
7335 2007-07-06  Sebastian Dröge  <slomo@circular-chaos.org>
7336
7337         Reviewed by: Stefan Kost <ensonic@users.sf.net>
7338
7339         * libs/gst/controller/Makefile.am:
7340         * libs/gst/controller/gstcontroller.c:
7341         (gst_controlled_property_add_interpolation_control_source),
7342         (gst_controlled_property_new), (gst_controlled_property_free),
7343         (gst_controller_find_controlled_property),
7344         (gst_controller_new_valist), (gst_controller_new_list),
7345         (gst_controller_new), (gst_controller_remove_properties_valist),
7346         (gst_controller_remove_properties_list),
7347         (gst_controller_remove_properties),
7348         (gst_controller_set_property_disabled),
7349         (gst_controller_set_disabled), (gst_controller_set_control_source),
7350         (gst_controller_get_control_source), (gst_controller_get),
7351         (gst_controller_sync_values), (gst_controller_get_value_array),
7352         (_gst_controller_dispose), (gst_controller_get_type),
7353         (gst_controlled_property_set_interpolation_mode),
7354         (gst_controller_set), (gst_controller_set_from_list),
7355         (gst_controller_unset), (gst_controller_unset_all),
7356         (gst_controller_get_all), (gst_controller_set_interpolation_mode):
7357         * libs/gst/controller/gstcontroller.h:
7358         * libs/gst/controller/gstcontrollerprivate.h:
7359         * libs/gst/controller/gstcontrolsource.c:
7360         (gst_control_source_class_init), (gst_control_source_init),
7361         (gst_control_source_get_value),
7362         (gst_control_source_get_value_array), (gst_control_source_bind):
7363         * libs/gst/controller/gstcontrolsource.h:
7364         * libs/gst/controller/gsthelper.c: (gst_object_set_control_source),
7365         (gst_object_get_control_source):
7366         * libs/gst/controller/gstinterpolation.c:
7367         (gst_interpolation_control_source_find_control_point_node),
7368         (gst_interpolation_control_source_get_first_value),
7369         (_interpolate_none_get), (interpolate_none_get),
7370         (interpolate_none_get_boolean_value_array),
7371         (interpolate_none_get_enum_value_array),
7372         (interpolate_none_get_string_value_array),
7373         (_interpolate_trigger_get), (interpolate_trigger_get),
7374         (interpolate_trigger_get_boolean_value_array),
7375         (interpolate_trigger_get_enum_value_array),
7376         (interpolate_trigger_get_string_value_array):
7377         * libs/gst/controller/gstinterpolationcontrolsource.c:
7378         (gst_control_point_free), (gst_interpolation_control_source_reset),
7379         (gst_interpolation_control_source_new),
7380         (gst_interpolation_control_source_set_interpolation_mode),
7381         (gst_interpolation_control_source_bind),
7382         (gst_control_point_compare), (gst_control_point_find),
7383         (gst_interpolation_control_source_set_internal),
7384         (gst_interpolation_control_source_set),
7385         (gst_interpolation_control_source_set_from_list),
7386         (gst_interpolation_control_source_unset),
7387         (gst_interpolation_control_source_unset_all),
7388         (gst_interpolation_control_source_get_all),
7389         (gst_interpolation_control_source_get_count),
7390         (gst_interpolation_control_source_init),
7391         (gst_interpolation_control_source_finalize),
7392         (gst_interpolation_control_source_dispose),
7393         (gst_interpolation_control_source_class_init):
7394         * libs/gst/controller/gstinterpolationcontrolsource.h:
7395         * libs/gst/controller/gstinterpolationcontrolsourceprivate.h:
7396         API: Refactor GstController into the core controller which can take
7397         a GstControlSource for providing actual values for timestamps.
7398         Implement a interpolation control source and use this for backward
7399         compatibility, deprecate a bunch of functions that are now handled
7400         by GstControlSource or GstInterpolationControlSource.
7401         Make it possible to disable the controller completely or only for
7402         specific properties. Fixes #450711.
7403         * docs/libs/gstreamer-libs-docs.sgml:
7404         * docs/libs/gstreamer-libs-sections.txt:
7405         * docs/libs/gstreamer-libs.types:
7406         Add new functions and classes to the docs.
7407         * tests/check/libs/controller.c: (GST_START_TEST),
7408         (gst_controller_suite):
7409         * tests/examples/controller/audio-example.c: (main):
7410         Port unit test and example to the new API and add some new
7411         unit tests.
7412
7413 2007-07-05  Wim Taymans  <wim.taymans@gmail.com>
7414
7415         Patch by: Mark Nauwelaerts <manauw at skynet be>
7416
7417         * plugins/elements/gstmultiqueue.c:
7418         (gst_multi_queue_get_internal_links), (apply_buffer),
7419         (single_queue_overrun_cb), (gst_single_queue_new):
7420         Implement non-default GstPadIntLinkFunction for multiqueue pads so that
7421         the pipeline layout can be tracked correctly. Fixes #453732.
7422
7423 2007-07-05  Stefan Kost  <ensonic@users.sf.net>
7424
7425         * docs/gst/Makefile.am:
7426         * docs/libs/Makefile.am:
7427         * docs/plugins/Makefile.am:
7428           Simplify --extra-dir as gtkdoc scans recursively.
7429
7430 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7431
7432         * tools/gst-launch.c: (main):
7433         When we got an error, there is no point in waiting for preroll when
7434         shutting down.
7435
7436 2007-07-03  Wim Taymans  <wim.taymans@gmail.com>
7437
7438         * plugins/elements/gsttee.c: (gst_tee_base_init),
7439         (gst_tee_request_new_pad), (gst_tee_release_pad),
7440         (gst_tee_find_buffer_alloc), (gst_tee_buffer_alloc),
7441         (gst_tee_do_push), (clear_pads), (gst_tee_handle_buffer),
7442         (gst_tee_chain):
7443         Be a lot smarter when deciding what srcpad to use for proxying
7444         the buffer_alloc. Also handle pad added/removed when doing so.
7445         Fixes #357959.
7446         Keep track of what pads we already pushed on in case we have pads
7447         added/removed while pushing. Fixes #374639 
7448
7449         * tests/check/Makefile.am:
7450         * tests/check/elements/tee.c: (handoff), (GST_START_TEST),
7451         (tee_suite):
7452         Added unit test for pad resync.
7453
7454 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7455
7456         * po/nl.po:
7457         * po/sv.po:
7458           Updated translations.
7459
7460 2007-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7461
7462         translation by: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>
7463
7464         * po/LINGUAS:
7465         * po/fi.po:
7466           Added new Finnish translation.
7467
7468 2007-06-28  Wim Taymans  <wim@fluendo.com>
7469
7470         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7471         (single_queue_overrun_cb):
7472         When figuring out when a queue is filled, use our internal time estimate
7473         based on segments, just like check_full does.
7474
7475 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7476
7477         * gst/gstminiobject.c: (gst_mini_object_get_type):
7478           Remove 3 do-nothing methods.
7479
7480 2007-06-27  Wim Taymans  <wim@fluendo.com>
7481
7482         Patch by: Tim Angus <tim at ngus dot net>
7483
7484         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
7485         (gst_capsfilter_set_property):
7486         Take a reference instead of a copy when setting "caps".
7487         Fix documentation to clarify this behaviour. Fixes #449414.
7488
7489 2007-06-27  Stefan Kost  <ensonic@users.sf.net>
7490
7491         * gst/gstindexfactory.c: (gst_index_factory_get_type):
7492         * gst/gstplugin.c: (gst_plugin_init):
7493         * gst/gstpluginfeature.c: (gst_plugin_feature_init):
7494         * gst/gstquery.c: (gst_query_get_type):
7495         * gst/gstregistry.c: (gst_registry_init):
7496         * gst/gsturi.c: (gst_uri_handler_base_init):
7497           Remove empty instance_init() functions to save relocs and lessen the
7498           noise. Remove some of the function prototypes that are doubled by
7499           G_DEFINE_TYPE.
7500           
7501 2007-06-27  Wim Taymans  <wim@fluendo.com>
7502
7503         Patch by: Étienne Noreau-Hébert <etienne at deepunder dot org>
7504
7505         * gst/gstghostpad.c: (gst_proxy_pad_save_thyself):
7506         Add peer and direction in the XML serialisation of ghostpads.
7507         Fixes #449226.
7508
7509 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7510
7511         * configure.ac:
7512           Preserve useful information, thanks Tim.
7513
7514 2007-06-26  Jan Schmidt  <thaytan@noraisin.net>
7515
7516         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7517         (gst_single_queue_flush), (apply_segment), (apply_buffer),
7518         (gst_single_queue_push_one), (gst_multi_queue_loop),
7519         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7520         (gst_multi_queue_src_activate_push), (wake_up_next_non_linked),
7521         (compute_high_id), (gst_single_queue_new):
7522         * plugins/elements/gstmultiqueue.h:
7523         Take the multiqueue lock when updating the fill level so we don't get
7524         confused. 
7525
7526         After applying a buffer or event on the src pad segment, make sure to
7527         call gst_data_queue_limits_changed() to get the data queue to unblock
7528         and check the filled state again.
7529         
7530         Rework the not-linked pad handling so the logic is that not-linked 
7531         pads can push as fast as they like, but only so they never get 
7532         ahead of any linked pads.
7533
7534         * tests/check/elements/multiqueue.c: (mq_sinkpad_to_srcpad),
7535         (mq_dummypad_getcaps), (mq_dummypad_chain), (mq_dummypad_event),
7536         (run_output_order_test), (GST_START_TEST), (multiqueue_suite):
7537
7538         Add a test to check that not-linked pads always stay behind
7539         linked pads.
7540
7541         Fixes: #430682
7542
7543 2007-06-26  Jan Schmidt  <thaytan@mad.scientist.com>
7544
7545         * docs/random/release:
7546           Some updates to the release procedure.
7547
7548 2007-06-26  Stefan Kost  <ensonic@users.sf.net>
7549
7550         * gst/gstelementfactory.c: (__gst_element_details_clear):
7551           Microoptimization that saves stunning 80 bytes.
7552
7553 2007-06-25  Stefan Kost  <ensonic@users.sf.net>
7554
7555         * docs/plugins/gstreamer-plugins.args:
7556         * docs/plugins/inspect/plugin-coreelements.xml:
7557         * docs/plugins/inspect/plugin-coreindexers.xml:
7558           Update docs with caps info.
7559
7560 2007-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7561
7562         * po/it.po:
7563           Updated Italian translation.
7564
7565 2007-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7566
7567         * ChangeLog:
7568         * po/vi.po:
7569           Update Vietnamese translations.
7570
7571 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7572
7573         * libs/gst/base/gstbasesink.c:
7574           Remove unused signal enum.
7575
7576 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
7577
7578         * docs/gst/gstreamer-sections.txt:
7579         * gst/gstelement.c:
7580         * gst/gstutils.c: (gst_type_register_static_full):
7581         Beef up and include the docs for gst_type_register_static_full and
7582         gst_element_class_set_details_simple and add the API keyword
7583         in the ChangeLog.
7584
7585 2007-06-21  Jan Schmidt  <thaytan@mad.scientist.com>
7586
7587         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_set_property),
7588         (update_time_level), (gst_single_queue_push_one),
7589         (gst_multi_queue_chain), (gst_multi_queue_sink_event),
7590         (single_queue_overrun_cb), (single_queue_underrun_cb),
7591         (single_queue_check_full):
7592         Fix setting max-* properties after adding queues.
7593         Use IS_FILLED for checking visible items.
7594         Signal overrun if multiple queues overrun.
7595         Add extra debug output.
7596         Patch by: Wim Taymans <wim@fluendo.com>
7597
7598 2007-06-21  Stefan Kost  <ensonic@users.sf.net>
7599
7600         * gst/gstelement.c: (gst_element_class_set_details_simple):
7601         * gst/gstelement.h:
7602         * gst/gstutils.c: (gst_type_register_static_full):
7603         * gst/gstutils.h:
7604         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_base_init):
7605         * plugins/elements/gstfakesink.c: (gst_fake_sink_base_init):
7606         * plugins/elements/gstfakesrc.c: (gst_fake_src_base_init):
7607         * plugins/elements/gstfdsink.c: (gst_fd_sink_base_init):
7608         * plugins/elements/gstfdsrc.c: (gst_fd_src_base_init):
7609         * plugins/elements/gstfilesink.c: (gst_file_sink_base_init):
7610         * plugins/elements/gstfilesrc.c: (gst_file_src_base_init):
7611         * plugins/elements/gstidentity.c: (gst_identity_base_init):
7612         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init):
7613         * plugins/elements/gstqueue.c: (gst_queue_base_init),
7614         (apply_buffer), (gst_queue_chain):
7615         * plugins/elements/gsttee.c: (gst_tee_base_init):
7616         * plugins/elements/gsttypefindelement.c:
7617         (gst_type_find_element_base_init),
7618         (gst_type_find_element_class_init):
7619           Saving relocations for GTypeInfo and GstElementDetails. Fixes #437457.
7620           API: add gst_type_register_static_full
7621           API: add gst_element_class_set_details_simple
7622
7623 2007-06-21  Tim-Philipp Müller  <tim at centricular dot net>
7624
7625         * docs/pwg/advanced-types.xml:
7626           Fix typo in iana.org URI.
7627
7628 2007-06-19  Andy Wingo  <wingo@pobox.com>
7629
7630         * tests/check/pipelines/simple-launch-lines.c
7631         (test_state_change_returns): Enable pull-mode tests now that
7632         basesink has been fixed.
7633
7634         * libs/gst/base/gstbasesink.c (gst_base_sink_needs_preroll):
7635         Changed from gst_base_sink_is_prerolled, reversing the sense of
7636         the return value. Returns FALSE also if the sink is in pull mode,
7637         in which case it needs no preroll.
7638         (gst_base_sink_query, gst_base_sink_change_state): Update for
7639         needs_preroll change.
7640         (gst_base_sink_change_state): Add a case for READY_TO_PAUSED after
7641         chaining up, in which we return SUCCESS directly if we activated
7642         in pull mode instead of ASYNC. Involves countering an async_start
7643         message sent before chaining up; not sure if this is correct, in
7644         an ideal world we only send async-start when activating in push
7645         mode.
7646
7647         * tests/check/pipelines/simple-launch-lines.c
7648         (test_state_change_returns): New test, partially disabled until
7649         basesink is fixed.
7650
7651 2007-06-19  Wim Taymans  <wim@fluendo.com>
7652
7653         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7654         (gst_multi_queue_sink_event):
7655         Fix event leak.
7656
7657 2007-06-19  Wim Taymans  <wim@fluendo.com>
7658
7659         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
7660         (gst_bin_change_state_func), (bin_push_state_continue),
7661         (bin_handle_async_start), (bin_handle_async_done),
7662         (gst_bin_handle_message_func):
7663         Move the common code for posting state-change messages into
7664         one function.
7665         Broadcast the state signal after we posted the messages.
7666         Mark the bin as busy when it's doing a state-change.
7667         Make sure async-start/done messages don't interfere with the bin's
7668         state when it's busy.
7669         After the state change, let the bin check which elements completed the
7670         state change while it was busy so that it can update its state.
7671
7672 2007-06-19  Jan Schmidt  <thaytan@mad.scientist.com>
7673
7674         * docs/random/release:
7675         Add a note about updating the doap file to the release checklist
7676
7677 2007-06-18  Wim Taymans  <wim@fluendo.com>
7678
7679         * plugins/elements/gstmultiqueue.c: (apply_buffer),
7680         (gst_single_queue_push_one), (gst_multi_queue_chain),
7681         (gst_multi_queue_sink_event):
7682         Make sure we don't reference the buffer/event after we have given away
7683         ownership in the queue.
7684
7685 2007-06-18  Wim Taymans  <wim@fluendo.com>
7686
7687         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7688         (gst_multi_queue_chain), (gst_multi_queue_sink_event):
7689         Update queue state _after_ adding the item in the queue because else we
7690         could end up being full without the element added yet.
7691
7692 2007-06-18  Wim Taymans  <wim@fluendo.com>
7693
7694         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
7695         (gst_bin_remove_func), (gst_bin_get_state_func),
7696         (gst_bin_element_set_state), (gst_bin_continue_func),
7697         (bin_push_state_continue), (bin_handle_async_start),
7698         (bin_handle_async_done), (gst_bin_handle_message_func):
7699         * gst/gstbin.h:
7700         Immediatly commit the toplevel bin state when receiving an async-done
7701         message. This enables us to avoid spawning a thread to commit the state
7702         in some common cases and it also avoids some races.
7703         Avoid spawning a state thread when adding/removing async elements to a
7704         toplevel bin. Instead we immediatly update the bin state.
7705         Get rid of iterating all the children when getting the state in the bin
7706         because it is now always up-to-date.
7707         Fix bug where locked elements would always return _SUCCESS even it they
7708         returned NO_PREROLL before being locked.
7709         Fix the order of the state_change, async-start/done messages that was
7710         sometimes incorrect.
7711         Mark the state_dirty field as deprecated, we don't need it anymore as we
7712         are always up-to-date.
7713
7714         * gst/gstelement.c: (gst_element_get_state_func),
7715         (gst_element_continue_state):
7716         Small debug inprovements.
7717         Return the previous element state return when nothing is pending instead
7718         of blindly returning SUCCESS.
7719
7720         * tests/check/generic/sinks.c: (GST_START_TEST), (pad_blocked_cb),
7721         (gst_sinks_suite):
7722         Add a whole bunch of new testcases.
7723
7724 2007-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
7725
7726         * po/uk.po:
7727         * po/vi.po:
7728           Update translations.
7729
7730 2007-06-15  Jan Schmidt  <thaytan@mad.scientist.com>
7731
7732         * gst/gstpad.c:
7733         Fix typo in the docs.
7734
7735 2007-06-15  Wim Taymans  <wim@fluendo.com>
7736
7737         * docs/libs/gstreamer-libs-sections.txt:
7738         Add docs for new methods.
7739
7740 2007-06-15  Wim Taymans  <wim@fluendo.com>
7741
7742         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_item_destroy),
7743         (gst_multi_queue_item_new):
7744         Don't use GSlice because we don't depend on >= 2.10 yet.
7745
7746 2007-06-15  Wim Taymans  <wim@fluendo.com>
7747
7748         * plugins/elements/gstmultiqueue.c: (gst_single_queue_flush),
7749         (update_time_level), (apply_segment), (apply_buffer),
7750         (gst_single_queue_push_one), (gst_multi_queue_item_new),
7751         (gst_multi_queue_loop), (gst_multi_queue_sink_activate_push),
7752         (gst_multi_queue_sink_event), (single_queue_overrun_cb),
7753         (single_queue_underrun_cb), (single_queue_check_full):
7754         Remove debug printf.
7755
7756 2007-06-15  Wim Taymans  <wim@fluendo.com>
7757
7758         * libs/gst/base/gstdataqueue.c: (gst_data_queue_cleanup),
7759         (gst_data_queue_finalize), (gst_data_queue_locked_is_empty),
7760         (gst_data_queue_set_flushing), (gst_data_queue_push),
7761         (gst_data_queue_pop), (gst_data_queue_drop_head),
7762         (gst_data_queue_limits_changed), (gst_data_queue_get_level):
7763         * libs/gst/base/gstdataqueue.h:
7764         Various cleanups.
7765         Added methods to get the current levels and to inform the queue that the
7766         'full' limits changed.
7767
7768         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_init),
7769         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
7770         (gst_single_queue_flush), (update_time_level), (apply_segment),
7771         (apply_buffer), (gst_single_queue_push_one),
7772         (gst_multi_queue_item_steal_object),
7773         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
7774         (gst_multi_queue_loop), (gst_multi_queue_chain),
7775         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
7776         (gst_multi_queue_getcaps), (gst_multi_queue_src_activate_push),
7777         (gst_multi_queue_src_query), (single_queue_overrun_cb),
7778         (single_queue_underrun_cb), (single_queue_check_full),
7779         (gst_single_queue_new):
7780         Keep track of time in the queue by measuring the difference between
7781         running_time on input and output. This gives more accurate results and
7782         can compensate for segments correctly.
7783         Make a queue by default only 5 buffers deep. We will now increase the
7784         buffer size depending on the filledness of the other queues.
7785         Factor out commong flush code.
7786         Make sure we don't add additional refcounts to buffers when we can avoid
7787         it.
7788         Propagate GstFlowReturn differently.
7789         Use GSlice for intermediate GstMultiQueueItems.
7790         Keep track of EOS.
7791         Resize queues on over and underruns based on filled level of other
7792         queues.
7793         When checking if the queue is filled, prefer to measure in time if we
7794         can and fall back to bytes when no time is known.
7795
7796         * plugins/elements/gstqueue.c:
7797         Fix return value.
7798
7799 2007-06-15  Wim Taymans  <wim@fluendo.com>
7800
7801         * libs/gst/base/gstbasetransform.c:
7802         (gst_base_transform_sink_event):
7803         Work around the brokenness of the event vmethod in basetransform. Prefer
7804         to return TRUE when the subclass returned FALSE (meaning don't forward
7805         the event). 
7806
7807         * libs/gst/base/gstbasetransform.h:
7808         Clarify the docs.
7809
7810 2007-06-15  Wim Taymans  <wim@fluendo.com>
7811
7812         * gst/gstpad.c: (gst_pad_push_event), (gst_pad_send_event):
7813         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
7814         (gst_base_src_default_query), (gst_base_src_get_range),
7815         (gst_base_src_start):
7816         * tests/check/pipelines/parse-launch.c: (setup_pipeline):
7817         Improve debugging.
7818
7819 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
7820
7821         * docs/pwg/advanced-types.xml:
7822           Added more formats to caps table.
7823
7824 2007-06-15  Stefan Kost  <ensonic@users.sf.net>
7825
7826         * tools/gst-launch.c: (main):
7827           Remove crufy code. GOption does not need this workaround.
7828
7829 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
7830
7831         * libs/gst/controller/gstcontroller.c:
7832         (gst_controlled_property_set_interpolation_mode):
7833           Fix wrong getter for enums in controller.
7834
7835 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
7836
7837         * libs/gst/check/gstcheck.c: (gst_check_init):
7838           Intercept criticals and warnings in the Gst-Phonon log domain, so
7839           ASSERT_CRITICAL() etc. can be used in gst-phonon's unit tests as
7840           well.
7841         
7842 2007-06-14  Edward Hervey  <edward@fluendo.com>
7843
7844         * gst/gstparamspecs.c: (_gst_param_fraction_validate):
7845         Since this file doesn't include "gst.h" it will not go through the
7846         macros that disable GST_LOG if debugging was disabled.
7847
7848 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
7849
7850         * libs/gst/check/Makefile.am:
7851         * libs/gst/check/gstcheck.h:
7852         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7853         * pkgconfig/gstreamer-check.pc.in:
7854           Ugly 'fix' for the controller unit test on the p5 bot: in
7855           fail_unless_equals_float() check whether the values are 'almost
7856           equal' by allowing a small absolute error, which should be good
7857           enough for our use cases (normal numbers and values close to 0).
7858           Proper fixage left to floating point arithmetic aficionados.
7859
7860 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
7861
7862         * libs/gst/base/gstbasesink.c: (gst_base_sink_reset_qos),
7863         (gst_base_sink_render_object), (gst_base_sink_get_position):
7864           Add two breaks thats where missing.
7865
7866 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
7867
7868         * docs/libs/gstreamer-libs-sections.txt:
7869         * libs/gst/check/gstcheck.h:
7870           API: add fail_unless_equals_float() and assert_equals_float().
7871           Add documentation for some of the macros.
7872
7873         * tests/check/libs/controller.c: (GST_START_TEST):
7874           Use newly-added asserts.
7875
7876 2007-06-14  Stefan Kost  <ensonic@users.sf.net>
7877
7878         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_push):
7879           Show the caps change in the log to help spotting the case of not
7880           exactly matching caps.
7881
7882 2007-06-14  Tim-Philipp Müller  <tim at centricular dot net>
7883
7884         * docs/pwg/building-boiler.xml:
7885           Fix typos, spotted by Thijs Vermeir (#447190).
7886
7887 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
7888
7889         * docs/plugins/tmpl/.cvsignore:
7890         Ignore file to keep the buildbots happy
7891
7892 2007-06-13  Jan Schmidt  <thaytan@mad.scientist.com>
7893
7894         * docs/plugins/Makefile.am:
7895         * docs/plugins/gstreamer-plugins-docs.sgml:
7896         * docs/plugins/gstreamer-plugins-sections.txt:
7897         Pull fdsink into the docs too.
7898
7899 2007-06-11  Sebastian Dröge  <slomo@circular-chaos.org>
7900
7901         * libs/gst/controller/gstinterpolation.c:
7902         Actually use the new functions with min/max checks for the trigger and
7903         none interpolation modes for get() and get_value_array() instead of
7904         just the latter.
7905
7906 2007-06-10  Sebastian Dröge  <slomo@circular-chaos.org>
7907
7908         * libs/gst/controller/gstcontroller.c:
7909         (gst_controlled_property_free):
7910         Unset the minimum and maximum GValues when freeing the corresponding
7911         GstControllerProperty struct.
7912
7913 2007-06-09  Sebastian Dröge  <slomo@circular-chaos.org>
7914
7915         * libs/gst/controller/gstcontroller.c:
7916         (gst_controlled_property_new):
7917         * libs/gst/controller/gstcontrollerprivate.h:
7918         * libs/gst/controller/gstinterpolation.c:
7919         (gst_controlled_property_find_control_point_node),
7920         (interpolate_none_get), (interpolate_none_get_enum_value_array),
7921         (interpolate_none_get_string_value_array),
7922         (interpolate_trigger_get),
7923         (interpolate_trigger_get_enum_value_array),
7924         (interpolate_trigger_get_string_value_array):
7925         Protect against values larger or smaller than the minimum or maximum
7926         allowed value for the property when using values that can be compared.
7927
7928         Optimize trigger interpolator a bit by taking the last requested value
7929         into account instead of always looping through the complete list.
7930
7931         Fix coding style a bit, everywhere else we use "return foo" instead
7932         of "return (foo)".
7933         
7934         * tests/check/libs/controller.c: (GST_START_TEST),
7935         (gst_controller_suite):
7936         Add unit test for the protection against too large or too small
7937         values.
7938
7939 2007-06-08  Sebastian Dröge  <slomo@circular-chaos.org>
7940
7941         * docs/random/slomo/controller.txt:
7942         Add some thoughts about the future of the controller.
7943
7944 2007-06-08  Wim Taymans  <wim@fluendo.com>
7945
7946         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
7947         Don't overflow in retimestamping code.
7948
7949 2007-06-07  Sebastien Moutte  <sebastien@moutte.net>
7950
7951         * libs/gst/controller/gstinterpolation.c: (DEFINE_CUBIC_GET):
7952         Use gst_util_guint64_to_gdouble for conversions.
7953         * win32/common/libgstreamer.def:
7954         Add new exported functions.
7955
7956 2007-06-07  Tim-Philipp Müller  <tim at centricular dot net>
7957
7958         * gst/gstutils.c:
7959           Small docs addition.
7960
7961 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
7962
7963         * README:
7964           Remove that test line again.
7965
7966 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
7967
7968         * README:
7969           Test commit mail sending.
7970
7971 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
7972
7973         * configure.ac:
7974           Fix typo and test commit mail sending.
7975
7976 2007-06-07  Stefan Kost  <ensonic@users.sf.net>
7977
7978         * tests/examples/controller/audio-example.c:
7979           Improve comment and test commit mail sending.
7980
7981 2007-06-07  Wim Taymans  <wim@fluendo.com>
7982
7983         * gst/gstbin.c: (find_message), (bin_replace_message), (is_eos),
7984         (gst_bin_remove_func), (gst_bin_element_set_state),
7985         (bin_handle_async_start), (bin_handle_async_done),
7986         (gst_bin_handle_message_func):
7987         Add helper function to find messages.
7988         Generate the async-done messages together with the state change
7989         messages.
7990         Small cleanups in handling toplevel bins.
7991
7992 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
7993
7994         * libs/gst/base/gstdataqueue.c:
7995         * libs/gst/base/gstdataqueue.h:
7996         * plugins/elements/gstmultiqueue.c: (gst_single_queue_push_one),
7997         (gst_multi_queue_item_new), (gst_multi_queue_chain),
7998         (gst_multi_queue_sink_event):
7999         * tests/check/elements/multiqueue.c: (multiqueue_suite):
8000           Fix multiqueue leaking buffers and events when downstream or the
8001           queue are flushing. Make refcounting assumptions explicit and
8002           document them (shouldn't break existing code that uses it other than
8003           maybe leak miniobjects, but that already happens anyway). Add unit
8004           test for the most common flushing case. Fixes #423700.
8005           
8006 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8007
8008         * libs/gst/controller/gstcontroller.c:
8009         Clarify docs: The get_all, get_value_array(s) functions
8010         don't modify the GObject properties.
8011
8012 2007-06-06  Sebastian Dröge  <slomo@circular-chaos.org>
8013
8014         * libs/gst/controller/gstcontroller.c:
8015         (gst_controlled_property_set_interpolation_mode),
8016         (gst_controlled_property_prepend_default),
8017         (gst_controlled_property_new), (gst_controller_set_unlocked),
8018         (gst_controller_set), (gst_controller_set_from_list),
8019         (gst_controller_unset), (gst_controller_unset_all):
8020         * libs/gst/controller/gstcontrollerprivate.h:
8021         * libs/gst/controller/gstinterpolation.c:
8022         Factor out the 'set' logic into gst_controller_set_unlocked for the
8023         gst_controller_set and gst_controller_set_from_list functions.
8024
8025         To make life of the interpolators easier always add a control point
8026         at timestamp zero with the default value.
8027
8028         In the linear interpolator make things more obvious by better variable
8029         naming (slope).
8030
8031         Implement cubic interpolation mode (by using a natural cubic spline)
8032         and map the quadratic interpolation mode to this too (as quadratic
8033         doesn't make much sense, see discussion on the list).
8034
8035         * tests/check/libs/controller.c: (GST_START_TEST),
8036         (gst_controller_suite):
8037         Add unit test for the cubic interpolation mode and check everywhere
8038         if the interpolation mode could be set as expected.
8039
8040 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8041
8042         * gst/gstparamspecs.c: (gst_param_spec_fraction_get_type):
8043           Don't use GLib-2.10 functions, we still depend on
8044           GLib-how-old-is-it-again-2.8.
8045
8046 2007-06-06  Tim-Philipp Müller  <tim at centricular dot net>
8047
8048         * docs/gst/gstreamer-sections.txt:
8049         * gst/Makefile.am:
8050         * gst/gst.c:
8051         * gst/gst.h:
8052         * gst/gstparamspecs.c: (_gst_param_fraction_init),
8053         (_gst_param_fraction_set_default), (_gst_param_fraction_validate),
8054         (_gst_param_fraction_values_cmp),
8055         (gst_param_spec_fraction_get_type), (gst_param_spec_fraction):
8056         * gst/gstparamspecs.h:
8057         * gst/gstvalue.c:
8058         * tests/check/Makefile.am:
8059         * tests/check/gst/.cvsignore:
8060         * tests/check/gst/gstparamspecs.c: (gst_dummy_obj_base_init),
8061         (gst_dummy_obj_class_init), (gst_dummy_obj_init),
8062         (gst_dummy_obj_set_property), (gst_dummy_obj_get_property),
8063         (GST_START_TEST), (gst_param_spec_suite):
8064           API: add GstParamSpecFraction, so elements can have fraction
8065           properties without lots of painful string parsing (#444648).
8066
8067 2007-06-05  Wim Taymans  <wim@fluendo.com>
8068
8069         * gst/gstobject.c: (gst_object_class_init):
8070         Fix signal signature.
8071
8072         * gst/gstsegment.c:
8073         Add small clarification in the api docs.
8074
8075         * plugins/elements/gstfilesrc.c: (gst_file_src_set_location):
8076         States are protected with object lock.
8077
8078 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8079
8080         * AUTHORS:
8081         I should probably be listed as an author by now.
8082
8083         * docs/random/release:
8084         Update the release doc
8085
8086 2007-06-05  Tim-Philipp Müller  <tim at centricular dot net>
8087
8088         * gst/gstvalue.c:
8089           Make docs for gst_value_compare() mention return enums that
8090           actually exist.
8091
8092 2007-06-05  Jan Schmidt  <thaytan@mad.scientist.com>
8093
8094         * configure.ac:
8095           Back to CVS
8096
8097 === release 0.10.13 ===
8098
8099 2007-06-05  Jan Schmidt <thaytan@mad.scientist.com>
8100
8101         * configure.ac:
8102           releasing 0.10.13, "With or without you"
8103
8104 2007-05-25  Wim Taymans  <wim@fluendo.com>
8105
8106         * gst/gstbin.c: (bin_handle_async_done):
8107         Make sure that the child bin stops after completing the async state
8108         change so that the parent can continue the state change to PLAYING.
8109         Fixes #441159.
8110
8111 2007-05-25  Wim Taymans  <wim@fluendo.com>
8112
8113         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8114         (unref_data), (gst_collect_pads_remove_pad),
8115         (gst_collect_pads_check_pads):
8116         Use additional refcounting to avoid crashes when dynamically adding and
8117         removing pads. Fixes #420206.
8118
8119 2007-05-24  Wim Taymans  <wim@fluendo.com>
8120
8121         * tools/gst-launch.c: (event_loop):
8122         When buffering goes from a two digit to a single digit number, make sure
8123         to remove the old second digit by writing a blank over it.
8124
8125 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8126
8127         * libs/gst/base/gstdataqueue.c:
8128           Eliminate tabs and trailing comma in enum list; fix some typos.
8129
8130 2007-05-24  Wim Taymans  <wim@fluendo.com>
8131
8132         * tests/check/gst/gstbin.c: (GST_START_TEST):
8133         Allow refcount of 3 and 4 because some state thread might still be busy
8134         with it.
8135
8136 2007-05-24  Tim-Philipp Müller  <tim at centricular dot net>
8137
8138         * plugins/elements/Makefile.am:
8139         * plugins/elements/gstmultiqueue.h:
8140         * plugins/elements/gstqueue.h:
8141           These are not installed headers, no need for padding.
8142
8143 2007-05-24  Wim Taymans  <wim@fluendo.com>
8144
8145         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8146         (gst_bin_continue_func):
8147         Enable latency for next release.
8148         Restore STATE_LOCK around recalc_state that was left out during the
8149         rewrite and could result in racy behaviour when _get_state and
8150         recalc_state are run concurrently. See #440463.
8151
8152 2007-05-23  Wim Taymans  <wim@fluendo.com>
8153
8154         * tests/check/gst/gstsystemclock.c: (store_callback),
8155         (GST_START_TEST):
8156         Improve test_async_order to also work when both timers are already
8157         expired when we get scheduled to check it.
8158
8159 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8160
8161         * gst/gstbin.c: (gst_bin_init), (gst_bin_dispose),
8162         (gst_bin_set_property), (gst_bin_get_property),
8163         (gst_bin_remove_func), (gst_bin_handle_message_func):
8164         * gst/gstbin.h:
8165           'private' is a c++ keyword, let's not use that in header files,
8166           otherwise c++ compilers will throw a tantrum.
8167
8168 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8169
8170         * plugins/elements/gstelements.c:
8171         * plugins/elements/gstfilesink.c: (gst_file_sink_do_seek),
8172         (gst_file_sink_get_current_offset):
8173         * plugins/indexers/gstindexers.c: (plugin_init):
8174           Use #ifdef for HAVE_XYZ for consistency.
8175
8176         * tests/check/Makefile.am:
8177         * tests/check/elements/.cvsignore:
8178         * tests/check/elements/filesink.c: (setup_filesink),
8179         (cleanup_filesink), (GST_START_TEST), (filesink_suite):
8180           Add some unit tests for filesink.
8181
8182 2007-05-22  Tim-Philipp Müller  <tim at centricular dot net>
8183
8184         Patch by: Mark Nauwelaerts <manauw at skynet be>
8185
8186         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
8187         (gst_file_sink_query), (gst_file_sink_do_seek),
8188         (gst_file_sink_get_current_offset), (gst_file_sink_render):
8189         * plugins/elements/gstfilesink.h:
8190           Fix position reporting; rename data_written member to current_pos to
8191           reflect its real meaning (fixes #412648).
8192
8193 2007-05-22  Edward Hervey  <edward@fluendo.com>
8194
8195         * docs/gst/gstreamer-sections.txt:
8196         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
8197         (gst_bin_dispose), (gst_bin_set_property), (gst_bin_get_property),
8198         (gst_bin_remove_func), (gst_bin_handle_message_func):
8199         * gst/gstbin.h:
8200         Add a property for bins that handle the state change of their childs.
8201         Fixes #435880
8202
8203 2007-05-22  Sebastian Dröge  <slomo@circular-chaos.org>
8204
8205         * libs/gst/controller/gstinterpolation.c:
8206         Use an array of the correct type when using _get_value_array with
8207         linear interpolation.
8208
8209 2007-05-22  Stefan Kost  <ensonic@users.sf.net>
8210
8211         * gst/gstelement.c (gst_element_requires_clock,
8212           gst_element_provides_clock, gst_element_request_pad,
8213           gst_element_class_set_details, gst_element_class_set_details_simple,
8214           gst_element_default_send_event, gst_element_abort_state,
8215           gst_element_continue_state, gst_element_set_state,
8216           gst_element_set_state_func, iterator_activate_fold_with_resync):
8217         * gst/gstpad.c (gst_pad_activate_pull, gst_pad_set_getcaps_function,
8218           gst_pad_fixate_caps, gst_pad_configure_sink, gst_pad_configure_src,
8219           gst_pad_query, gst_pad_save_thyself, handle_pad_block, gst_pad_push,
8220           gst_pad_get_range, gst_pad_pull_range):
8221         * gst/gstpad.h (GST_PAD_LINK_SUCCESSFUL, GST_FLOW_CUSTOM_SUCCESS,
8222           GST_FLOW_NOT_SUPPORTED, GST_FLOW_IS_FATAL, GstPadActivateFunction,
8223           GstPadActivateModeFunction, GstPadChainFunction,
8224           GstPadGetCapsFunction, GstPadAcceptCapsFunction,
8225           GstPadFixateCapsFunction, GstPadTemplate):
8226         * gst/gstpipeline.c (gst_pipeline_change_state,
8227           gst_pipeline_set_new_stream_time, gst_pipeline_use_clock,
8228           gst_pipeline_set_clock, gst_pipeline_auto_clock,
8229           gst_pipeline_get_delay):
8230           Whitespace and docs fixes.
8231
8232 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8233
8234         * libs/gst/controller/gstinterpolation.c:
8235         (interpolate_trigger_get_enum_value_array),
8236         (interpolate_trigger_get_string_value_array):
8237         Add support for retrieving value arrays when using the trigger
8238         interpolation mode. 
8239
8240 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8241
8242         * libs/gst/controller/gstcontroller.c:
8243         (gst_controller_get_value_array):
8244         * libs/gst/controller/gstcontroller.h:
8245         Clarify the docs of gst_controller_get_value_array(): The array where
8246         the values should be written to must be allocated as there seems to be
8247         no way to get the size of a random GType. This doesn't change any
8248         behaviour. Also fix some typos all over the place and remove an unused,
8249         commented function that is not necessary as g_object_set() could be
8250         used instead.
8251         * tests/check/libs/controller.c: (GST_START_TEST),
8252         (gst_controller_suite):
8253         Add unit test for gst_controller_get_value_array().
8254
8255 2007-05-21  Jan Schmidt  <thaytan@mad.scientist.com>
8256
8257         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
8258
8259         Disable part of the gst_buffer_try_new_and_alloc test, because
8260         it can happily succeed on 64-bit systems where there's more address
8261         space available.
8262
8263 2007-05-21  Sebastian Dröge  <slomo@circular-chaos.org>
8264
8265         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
8266         Add unit test for the improved caps checking from bug #421543.
8267
8268 2007-05-21  Wim Taymans  <wim@fluendo.com>
8269
8270         * docs/design/part-synchronisation.txt:
8271         Small addition.
8272
8273         * gst/gstbin.c: (gst_bin_query):
8274         * plugins/elements/gstqueue.c: (apply_segment):
8275         Improve debugging.
8276
8277         * gst/gstmessage.h:
8278         Improve docs.
8279
8280 2007-05-21  Wim Taymans  <wim@fluendo.com>
8281
8282         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
8283         (gst_pad_acceptcaps_default), (gst_pad_configure_sink),
8284         (gst_pad_configure_src):
8285         Added simple version of improved caps checking. It was previously
8286         assumed that a setcaps function would check the validity of the caps but
8287         people prefer us to check caps against the template automatically. 
8288         Fixes #421543.
8289
8290 2007-05-21  Wim Taymans  <wim@fluendo.com>
8291
8292         * libs/gst/base/gstbasetransform.h:
8293         Fix macro for locking/unlocking the transform lock.
8294
8295 2007-05-19  Tim-Philipp Müller  <tim at centricular dot net>
8296
8297         * docs/plugins/tmpl/.cvsignore:
8298           Ignore more.
8299
8300 2007-05-18  Edward Hervey  <edward@fluendo.com>
8301
8302         * plugins/elements/gstqueue.c: (gst_queue_loop):
8303         Hello, I am Mr Taymans' personal debugger. Today I will introduce a fix
8304         for the subtle art of warning a potentially blocking thread that it
8305         should check the source pad return value, and relay the information
8306         upstream.
8307
8308 2007-05-18  Edward Hervey  <edward@fluendo.com>
8309
8310         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8311         Release the queue lock !
8312
8313 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8314
8315         * docs/libs/gstreamer-libs-sections.txt:
8316         Add the two new controller functions to the appropiate places.
8317
8318 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8319
8320         reviewed by: Stefan Kost <ensonic@users.sf.net>
8321
8322         * libs/gst/controller/gstcontroller.c:
8323         (gst_controller_suggest_next_sync), (gst_controller_sync_values),
8324         (_gst_controller_get_property), (_gst_controller_set_property),
8325         (_gst_controller_init), (_gst_controller_class_init):
8326         * libs/gst/controller/gstcontroller.h:
8327         * libs/gst/controller/gsthelper.c: (gst_object_suggest_next_sync),
8328         (gst_object_get_control_rate), (gst_object_set_control_rate):
8329         API: gst_controller_suggest_next_sync(), gst_object_suggest_next_sync()
8330         Add API that provides sync suggestion timestamps for elements that
8331         call gst_object_sync_values() from which those elements can subdivide
8332         their processing loop to get the best results for the controlled
8333         properties. For now it just suggests last_sync + control_rate as
8334         new timestamp but this will be improved in the future.
8335
8336         While doing that change the control-rate property to a GstClockTime
8337         from guint and change it's meaning from samples to nanoseconds as
8338         the GstController doesn't know anything about sampling rate. Strictly
8339         speaking this breaks ABI but as the control-rate property didn't do
8340         anything in the past and as such couldn't be used this should be no
8341         problem.        
8342
8343 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8344
8345         reviewed by: Stefan Kost <ensonic@users.sf.net>
8346
8347         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
8348         (gst_controller_unset_all):
8349         * libs/gst/controller/gstcontrollerprivate.h:
8350         * libs/gst/controller/gstinterpolation.c:
8351         (gst_controlled_property_find_control_point_node):
8352         Save last synced value from the list to continue searching from there
8353         in future syncs. This speeds everything up a bit.
8354         
8355 2007-05-17  Sebastian Dröge  <slomo@circular-chaos.org>
8356
8357         reviewed by: Stefan Kost <ensonic@users.sf.net>
8358
8359         * libs/gst/controller/gstcontroller.c: (gst_control_point_compare),
8360         (gst_control_point_find), (gst_controlled_property_new),
8361         (gst_control_point_free), (gst_controlled_property_free),
8362         (gst_controller_set), (gst_controller_set_from_list),
8363         (gst_controller_unset), (gst_controller_unset_all),
8364         (gst_controller_sync_values):
8365         * libs/gst/controller/gstcontroller.h:
8366         * libs/gst/controller/gstcontrollerprivate.h:
8367         * libs/gst/controller/gstinterpolation.c:
8368         (gst_controlled_property_find_control_point_node),
8369         (interpolate_none_get), (interpolate_trigger_get):
8370         Add a new private GstControlPoint struct which "inherits" from
8371         GstTimedValue to allow different interpolators to store internal
8372         values next to each control point. From the outside everything is
8373         still a GstControlPoint so we don't loose binary compatibility.
8374         Also fixup all the GValue handling to not leak GValues or list nodes.
8375         * tests/check/libs/controller.c: (GST_START_TEST):
8376         Free the list nodes and GValues in the controller_misc test.
8377
8378 2007-05-17  Edward Hervey  <edward@fluendo.com>
8379
8380         * gst/gstsegment.c:
8381         Small doc fix.
8382
8383 2007-05-16  Tim-Philipp Müller  <tim at centricular dot net>
8384
8385         * gst/gstplugin.c: (gst_plugin_load_file):
8386           If we fail to load a plugin because of unresolved symbols or missing
8387           libraries and spew a warning to stderr, we may just as well mention
8388           which plugin it was that failed to load.
8389
8390 2007-05-13  David Schleef  <ds@schleef.org>
8391
8392         * docs/Makefile.am: the gtk-doc makefile snippet correctly
8393           handles the case when ENABLE_GTK_DOC is false, and installs
8394           the prebuilt documentation.  So gtk-doc subdirs are 
8395           unconditionally enabled.  Fixes: #349099.
8396
8397 2007-05-13  David Schleef  <ds@schleef.org>
8398
8399         * gst/gstutils.h: Reword some documentation.
8400
8401 2007-05-12  David Schleef  <ds@schleef.org>
8402
8403         * gst/gstplugin.c: gst_plugin_register_func() doesn't actually
8404           do anything with the passed "module" parameter, so remove it.
8405           Allows removal of additional vestigal code.
8406
8407 2007-05-12  David Schleef  <ds@schleef.org>
8408
8409         * gst/gstplugin.c:
8410           Using sigaction should depend on HAVE_SIGACTION, not HAVE_WIN32.
8411           Switch to using g_stat() because it's more portable.
8412
8413 2007-05-12  David Schleef  <ds@schleef.org>
8414
8415         * gst/gst.c:
8416           Add GST_DISABLE_OPTION_PARSING, in order to disable option
8417           parsing for embedded systems.
8418         * gst/gstelementfactory.c:
8419           Allow gst_element_register() to be called with plugin==NULL.
8420           Did nobody notice that static elements were broken?
8421
8422 2007-05-12  Wim Taymans  <wim@fluendo.com>
8423
8424         * tools/gst-launch.c: (event_loop):
8425         Give more interesting info when buffering starts and stops.
8426         Fix case where buffering starts but we fail to update the buffering flag
8427         because the target state is not PLAYING.
8428
8429 2007-05-12  Wim Taymans  <wim@fluendo.com>
8430
8431         * plugins/elements/gstqueue.c: (gst_queue_init),
8432         (gst_queue_finalize), (update_time_level), (apply_segment),
8433         (apply_buffer), (gst_queue_locked_flush),
8434         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
8435         (gst_queue_handle_sink_event), (gst_queue_chain),
8436         (gst_queue_push_one), (gst_queue_loop):
8437         * plugins/elements/gstqueue.h:
8438         Refactor an cleanup queue a bit.
8439         Do better time level calculations that also work when the srcpad is not
8440         yet running.
8441         Remove some unneeded debug lines.
8442
8443         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
8444         Added testcase for time level measurement.
8445         Try to make some stuff more racefree.
8446
8447 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8448
8449         * gst/gsturi.c: (gst_element_make_from_uri):
8450           Don't leak plugin feature.
8451
8452         * tests/check/Makefile.am:
8453         * tests/check/gst/.cvsignore:
8454         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
8455           Add brain-dead unit test.
8456
8457 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
8458
8459         Patch by: Jeroen Wouters <woutersj at gmail com>
8460
8461         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
8462           Treat protocol strings in a case-insensitive way (#437563).
8463
8464 2007-05-11  Michael Smith <msmith@fluendo.com>
8465
8466         * gst/gstplugin.c: (gst_plugin_load_file):
8467         * gst/gstregistry.c: (gst_registry_scan_path_level):
8468           Don't print a g_warning for any failure to load a shared object.
8469           Instead, push this down into gstplugin.c, and warn _only_ if we
8470           failed to open the module (i.e. failure to link).
8471           Avoids warnings on normal, working, non-plugin .so files.
8472
8473 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
8474
8475         * gst/gstplugin.c (gst_plugin_load_file):
8476         * gst/gstregistry.c (GST_CAT_DEFAULT,
8477           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
8478           Print a g_warning if there was an error when loading a plugins during
8479           registry scan. The shuld help beginners starting with gst-plugin
8480           template.
8481
8482 2007-05-10  Wim Taymans  <wim@fluendo.com>
8483
8484         * plugins/elements/gstqueue.c: (gst_queue_class_init),
8485         (update_time_level), (gst_queue_locked_flush),
8486         (gst_queue_handle_sink_event), (gst_queue_chain),
8487         (gst_queue_push_one), (gst_queue_loop):
8488         * plugins/elements/gstqueue.h:
8489         Be smarter when calculating the current amount of data in the queue by
8490         measuring the difference between start and end timestamps (in running
8491         time) inside the queue. Fixes #432876.
8492         API: GstQueue::pushing to notify elements that we are pushing data again
8493         since the running signal is rather broken for this purpose.
8494
8495 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
8496
8497         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
8498           gst_queue_base_init, gst_queue_init):
8499           use GST_BOILERPLATE
8500
8501 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
8502
8503         * win32/common/libgstreamer.def:
8504         Add new exported functions.
8505         * win32/vs6/grammar.dsp:
8506         Use grammar pre-generated files.
8507
8508 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8509
8510         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
8511
8512         * gst/Makefile.am:
8513         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
8514         * gst/gstparse.h:
8515         * gst/gstutils.c: (gst_parse_bin_from_description):
8516         * gst/gstutils.h:
8517           Maintain API and ABI when --disable-parse is used. Now that
8518           we have an appropriate error code, we can just return NULL and the
8519           appropriate error when gst_parse_launch() is used despite it having
8520           been disabled (#342564).
8521
8522         * tests/check/Makefile.am:
8523         * tests/check/pipelines/.cvsignore:
8524         * tests/check/pipelines/parse-disabled.c:
8525           Make sure these functions exist and return NULL plus a GError when
8526           --disable-parse is used.
8527
8528 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
8529
8530         * tests/benchmarks/complexity.c: (main):
8531         * tests/benchmarks/mass-elements.c: (main):
8532           Set a good example and don't leak messages.
8533
8534 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
8535
8536         * docs/gst/Makefile.am:
8537         * docs/libs/Makefile.am:
8538           Correct fixxrefs options.
8539
8540         * docs/plugins/Makefile.am:
8541         * docs/plugins/gstreamer-plugins-docs.sgml:
8542         * docs/plugins/gstreamer-plugins-sections.txt:
8543         * plugins/elements/Makefile.am:
8544         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
8545         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
8546           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
8547           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
8548           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
8549           _GstCapsFilterClass, trans_class):
8550         * plugins/elements/gstelements.c (name, rank, type, _elements):
8551         * plugins/elements/gstidentity.c
8552           (gst_identity_check_imperfect_timestamp,
8553           gst_identity_check_imperfect_offset):
8554           Document capsfilter and add doc-blurb to identity.
8555
8556 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
8557
8558         * libs/gst/controller/gstcontroller.c:
8559         (gst_controlled_property_set_interpolation_mode):
8560         * libs/gst/controller/gstinterpolation.c:
8561           Don't crash if someone tries to set an interpolation mode that
8562           is invalid or that isn't supported yet. Fixes #422295.
8563
8564         * tests/check/libs/controller.c: (GST_START_TEST),
8565         (gst_controller_suite):
8566           Add a test case for the above.
8567
8568 2007-05-03  Edward Hervey  <edward@fluendo.com>
8569
8570         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
8571         Properly set the last_stop position on GstSegment. This will only happen
8572         if there is a buffer to push out.
8573
8574 2007-05-03  Wim Taymans  <wim@fluendo.com>
8575
8576         * libs/gst/base/gstbasetransform.c:
8577         (gst_base_transform_buffer_alloc):
8578         always_in_place does not mean that the sink and source caps are the
8579         same! Make sure we don't blindly proxy the buffer_alloc in this case.
8580
8581 2007-05-03  Wim Taymans  <wim@fluendo.com>
8582
8583         * docs/libs/gstreamer-libs-sections.txt:
8584         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
8585         (gst_base_src_default_query), (gst_base_src_get_range):
8586         * libs/gst/base/gstbasesrc.h:
8587         API: gst_base_src_query_latency(). Added method so that subclasses can
8588         easily get the latency values of the base source class.
8589
8590 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
8591
8592         * tools/gst-inspect.c (print_implementation_info):
8593         Remove 0.8 cruft.
8594
8595 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
8596
8597         * tools/Makefile.am:
8598         * tools/gst-launch.1.in:
8599           Don't create a customised man page based on the host architecture,
8600           describe the default registry path generically. That way the man
8601           page is the same for all architectures and packagers have one
8602           multilib issue less to deal with. Fixes #434926.
8603
8604 2007-05-02  Wim Taymans  <wim@fluendo.com>
8605
8606         * gst/gstpad.c:
8607         Fix documentation as spotted by rg on IRC. 
8608
8609 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
8610
8611         * gst/gstutils.c:
8612           Improve docs for gst_element_{link,unlink}.
8613
8614 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
8615
8616         * docs/design/part-events.txt:
8617         * docs/design/part-overview.txt:
8618         * gst/gstevent.c:
8619         * gst/gsturi.c:
8620         * gst/gsturi.h:
8621         * libs/gst/base/gstbasesink.c:
8622           Typo fixes; minor docs addition.
8623
8624 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8625
8626         * docs/gst/gstreamer-sections.txt:
8627         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
8628         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
8629         * gst/gsturi.h:
8630         API: Add gst_uri_protocol_is_supported(), which checks if a sink
8631         or src that supports a given URI protocol exists.
8632
8633 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8634
8635         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8636         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8637         Set the location to NULL if "file://" is set as URI. Otherwise
8638         some random previous URI would still be set if "file://" is
8639         set on an already used filesink/filesrc.
8640
8641 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
8642
8643         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
8644         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
8645         Special case the "file://" URI as as this is used by some
8646         applications to test with gst_element_make_from_uri if there's
8647         an element that supports the URI protocol.
8648         Also move the g_path_is_absolute() check for the location part
8649         of the URI to also check this for "file://localhost/bla" URIs.
8650
8651 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
8652
8653         * docs/gst/gstreamer-sections.txt:
8654         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
8655         * gst/gstbuffer.h:
8656         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
8657         (gst_buffer_suite):
8658           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
8659
8660 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
8661
8662         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
8663         (gst_registry_binary_load_pad_template),
8664         (gst_registry_binary_load_plugin),
8665         (gst_registry_binary_read_cache):
8666         * gst/gstregistrybinary.h:
8667           Implement no-mmap alternative for registry reading. Do code cleanups.
8668           Add more comments about avoiding strdups for all text data. Comments
8669           welcome.
8670
8671 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
8672
8673         * gst/gstregistrybinary.h (GstBinaryPluginElement,
8674           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
8675           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
8676           Comment structs and reformat to fix the build (that stuff should go
8677           into a priv. header).
8678
8679 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
8680
8681         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
8682         (gst_registry_binary_load_feature):
8683         * gst/gstregistrybinary.h:
8684           Refactor so that we can implement multiple features. Add support for
8685           TypeFindFactory features.
8686
8687 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
8688
8689         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
8690
8691         * configure.ac:
8692           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
8693
8694 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
8695
8696         * gst/gstbin.c: (gst_bin_element_set_state),
8697         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
8698         (bin_handle_async_done), (gst_bin_handle_message_func):
8699           Fix build with --gst-disable-gst-debug
8700
8701 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
8702
8703         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
8704           Make sure streaming has finished before calling the ::stop() vfunc,
8705           since that vfunc might clear state which is being used in the
8706           streaming thread. This fixes a race that caused crashes in
8707           audioresample when shutting down a pipeline (#420106).
8708
8709 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
8710
8711         * docs/gst/gstreamer-sections.txt:
8712           That was one byte missing.
8713
8714 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
8715
8716         * configure.ac:
8717         * docs/gst/gstreamer-sections.txt:
8718         * gst/Makefile.am:
8719         * gst/gstconfig.h.in:
8720         * gst/gstobject.c: (gst_object_class_init),
8721         (gst_signal_object_class_init):
8722         * gst/gstobject.h:
8723           2nd attempt to have a xml-less build as a joined effort of #413123
8724           and #421480.
8725
8726 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
8727
8728         * docs/design/draft-tagreading.txt:
8729           Added open issues/thoughts to draft.
8730
8731 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
8732
8733         * gst/parse/grammar.tab.pre.c:
8734         * gst/parse/grammar.tab.pre.h:
8735         * gst/parse/lex._gst_parse_yy.pre.c:
8736         Update the prebuild parser sources.
8737
8738 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
8739
8740         * gst/parse/Makefile.am:
8741         And now fix the building of the flex sources. Now everything should
8742         work as expected.
8743
8744 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
8745
8746         * gst/parse/Makefile.am:
8747         Now hopefully fix the build failures by setting proper rule
8748         dependencies and moving instead of copying.
8749
8750 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
8751
8752         * tests/benchmarks/complexity.gnuplot:
8753         * tests/benchmarks/complexity.scm:
8754         * tests/benchmarks/mass-elements.gnuplot:
8755         * tests/benchmarks/mass-elements.scm:
8756           Total licensification.
8757
8758 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
8759
8760         * gst/parse/Makefile.am:
8761           Fix the build by correcting the rule that gave wrong files to flex.
8762
8763 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
8764
8765         * tests/benchmarks/complexity.c:
8766         * tests/benchmarks/mass-elements.c:
8767           Change licence to LGPL as granted by Benjamin and Andy.
8768
8769 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
8770
8771         * gst/parse/Makefile.am:
8772         Add correct grammar.tab.h dependency if compiling without new enough
8773         flex. Fixes #431150.
8774
8775 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
8776
8777         * gst/parse/Makefile.am:
8778         Fix typo and use outdated sources if the flex/bison sources are newer
8779         than the pregenerated ones but flex is too old. Print a warning in
8780         that case. This should fix the build on the build bot.
8781
8782 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
8783
8784         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
8785         * gst/parse/Makefile.am:
8786         * gst/parse/grammar.y:
8787         * gst/parse/parse.l:
8788         Make the parser reentrant and recursively callable. This requires flex
8789         >= 2.5.31, for older versions pregenerated sources are used as we
8790         can't bump the build dependency. Finally fixes #349180.
8791
8792         * gst/gstparse.c: (gst_parse_launch):
8793         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
8794         now anyway.
8795
8796         * docs/gst/Makefile.am:
8797         * docs/gst/Makefile.am:
8798         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
8799         (__gst_parse_strfree), (__gst_parse_link_new),
8800         (__gst_parse_link_free), (__gst_parse_chain_new),
8801         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
8802         (gst_parse_element_set), (gst_parse_free_link),
8803         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
8804         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
8805         (_gst_parse_launch):
8806         * gst/parse/grammar.tab.pre.h:
8807         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
8808         (yy_get_previous_state), (yy_try_NUL_trans), (input),
8809         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
8810         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
8811         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
8812         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
8813         (_gst_parse_yypop_buffer_state),
8814         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
8815         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
8816         (yy_fatal_error), (_gst_parse_yyget_extra),
8817         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
8818         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
8819         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
8820         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
8821         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
8822         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
8823         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
8824         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
8825         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
8826         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
8827         (_gst_parse_yyfree):
8828         If the installed flex version is too old use pre-generated parser
8829         sources. These pre-generated parser sources are always updated when
8830         the actual flex/bison sources change but require everybody who wants
8831         to change something in the parser to have flex >= 2.5.31 installed.
8832
8833 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
8834
8835         * common/m4/gst-gettext.m4:
8836         * gst/gst-i18n-lib.h:
8837           Make --disable-nls to work
8838
8839 2007-04-17  Wim Taymans  <wim@fluendo.com>
8840
8841         * gst/gstconfig.h.in:
8842         Revert previous change that broke the build.
8843
8844 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
8845
8846         * configure.ac:
8847         * gst/Makefile.am:
8848         * gst/gstconfig.h.in:
8849           Drop libxml2 dependency when building with 
8850           --enable-binary-registry --disable-loadsave
8851
8852 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
8853
8854         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
8855         (gst_registry_binary_read_cache):
8856         * gst/gstregistrybinary.h:
8857           Remove unnecessary <sys/mman.h> include which broke the win32 build
8858           with MingW; move includes from header file to .c file, even if the
8859           header file isn't installed; use g_strerror() where UTF-8 strings
8860           are expected, such as in GST_DEBUG messages.
8861
8862 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
8863
8864         * docs/libs/gstreamer-libs-sections.txt:
8865         Remove bogus addition for API I didn't end up keeping.
8866
8867         * libs/gst/base/gstbasesrc.h:
8868         Mention Since: 0.10.13 in the documentation.
8869
8870         Add the API keyword to the previous ChangeLog entry.
8871
8872 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
8873
8874         * docs/libs/gstreamer-libs-sections.txt:
8875         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8876         (gst_base_src_default_prepare_seek_segment),
8877         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
8878         * libs/gst/base/gstbasesrc.h:
8879         Allow basesrc derived classes to execute seeks in other formats
8880         by providing a prepare_seek_segment vmethod. Sub-classes can choose
8881         to prepare the GstSegment in any format that their perform_seek method
8882         will be able to understand. The default implementation provides the
8883         old behaviour of attempting to convert the seek offsets to the 
8884         configured native format.
8885
8886         API: basesrc::prepare_seek_segment vmethod.
8887
8888 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
8889
8890         * gst/gstelement.c: (gst_element_get_state_func):
8891         Don't output the same debug statement twice.
8892
8893         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
8894         (gst_adapter_peek), (gst_adapter_take_buffer):
8895         Optimise the case where we have buffers at the head of the queue that
8896         can be joined quickly (because they're contiguous sub-buffers) by
8897         merging them together rather than copying data out into new memory.
8898
8899         * gst/parse/grammar.y:
8900         * tests/check/pipelines/parse-launch.c:
8901         Fix a leak in an error path for parse_launch, and add a check 
8902         for it to the testsuite.
8903
8904 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
8905
8906         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
8907           Don't deadlock when releasing a pad - gst_pad_set_active may try
8908           and take the multiqueue lock too.
8909
8910 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
8911
8912         * gst/gsterror.c: (_gst_core_errors_init):
8913         * gst/gsterror.h:
8914           API: add GST_CORE_ERROR_DISABLED (#392804).
8915
8916 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8917
8918         * docs/faq/gst-uninstalled:
8919           don't get empty paths on the PATH variables
8920         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
8921           Don't format for the uncommon terminal width of 84 characters.
8922
8923 2007-04-06  Wim Taymans  <wim@fluendo.com>
8924
8925         * gst/gstpipeline.c: (reset_stream_time),
8926         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
8927         Only try to select a different pipeline clock when we went back to
8928         PAUSED and not when we merely got flushed.
8929
8930 2007-04-05  Michael Smith  <msmith@fluendo.com>
8931
8932         * tools/gst-launch.1.in:
8933           fractions are better supported in gstreamer than ractions, so
8934           suggest using those.
8935
8936 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
8937
8938         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
8939
8940         * po/LINGUAS:
8941         * po/da.po:
8942           Added Danish translation.
8943
8944 2007-04-05  Wim Taymans  <wim@fluendo.com>
8945
8946         * libs/gst/base/gstbasesink.c:
8947         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
8948         Fix leak caused when refusing newsegment after EOS.
8949
8950         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
8951         (gst_fake_sink_init), (gst_fake_sink_set_property),
8952         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
8953         (gst_fake_sink_render), (gst_fake_sink_change_state):
8954         * plugins/elements/gstfakesink.h:
8955         Add num-buffers property to make the element generate EOS after a
8956         configurable amount of buffers.
8957         API: fakesink::num-buffers property.
8958
8959         * tests/check/elements/fakesink.c: (GST_START_TEST),
8960         (fakesink_suite):
8961         Fix GstBus leak in test.
8962         Test for fakesink num-buffers.
8963
8964 2007-04-05  Wim Taymans  <wim@fluendo.com>
8965
8966         * libs/gst/base/gstbasesink.c:
8967         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
8968         (gst_base_sink_change_state):
8969         Don't accept anything after an EOS, return UNEXPECTED instead.
8970
8971         * tests/check/elements/fakesink.c: (GST_START_TEST),
8972         (fakesink_suite):
8973         Unit test for new EOS behaviour.
8974
8975 2007-04-05  Wim Taymans  <wim@fluendo.com>
8976
8977         * gst/gstelement.c: (gst_element_get_request_pad):
8978         Make padtemplates also work when they don't contain %s or %d.
8979
8980 2007-04-05  Wim Taymans  <wim@fluendo.com>
8981
8982         * docs/gst/gstreamer-sections.txt:
8983         * gst/gstclock.c: (gst_clock_adjust_unlocked),
8984         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
8985         * gst/gstclock.h:
8986         Improve _adjust_unlocked() so that it overflows less.
8987         Add gst_clock_unadjust_unlocked to convert from external time to
8988         internal time based on calibration.
8989         Add some more debug.
8990         API: GstClock::gst_clock_unadjust_unlocked()
8991
8992 2007-04-03  Wim Taymans  <wim@fluendo.com>
8993
8994         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
8995
8996         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
8997         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
8998         when releasing sink pad. Fixes #425400.
8999
9000 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
9001
9002         * docs/random/ensonic/dynlink.txt:
9003           More work on proposal for new core api.
9004
9005         * docs/libs/gstreamer-libs-sections.txt:
9006         * libs/gst/base/gstbasetransform.h:
9007           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
9008           
9009         * libs/gst/controller/gstcontroller.c:
9010         (on_object_controlled_property_changed),
9011         (gst_controller_sync_values),
9012         (gst_controller_set_interpolation_mode):
9013         * libs/gst/controller/gstcontroller.h:
9014           Less verbose logging add docs for unimplemented parts and correctly
9015           return when using unavailable parts.
9016
9017 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9018
9019         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
9020         Move all the debug to the CLOCK category, and associate it with
9021         the clock object.
9022
9023 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
9024
9025         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
9026         Make take_buffer a bit quicker by removing redundant checks
9027         caused by calling gst_adapter_take.
9028
9029 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9030
9031         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
9032           Don't leak GCond.
9033
9034         * tests/check/Makefile.am:
9035         * tests/check/elements/.cvsignore:
9036         * tests/check/elements/multiqueue.c: (setup_multiqueue),
9037         (GST_START_TEST), (multiqueue_suite):
9038           Add some dead simple unit tests for the 'multiqueue' element
9039           (some bits don't work yet and are disabled for now).
9040
9041 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
9042
9043         * gst/gstelement.c: (gst_element_get_request_pad),
9044         (gst_element_class_get_request_pad_template):
9045           Make gst_element_get_request_pad() create request pads only for
9046           request pad templates and not for, say, sometimes pad templates.
9047
9048 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
9049
9050         * docs/design/draft-klass.txt:
9051           Add example that needs more thinking.
9052         
9053         * docs/design/draft-missing-plugins.txt:
9054           More thoughts about wrapper plugins.
9055         
9056         * docs/random/ensonic/embedded.txt:
9057         * docs/random/ensonic/profiling.txt:
9058           More design work.
9059
9060 2007-03-25  Wim Taymans  <wim@fluendo.com>
9061
9062         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
9063         (gst_base_src_loop):
9064         Only push the segment events in the PLAYING state for live sources.
9065
9066 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
9067
9068         * gst/gstpipeline.c: (gst_pipeline_change_state):
9069         Modify the clock distribution path in PAUSED->PLAYING so that we 
9070         never attempt to choose a new clock unless we're actually leaving
9071         the PAUSED state for the first time. This prevents choosing a
9072         different clock when the state_change gets called for a 2nd time due
9073         to some element doing an async state change.
9074
9075 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9076
9077         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
9078         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
9079         (gst_pad_chain_unchecked), (gst_pad_push):
9080         Revert last commit. This needs some more thoughts.
9081
9082 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
9083
9084         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
9085         (gst_pad_chain_unchecked), (gst_pad_push):
9086         Check in set_caps if the caps are compatible with the pad and remove
9087         two functions that are redundant now. Fixes #421543.
9088
9089 2007-03-22  Wim Taymans  <wim@fluendo.com>
9090
9091         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
9092         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
9093         Unref some more to make valgrind happy.
9094
9095 2007-03-22  Wim Taymans  <wim@fluendo.com>
9096
9097         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
9098         (gst_system_clock_id_wait_jitter),
9099         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
9100         Fix anoying regression that survived a few releases. When adding an
9101         async entry while blocking on a sync entry, the sync entry will unblock
9102         but still be busy, so it should continue to wait instead of returning
9103         _BUSY to the app.
9104         Add some comments here and there.
9105
9106         * tests/check/gst/gstsystemclock.c: (mixed_thread),
9107         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
9108         Add testcase for this.
9109
9110 2007-03-22  Wim Taymans  <wim@fluendo.com>
9111
9112         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9113         Handle errors from the clock sync better, only UNSCHEDULED indicates a
9114         WRONG_STATE and can silently pause the task. All other cases should
9115         error out.
9116
9117 2007-03-22  Wim Taymans  <wim@fluendo.com>
9118
9119         Patch by: Ville Syrjala <syrjala at sci dot fi>
9120
9121         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
9122         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
9123         Improve debugging.
9124
9125 2007-03-21  Michael Smith  <msmith@fluendo.com>
9126
9127         * docs/pwg/advanced-types.xml:
9128           Fix some errors in the typefinding docs pointed out on irc.
9129
9130 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
9131
9132         * libs/gst/base/gstbasesrc.c:
9133         Clarify FIXME comment in the face of having added unlock_stop()
9134
9135 2007-03-21  Wim Taymans  <wim@fluendo.com>
9136
9137         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
9138         Prepare for release where we warn against possible app breakage in the
9139         case of live pipelines along with an env var to enable/disable live
9140         preroll mode (GST_COMPAT=[no-]live-preroll).
9141
9142 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9143
9144         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
9145         So we should use correct constants for checking for None offset.
9146
9147 2007-03-20  Wim Taymans  <wim@fluendo.com>
9148
9149         * docs/design/part-block.txt:
9150         Mention the fact that the newly switched element should be set to at
9151         least PAUSED.
9152
9153 2007-03-20  Wim Taymans  <wim@fluendo.com>
9154
9155         * gst/gst.c:
9156         Fix compilation with registry disabled as spotted by Saur.
9157
9158 2007-03-20  Wim Taymans  <wim@fluendo.com>
9159
9160         Patch by: Olivier Crete <tester at tester dot ca>
9161
9162         * gst/gstelement.c: (gst_element_sync_state_with_parent):
9163         Look at the pending state too when syncing the element state to the
9164         parent. Fixes #420133.
9165
9166 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
9167
9168         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
9169         (gst_base_sink_change_state):
9170         * libs/gst/base/gstbasesink.h:
9171         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
9172         (gst_base_src_default_event), (gst_base_src_unlock_stop),
9173         (gst_base_src_deactivate):
9174         * libs/gst/base/gstbasesrc.h:
9175         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
9176         for sub-classes to correctly clear any state they set trying to
9177         unlock, such as clearing out unlock commands from a command fd.
9178         API: basesrc::unlock_stop
9179         API: basesink::unlock_stop
9180
9181         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
9182         (gst_fd_sink_render), (gst_fd_sink_unlock),
9183         (gst_fd_sink_unlock_stop):
9184         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
9185         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
9186         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
9187
9188         Implement unlock_stop in fdsrc and fdsink.
9189         Implement seeking in fdsrc when a seekable fd is passed, as in
9190         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
9191
9192 2007-03-19  Wim Taymans  <wim@fluendo.com>
9193
9194         Patch by: Evan Nemerson <evan at coeus dash group dot com>
9195
9196         * gst/gstelement.c: (gst_element_class_init):
9197         Fix pad-added and pad-removed signal signatures so that the pad type is
9198         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
9199
9200 2007-03-19  Wim Taymans  <wim@fluendo.com>
9201
9202         * docs/gst/gstreamer-sections.txt:
9203         Add new element field and method.
9204
9205         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9206         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
9207         (gst_bin_recalc_state), (gst_bin_get_state_func),
9208         (gst_bin_element_set_state), (gst_bin_change_state_func),
9209         (gst_bin_continue_func), (bin_bus_handler),
9210         (bin_push_state_continue), (bin_handle_async_start),
9211         (bin_handle_async_done), (gst_bin_handle_message_func):
9212         Make async state changes a bit smarter by using new ASYNC_START and
9213         ASYNC_DONE messages. This reduces the number of times we run the state
9214         recalculation thread.
9215         Don't change state of element with a pending ASYNC_START message.
9216         Deprecate STATE_DIRTY messages.
9217         
9218         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
9219         (gst_element_get_state_func), (gst_element_continue_state),
9220         (gst_element_lost_state), (gst_element_set_state_func),
9221         (gst_element_change_state):
9222         * gst/gstelement.h:
9223         Keep the state that was last set by the app in a new element field.
9224         Don't allow state changes when handling an element event.
9225         Post ASYNC_START and ASYNC_DONE messages.
9226         Change lost_state so that we go to PAUSED and wait for the parent to set
9227         us to PLAYING again (so latency calculation can be performed)
9228         Export gst_element_change_state() method so that subclasses can use it.
9229         API: gst_element_change_state()
9230         API: GST_STATE_TARGET
9231
9232         * gst/gstpipeline.c: (gst_pipeline_class_init),
9233         (reset_stream_time), (gst_pipeline_change_state),
9234         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
9235         Using the new ASYNC_START message we can reset the base_time when
9236         needed. This can then be used to implement base_time redistribution in
9237         flushing seeks so that we can remove the explicit seek handling.
9238         Perform latency query and configuration when going to PLAYING.
9239
9240         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
9241         (gst_base_sink_query), (gst_base_sink_change_state):
9242         Post new ASYNC_START/ASYNC_DONE messages.
9243
9244         * tests/check/generic/sinks.c: (GST_START_TEST):
9245         Fix test because the bin will not set the async element to PLAYING right
9246         away.
9247
9248         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
9249         Make the message check a little stronger.
9250         Handle ASYNC messages.
9251
9252         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
9253         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
9254         Expect ASYNC_DONE messages.
9255
9256 2007-03-19  Wim Taymans  <wim@fluendo.com>
9257
9258         * docs/gst/gstreamer-sections.txt:
9259         * gst/gstmessage.c: (gst_message_new_async_start),
9260         (gst_message_new_async_done), (gst_message_parse_info),
9261         (gst_message_parse_async_start):
9262         * gst/gstmessage.h:
9263         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
9264         support.
9265
9266 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
9267
9268         * tools/gst-inspect.c:
9269         (print_plugin_automatic_install_info_codecs):
9270           Now that we don't check for the 'Codec' keyword any longer in the
9271           klass, we shouldn't spew a warning if the klass isn't a decoder or
9272           encoder (since it might be a Source/Network, for example).
9273
9274 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
9275
9276         * tools/gst-inspect.c:
9277         (print_plugin_automatic_install_info_codecs):
9278           Don't require decoder/demuxer/depayloader elements or
9279           encoder/muxer/paylader elements to have 'Codec' as part of their
9280           factory class string when introspecting a plugin's capabilities.
9281           draft-klass.txt mentions that it might be removed in future, and
9282           flump3dec doesn't have it as part of its class string, so chances
9283           are others might also not have it.
9284
9285 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9286
9287         * po/af.po:
9288         * po/az.po:
9289         * po/bg.po:
9290         * po/ca.po:
9291         * po/cs.po:
9292         * po/de.po:
9293         * po/en_GB.po:
9294         * po/fr.po:
9295         * po/it.po:
9296         * po/nb.po:
9297         * po/nl.po:
9298         * po/ru.po:
9299         * po/sq.po:
9300         * po/sr.po:
9301         * po/sv.po:
9302         * po/tr.po:
9303         * po/uk.po:
9304         * po/vi.po:
9305         * po/zh_CN.po:
9306         * po/zh_TW.po:
9307           Update translations from translation project
9308
9309 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
9310
9311         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
9312         (gst_child_proxy_set_property):
9313           Invert precondition check to be alike the ones in the mimiced gobject
9314           api.
9315
9316 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
9317
9318         * docs/design/draft-tagreading.txt:
9319         * docs/random/ensonic/audiobaseclasses.txt:
9320           Do some Architect work.
9321
9322         * gst/gstobject.c: (gst_object_set_name):
9323           Add a WARNING.
9324
9325         * gst/gstpad.c:
9326           Add docs that point from gst_pad_get_range to gst_pad_pull_range
9327
9328 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
9329
9330         * gst/gstsystemclock.c: (gst_system_clock_init),
9331         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
9332         Defer starting the async system clock thread until the first async
9333         wait is scheduled. Fixes #414986.
9334
9335 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
9336
9337         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
9338         (gst_single_queue_free):
9339           Fix small leak (free GstSingleQueue structure too, not only contents).
9340
9341 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
9342
9343         * gst/gstbin.c:(gst_bin_add):
9344         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
9345         * win32/common/libgstbase.def:
9346         * win32/common/libgstreamer.def:
9347         Add new exported functions.
9348
9349 2007-03-09  Wim Taymans  <wim@fluendo.com>
9350
9351         * docs/plugins/gstreamer-plugins-sections.txt:
9352         Fix GstTee docs.
9353
9354 2007-03-09  Wim Taymans  <wim@fluendo.com>
9355
9356         * docs/gst/gstreamer-sections.txt:
9357         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
9358         * gst/gstbuffer.h:
9359         Add metadata copy functions. Fixes #393099.
9360         API: gst_buffer_copy_metadata()
9361
9362         * gst/gstutils.c: (gst_buffer_stamp):
9363         * libs/gst/base/gstbasetransform.c:
9364         (gst_base_transform_prepare_output_buffer):
9365         Use new metadata copy functions.
9366
9367 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9368
9369         * plugins/elements/gstidentity.c: (gst_identity_class_init),
9370         (gst_identity_init), (gst_identity_check_perfect),
9371         (gst_identity_check_imperfect_timestamp),
9372         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
9373         (gst_identity_set_property), (gst_identity_get_property):
9374         * plugins/elements/gstidentity.h:
9375         Separate out check-imperfect-timestamp and check-imperfect-offset.
9376         Put back check-perfect as it was to keep compatibility.
9377
9378 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
9379
9380         * gst/gstelement.c: (gst_element_dispose):
9381         There's no need to warn if VOID_PENDING is not NONE here, as
9382         long as the state is NULL it's ok, and that's checked immediately
9383         above.
9384
9385 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9386
9387         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9388         Fix check for perfect stream to ignore buffers with -1 
9389         offsets/offset ends when checking data contiguity.
9390
9391 2007-03-08  Wim Taymans  <wim@fluendo.com>
9392
9393         * tools/gst-launch.c: (event_loop):
9394         Print INFO messages.
9395
9396 2007-03-08  Wim Taymans  <wim@fluendo.com>
9397
9398         * libs/gst/base/gstbasetransform.c:
9399         (gst_base_transform_sink_eventfunc),
9400         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
9401         (gst_base_transform_activate):
9402         * libs/gst/base/gstbasetransform.h:
9403         Add support for dropping buffers with custom GstFlowReturn.
9404         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
9405         buffers or dropped buffers.
9406
9407         * docs/libs/gstreamer-libs-sections.txt:
9408         docs for new custom return code.
9409
9410         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9411         Use drop support in base class to implement drop-probability.
9412
9413 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
9414
9415         * gst/gst.c: (load_plugin_func):
9416         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
9417         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
9418         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
9419           Remove newlines at end of debug log strings.
9420
9421 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9422
9423         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9424         Only post bus message at max, once per buffer received.
9425
9426 2007-03-07  Wim Taymans  <wim@fluendo.com>
9427
9428         * docs/design/Makefile.am:
9429         * docs/design/part-synchronisation.txt:
9430         Add doc about synchronisation
9431
9432         * docs/design/draft-latency.txt:
9433         * docs/design/part-TODO.txt:
9434         * docs/design/part-clocks.txt:
9435         * docs/design/part-events.txt:
9436         * docs/design/part-gstbus.txt:
9437         * docs/design/part-gstpipeline.txt:
9438         * docs/design/part-live-source.txt:
9439         * docs/design/part-messages.txt:
9440         * docs/design/part-overview.txt:
9441         * docs/design/part-streams.txt:
9442         * docs/design/part-trickmodes.txt:
9443         Documentation updates.
9444
9445 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9446
9447         * gstreamer.doap:
9448         Update the doap file.
9449
9450 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9451
9452         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
9453         Rename non-perfect to imperfect for Mike and for the sanctity of the
9454         language.
9455         Also make sure bus message gets emitted for data-incontiguities.
9456
9457 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
9458
9459         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
9460         (gst_identity_start):
9461         * plugins/elements/gstidentity.h:
9462         Emit bus message if check-perfect is true and we encounter a
9463         non-perfect stream between 2 consecutive buffers.
9464         Fixes #415394.
9465
9466 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
9467
9468         * configure.ac:
9469         Back to CVS
9470
9471 === release 0.10.12 ===
9472
9473 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
9474
9475         * configure.ac:
9476           releasing 0.10.12, "Inevitable Demise"
9477
9478 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
9479
9480         * configure.ac:
9481          Version 0.10.11.2 (0.10.12 pre-release)
9482          Bump libtool versioning.
9483
9484 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
9485
9486         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
9487           Log flow-names and not numbers.
9488
9489 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9490
9491         * configure.ac:
9492           Convert to new AG_GST style.
9493
9494 2007-02-28  Wim Taymans  <wim@fluendo.com>
9495
9496         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
9497         Don't unref query twice.
9498
9499 2007-02-28  Wim Taymans  <wim@fluendo.com>
9500
9501         * gst/gstvalue.c: (gst_value_transform_object_string),
9502         (_gst_value_initialize):
9503         Implement GstObject -> string transform so we print object names
9504         when serializing GValues containing GstObjects.
9505
9506 2007-02-28  Wim Taymans  <wim@fluendo.com>
9507
9508         * docs/gst/gstreamer-sections.txt:
9509         Add new stuff to docs.
9510
9511 2007-02-28  Wim Taymans  <wim@fluendo.com>
9512
9513         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
9514         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
9515         (gst_base_sink_change_state):
9516         Improve latency query code.
9517         Don't leak latency events.
9518
9519         * tests/check/gst/gstbin.c: (GST_START_TEST):
9520         Improve debugging.
9521
9522 2007-02-28  Wim Taymans  <wim@fluendo.com>
9523
9524         * gst/gstelement.c: (gst_element_message_full),
9525         (gst_element_get_state_func):
9526         * gst/gstelement.h:
9527         Improve docs a little. Added Since: for new macro.
9528
9529         * gst/gstobject.c: (gst_object_sink):
9530         * gst/gstpipeline.c: (gst_pipeline_change_state),
9531         (gst_pipeline_set_new_stream_time):
9532         * gst/gstpipeline.h:
9533         Improve debugging and docs.
9534
9535         * gst/gstutils.c: (gst_element_state_change_return_get_name):
9536         Improve debugging.
9537
9538 2007-02-28  Wim Taymans  <wim@fluendo.com>
9539
9540         * gst/gstelement.c: (gst_element_message_full),
9541         (gst_element_set_locked_state), (gst_element_get_state_func),
9542         (gst_element_change_state):
9543         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
9544         Documentation updates.
9545         Small code cleanups.
9546
9547         * gst/gstmessage.c: (gst_message_new_info),
9548         (gst_message_parse_info):
9549         * gst/gstmessage.h:
9550         API: gst_message_new_info()
9551         API: gst_message_parse_info()
9552         Add INFO message create and parse code.
9553
9554 2007-02-28  Wim Taymans  <wim@fluendo.com>
9555
9556         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
9557         (bin_query_latency_done):
9558         Also report the live parameter of a latency query.
9559
9560 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9561
9562         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
9563           Copy the current generic/states example from -base and adapt so
9564           we can use the exact same code everywhere.
9565           Check a STATES_IGNORE_ELEMENTS env var which can be used
9566           to ignore certain element factories for this test, which is
9567           what is being done in -base
9568         * tests/check/Makefile.am:
9569           Mention this environment variable.
9570
9571 2007-02-27  Wim Taymans  <wim@fluendo.com>
9572
9573         * docs/gst/gstreamer-sections.txt:
9574         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
9575         (gst_bus_timed_pop), (gst_bus_pop):
9576         * gst/gstbus.h:
9577         API: gst_bus_timed_pop()
9578         Implement gst_bus_timed_pop() to do a blocking timed wait for a
9579         message to arrive on the bus.
9580
9581         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
9582         (gst_bus_suite):
9583         Two unit tests for new _timed_pop() function.
9584
9585 2007-02-23  Wim Taymans  <wim@fluendo.com>
9586
9587         * gst/gstpipeline.c: (gst_pipeline_change_state),
9588         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
9589         Don't ref a NULL clock in _provide_clock_func().
9590         Don't allow an INVALID delay.
9591         Don't try to calculate base_time with an invalid start_time.
9592         Also distribute and notify a NULL clock when it was selected.
9593
9594         * tools/gst-launch.c: (event_loop):
9595         Don't crash when a NULL clock was selected in the pipeline.
9596
9597 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
9598
9599         * docs/design/Makefile.am:
9600         * docs/design/draft-missing-plugins.txt:
9601         * docs/random/draft-missing-plugins.txt:
9602           Some small updates: update plugin system identifier prefix
9603           ('gstreamer.net' to 'gstreamer'), mention our new install
9604           API in libgstbaseutils rather than libgimme-codec, add
9605           reference to the online docs.
9606
9607 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9608
9609         * win32/common/config.h:
9610           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
9611           use moap cl ci to only check in what is mentioned in the ChangeLog.
9612
9613 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9614
9615         * docs/gst/gstreamer-sections.txt:
9616         * gst/gstelement.h:
9617           Fix up documentation to link to the correct GstGError section.
9618           Add GST_ELEMENT_INFO macro since someone else added a Info message.
9619
9620 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
9621
9622         * tools/gst-launch.c: (event_loop):
9623           Make sure that we actually show the important message part of a
9624           warning message.
9625           No need to check if the gerror is not NULL to free; first of all
9626           g_free accepts NULL; and second the default error handler would
9627           segfault if gerror was NULL.
9628
9629 2007-02-21  Wim Taymans  <wim@fluendo.com>
9630
9631         * docs/gst/gstreamer-sections.txt:
9632         Removed docs as well.
9633
9634 2007-02-21  Wim Taymans  <wim@fluendo.com>
9635
9636         * gst/gstmessage.c: (gst_message_parse_duration):
9637         * gst/gstmessage.h:
9638         Remove new messages for release.
9639
9640 2007-02-20  Wim Taymans  <wim@fluendo.com>
9641
9642         * docs/design/part-gstghostpad.txt:
9643         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
9644         (gst_ghost_pad_new_full):
9645         Make the ghostpad a parent of the internal pad again for better backward
9646         compatibility. Don't write code that relies on this however.
9647
9648         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
9649         (gst_pad_link_check_hierarchy):
9650         Require that parents should be GstElements in the hierarchy check.
9651
9652 2007-02-20  Wim Taymans  <wim@fluendo.com>
9653
9654         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
9655         (gst_bin_change_state_func), (bin_query_min_max_init),
9656         (bin_query_latency_fold), (bin_query_latency_done),
9657         (gst_bin_query):
9658         Improve debug info.
9659         Implement latency query.
9660
9661 2007-02-20  Wim Taymans  <wim@fluendo.com>
9662
9663         * docs/design/part-gstghostpad.txt:
9664         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
9665         (gst_ghost_pad_internal_do_activate_push),
9666         (gst_ghost_pad_internal_do_activate_pull),
9667         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
9668         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
9669         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
9670         Do not set the internal pad as a parent anymore so we can avoid
9671         hierarchy linking errors when the ghostpad has no parent yet. This also
9672         fixes failed activation because of unlinked internal pads, which in
9673         turn fixes the impossible case where you have to activate a pad before
9674         you can add it to a running element.
9675         Also fix the docs.
9676
9677         * gst/gstpad.c: (pre_activate), (post_activate),
9678         (gst_pad_set_active), (gst_pad_activate_pull),
9679         (gst_pad_activate_push), (gst_pad_check_pull_range):
9680         Add some more debug info.
9681         Mark activation mode in pre_activate so that we don't try to activate in
9682         endless loops. Fixes #385084.
9683
9684 2007-02-19  Wim Taymans  <wim@fluendo.com>
9685
9686         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
9687         (gst_base_transform_check_get_range):
9688         Implement a checkgetrange function instead of relying on the default
9689         core behaviour that assumes we can operate in pull mode if we have a
9690         getrange function. First step at fixing #385084.
9691
9692 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
9693
9694         * gst/gstchildproxy.h:
9695         * libs/gst/base/gstbasesink.h:
9696         * libs/gst/base/gstbasesrc.h:
9697         * libs/gst/base/gstbasetransform.h:
9698         More docs coverage and some ChangeLog surgery (add missing names)
9699
9700 2007-02-15  Wim Taymans  <wim@fluendo.com>
9701
9702         * docs/design/part-TODO.txt:
9703         * docs/design/part-activation.txt:
9704         * docs/design/part-block.txt:
9705         * docs/design/part-buffering.txt:
9706         * docs/design/part-clocks.txt:
9707         * docs/design/part-element-source.txt:
9708         * docs/design/part-events.txt:
9709         * docs/design/part-gstbin.txt:
9710         * docs/design/part-gstbus.txt:
9711         * docs/design/part-gstpipeline.txt:
9712         * docs/design/part-live-source.txt:
9713         * docs/design/part-messages.txt:
9714         * docs/design/part-overview.txt:
9715         * docs/design/part-qos.txt:
9716         * docs/design/part-query.txt:
9717         * docs/design/part-states.txt:
9718         * docs/design/part-trickmodes.txt:
9719         Some doc updates. Start renaming from stream_time to running_time where
9720         it was used wrongly.
9721
9722 2007-02-15  Wim Taymans  <wim@fluendo.com>
9723
9724         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
9725         Answer LATENCY query.
9726
9727 2007-02-15  Wim Taymans  <wim@fluendo.com>
9728
9729         * tests/check/gst/gstevent.c: (event_probe), (test_event),
9730         (GST_START_TEST):
9731         Improve debugging.
9732
9733 2007-02-15  Wim Taymans  <wim@fluendo.com>
9734
9735         * gst/gstpad.c: (gst_pad_get_internal_links_default),
9736         (gst_pad_dispatcher):
9737         Improve debugging of default pad dispatcher and query functions.
9738
9739 2007-02-15  Wim Taymans  <wim@fluendo.com>
9740
9741         * docs/gst/gstreamer-sections.txt:
9742         Remove old unused method.
9743
9744 2007-02-13  Wim Taymans  <wim@fluendo.com>
9745
9746         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9747         Fix check
9748
9749 2007-02-13  Wim Taymans  <wim@fluendo.com>
9750
9751         * docs/design/part-seeking.txt:
9752         Some small update.
9753
9754         * gst/gstsegment.c: (gst_segment_set_seek):
9755         Revert old bogus change that should make seeking work again.
9756
9757 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
9758
9759         * docs/random/ensonic/dynlink.txt:
9760         * docs/random/ensonic/interfaces.txt:
9761         * docs/random/ensonic/receipies.txt:
9762           Possible dynamic reconnection api, plus some type fixes the other two
9763           docs.
9764
9765 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
9766
9767         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9768         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9769         Also check for an absolute path following file:// in the filesrc
9770         element. Remove redundant check and call g_path_is_absolute() on the
9771         unescaped location.
9772
9773 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
9774
9775         * docs/design/draft-klass.txt:
9776           Add existing category analysis.
9777           
9778         * gst/gstcaps.c:
9779           Fix doc example, framerate is a fraction.
9780
9781 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
9782
9783         * configure.ac:
9784         * docs/gst/Makefile.am:
9785         * docs/gst/gstreamer-sections.txt:
9786         * docs/libs/Makefile.am:
9787           Erm, forgot a bunch of --extra-dir.
9788
9789 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
9790
9791         * configure.ac:
9792         * docs/gst/Makefile.am:
9793         * docs/libs/Makefile.am:
9794         * docs/plugins/Makefile.am:
9795           Add crossreferences to glib/gobject docs.
9796
9797 2007-02-12  Wim Taymans  <wim@fluendo.com>
9798
9799         * docs/design/draft-latency.txt:
9800         Small update.
9801
9802         * docs/libs/gstreamer-libs-sections.txt:
9803         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
9804         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
9805         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
9806         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
9807         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
9808         (gst_base_sink_get_position), (gst_base_sink_query),
9809         (gst_base_sink_change_state):
9810         * libs/gst/base/gstbasesink.h:
9811         API: gst_base_sink_query_latency() to let subclasses query the upstream
9812         latency.
9813         API: gst_base_sink_get_latency() to let subclasses query the configured
9814         latency in the sink.
9815         Implement query and set latency.
9816         Update some docs.
9817         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
9818         don't continue preroll when we are flushing. Fixes #405284.
9819
9820         * tests/check/pipelines/stress.c: (change_state_timeout),
9821         (quit_timeout), (GST_START_TEST), (stress_suite):
9822         Test for #405284.
9823
9824 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
9825
9826         Patch by: René Stadler <mail at renestadler de>
9827
9828         * docs/gst/gstreamer-sections.txt:
9829         * gst/gsttaglist.c: (_gst_tag_initialize):
9830         * gst/gsttaglist.h:
9831           API: add GST_TAG_REFERENCE_LEVEL (#403597).
9832
9833 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
9834
9835         * docs/libs/Makefile.am:
9836           Fix path to core docs.
9837
9838         * gst/gstbin.c: (gst_bin_get_by_interface),
9839         (gst_bin_iterate_all_by_interface):
9840           Refix docs by also renaming 'interface' to 'iface' in implementation.
9841
9842         * docs/gst/gstreamer-sections.txt:
9843         * gst/gstcaps.c:
9844         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
9845         * gst/gstchildproxy.h:
9846         * gst/gstelementfactory.c:
9847         * gst/gstpadtemplate.h:
9848         * libs/gst/controller/gstcontroller.c:
9849         (gst_controlled_property_new):
9850           Document more.
9851
9852 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
9853
9854         * gst/gstbin.h:(gst_bin_get_by_interface),
9855         (gst_bin_iterate_all_by_interface):
9856         Replace interface parameter name by iface as interface is 
9857         a reserved keyword in Visual Studio for C++ projects so it removes
9858         a build error for application developpers using VS.
9859         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
9860         Fix a bug on Windows in uri format check. Now the prefix checked
9861         is file:// and next we check if the path after file:// is absolute.
9862         * win32/common/libgstbase.def:
9863         * win32/common/libgstdataprotocol.def:
9864         * win32/common/libgstgstreamer.def:
9865         Add new exported functions.
9866
9867 2007-02-09  Andy Wingo  <wingo@pobox.com>
9868
9869         * tests/check/pipelines/simple-launch-lines.c
9870         (simple_launch_lines_suite, test_tee): Disable tee test until I
9871         have time to fix it :-(
9872
9873         * tests/check/Makefile.am (noinst_HEADERS): 
9874         * tests/check/libs/libsabi.c: 
9875         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
9876         * tests/check/gst/gstabi.c: 
9877         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
9878
9879         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
9880         tests for push and pull tee behavior.
9881
9882         * plugins/elements/gsttee.h: 
9883         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
9884         mark as deprecated as well as unimplemented. It was a crack idea.
9885         Add support for tee operating in pull mode, off by default.
9886
9887         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
9888         normal-case logs down to LOG, raise errors to WARNING.
9889         (gst_registry_xml_read_cache): Don't log before calling a function
9890         that logs.
9891
9892         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
9893         exit (registry finalize).
9894         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
9895         DEBUG log when we emit signals that people don't even have the
9896         chance to connect to.
9897         (gst_registry_scan_path_level): Less logging in the normal case.
9898
9899 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
9900
9901         Patch by: Michal Benes <michal dot benes at itonis dot tv>
9902
9903         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
9904         Correctly generate EOS for non-seekable files. We don't have a total
9905         length for them and would get an unexpected end of file if we only
9906         special-cased for regular files. (Fixes: #404569)
9907
9908 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
9909
9910         * tests/check/elements/filesrc.c: (GST_START_TEST),
9911         (filesrc_suite):
9912         Add unit test for the GstURIHandler interface in filesrc. This also
9913         tests the newly added file://localhost/foo/bar support.
9914
9915 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
9916
9917         * gst/gstelementfactory.h:
9918           The klass string is not a hierarchy. Add reference to the design doc
9919           for more information and common types.
9920
9921 2007-02-02  Wim Taymans  <wim@fluendo.com>
9922
9923         * gst/gstquery.c: (gst_query_new_latency):
9924         Remove old structure field.
9925
9926 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
9927
9928         * tools/gst-launch.1.in:
9929           Give example for network streaming (#351998)
9930
9931 2007-02-02  Wim Taymans  <wim@fluendo.com>
9932
9933         * docs/gst/gstreamer-sections.txt:
9934         Add docs for new methods.
9935
9936         * gst/gstevent.c: (gst_event_new_latency),
9937         (gst_event_parse_latency):
9938         * gst/gstevent.h:
9939         Add new LATENCY event to configure latency in a pipeline.
9940         API: gst_event_new_latency
9941         API: gst_event_parse_latency
9942
9943         * gst/gstmessage.c: (gst_message_new_buffering),
9944         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
9945         (gst_message_new_latency), (gst_message_parse_buffering),
9946         (gst_message_parse_lost_preroll):
9947         * gst/gstmessage.h:
9948         Added messages used in draft-latency.
9949         API: gst_message_new_lost_preroll
9950         API: gst_message_parse_lost_preroll
9951         API: gst_message_new_prerolled
9952         API: gst_message_new_latency
9953
9954         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
9955         (gst_query_parse_latency):
9956         * gst/gstquery.h:
9957         Implemented new latency query as in design doc.
9958         API: gst_query_new_latency
9959         API: gst_query_set_latency
9960         API: gst_query_parse_latency
9961
9962 2007-02-02  Wim Taymans  <wim@fluendo.com>
9963
9964         * docs/design/draft-latency.txt:
9965         Slight redesign to allow for dynamic latency adjustments.
9966
9967         * docs/design/part-negotiation.txt:
9968         Fix some typos.
9969
9970 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
9971
9972         reviewed by: Wim Taymans <wim@fluendo.com>
9973
9974         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
9975         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
9976         Allow file://localhost/foo/bar URLs and correctly fail for every other
9977         hostname that one sets. This was gnomevfssrc is linked for those if
9978         installed as it can handle it (#403172)
9979
9980 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
9981
9982         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
9983
9984         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
9985         (unref_data), (gst_collect_pads_add_pad_full):
9986         * libs/gst/base/gstcollectpads.h:
9987         Don't put the previously added destroy notify in the GstCollectData
9988         struct as all it's padding is already used and we don't want to break
9989         ABI. Instead put in the pad's GObject data for now. This should be
9990         cleaned up for 0.11 (#402393).
9991
9992 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
9993
9994         reviewed by: Wim Taymans <wim@fluendo.com>
9995
9996         * docs/libs/gstreamer-libs-sections.txt:
9997         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
9998         (unref_data), (gst_collect_pads_add_pad),
9999         (gst_collect_pads_add_pad_full):
10000         * libs/gst/base/gstcollectpads.h:
10001         API: Add function to specify a destroy notification for custom
10002         GstCollectData when adding new pads in GstCollectPads (#402393).
10003
10004 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
10005
10006         * po/sv.po:
10007           Update Swedish translation (#378255).
10008
10009 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10010
10011         * docs/design/draft-klass.txt:
10012           Fix the previous change, this is a list of categories and not a hierarchy.
10013
10014 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
10015
10016         * docs/design/draft-klass.txt:
10017           Add info about how to get a list of used classes.
10018
10019 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
10020
10021         * plugins/elements/gsttypefindelement.c:
10022         (gst_type_find_element_chain_do_typefinding),
10023         (gst_type_find_element_change_state):
10024           Don't leak found caps in chain function (no idea why that never
10025           showed up as a leak anywhere).
10026
10027 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
10028
10029         * gst/gstplugin.h:
10030           Fix and expand GstPluginDesc API docs.
10031
10032 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10033
10034         * gst/gstcaps.c:
10035         * gst/gstelementfactory.c:
10036         * gst/gstpadtemplate.h:
10037           api doc fixes
10038
10039         * libs/gst/controller/gstcontroller.c:
10040         (gst_controlled_property_new):
10041         * tests/examples/controller/audio-example.c:
10042           comment fixes
10043
10044 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
10045
10046         * configure.ac:
10047           comment about refining the xml deps
10048
10049         * docs/manuals.mak:
10050           comments about moving away from jade for docs
10051         
10052         * gst/gst.c:
10053           recommit the ifdefs to use the binary registry
10054         
10055         * gst/gstbin.c: (gst_bin_change_state_func):
10056           this break is obsolete
10057
10058         * gst/gstelementfactory.h:
10059           better GST_ELEMENT_DETAILS docs, add comment about translation
10060
10061         * gst/gstinfo.h:
10062           remove eol slash
10063
10064         * gst/gstobject.c: (gst_signal_object_get_type):
10065           add G_UNLIKELY as usual
10066
10067         * gst/gstpad.c: (gst_pad_event_default):
10068           add fall trhu comment
10069
10070         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10071         (gst_registry_binary_initialize_magic),
10072         (gst_registry_binary_save_string),
10073         (gst_registry_binary_save_pad_template),
10074         (gst_registry_binary_save_feature),
10075         (gst_registry_binary_save_plugin),
10076         (gst_registry_binary_write_cache),
10077         (gst_registry_binary_check_magic),
10078         (gst_registry_binary_load_pad_template),
10079         (gst_registry_binary_load_feature),
10080         (gst_registry_binary_load_plugin),
10081         (gst_registry_binary_read_cache):
10082           comment typo and formatting
10083
10084         * gst/gstutils.c: (gst_element_state_get_name),
10085         (gst_element_state_change_return_get_name):
10086           remove obsolete breaks
10087
10088         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
10089           add FIXME 0.11 and remove cpp comment
10090
10091 2007-01-29  Edward Hervey  <edward@fluendo.com>
10092
10093         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10094         Fix print statement in an even more portable way.
10095
10096 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
10097
10098         * docs/gst/gstreamer-sections.txt:
10099         * gst/gstutils.h:
10100           API: add GST_ROUND_DOWN_* macros (#401781).
10101
10102 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
10103
10104         * docs/gst/gstreamer.types.in:
10105         * gst/gstregistry.c: (gst_registry_class_init):
10106           Document registry signals and make gtk-doc pick them up (#401381).
10107
10108 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10109
10110         * docs/pwg/building-testapp.xml:
10111           Add some audioconverts and audioresample to the pipeline, and some
10112           more comments and error handling.
10113
10114 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
10115
10116         * docs/manual/manual.xml:
10117         * docs/pwg/pwg.xml:
10118           Fix typo (#400987).
10119
10120 2007-01-26  Wim Taymans  <wim@fluendo.com>
10121
10122         * gst/gstcaps.c: (gst_static_caps_get):
10123         Init caps flags too.
10124
10125 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
10126
10127         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
10128
10129         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
10130         If not using mmap'ed files try to seek to the end instead of the
10131         start to determine whether we can seek at all. This fixes the case
10132         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
10133         seeks for everything afterwards fail. Fixes #400656
10134
10135 2007-01-25  Wim Taymans  <wim@fluendo.com>
10136
10137         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
10138         Add some refcount debugging.
10139         Make gst_static_caps_get threadsafe, which is needed when autoplugging
10140         in multiple streaming threads.
10141
10142 2007-01-25  Wim Taymans  <wim@fluendo.com>
10143
10144         Patch by: David Schleef <ds at schleef dot org>
10145
10146         * docs/libs/gstreamer-libs-sections.txt:
10147         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
10148         * libs/gst/base/gstadapter.h:
10149         API: gst_adapter_copy() that can reduce the amount of memcpy when
10150         getting data from the adapter. Fixes #388201.
10151
10152 2007-01-25  Edward Hervey  <edward@fluendo.com>
10153
10154         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
10155         In print statements, "%x" is for guint. Fixes build on macosx.
10156
10157 2007-01-24  Edward Hervey  <edward@fluendo.com>
10158
10159         * plugins/elements/gstmultiqueue.c:
10160         (gst_multi_queue_loop):
10161         Small fix.
10162         (single_queue_overrun_cb), (single_queue_underrun_cb),
10163         (single_queue_check_full), (gst_single_queue_new):
10164         Implement single queue growth system.
10165         This uses the extra-size properties, and will grow single queues by
10166         that much if one goes full whereas there are others empty. This is
10167         called extra-mode in the code.
10168         When a single queue's levels go back below the initial max-size
10169         limits, it is no longer in extra-mode. This is to ensure we don't
10170         consume too much memory.
10171         Fixes #399875
10172
10173 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
10174
10175         * gst/gst.c: (gst_init_get_option_group):
10176           Make warning about late g_thread_init() calls a bit more explicit,
10177           so that it's more obvious to application developers what they need
10178           to do if a user files a bug against their application.
10179
10180 2007-01-22  Edward Hervey  <edward@fluendo.com>
10181
10182         * plugins/elements/gstmultiqueue.c:
10183         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
10184         Remove previous hack of unsetting the flushing flag for the source pad
10185         instead of activating it. Instead, fix the source pad activate function
10186         so that it no longer depends on having a parent set or not.
10187
10188 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
10189
10190         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
10191
10192         * docs/manual/basics-bus.xml:
10193           Fix example code, gst_element_unref() doesn't exist any longer.
10194
10195 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
10196
10197         Patch by: Mark Nauwelaerts <manauw at skynet be>
10198
10199         * gst/gstpad.c:
10200           Fix two docs typoes (#399094).
10201
10202 2007-01-19  Edward Hervey  <edward@fluendo.com>
10203
10204         * docs/faq/gst-uninstalled:
10205         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
10206         depending on libgstbaseutils can work in uninstalled environment.
10207
10208 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
10209
10210         * gst/gsttaglist.h:
10211         * gst/gsttagsetter.c:
10212         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
10213         statement for new tag.
10214
10215 2007-01-17  Edward Hervey  <edward@fluendo.com>
10216
10217         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
10218         When dynamically creating single queues, activate sinkpad before adding
10219         it.
10220         We should be doing the same thing for the source pad, but we can't
10221         since it would call a method which needs the parent to be set in order
10222         to work propertly. Instead of activating the source pad, we just unset
10223         the flushing flag, which is the minimal requirement for adding a pad
10224         to an element in a state greater than READY.
10225
10226 2007-01-17  Edward Hervey  <edward@fluendo.com>
10227
10228         * docs/faq/gst-uninstalled:
10229         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
10230         Mac OS X.
10231
10232 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
10233
10234         * tests/check/gst/gstabi.c:
10235         * tests/check/gst/struct_hppa.h:
10236         * tests/check/libs/libsabi.c:
10237         * tests/check/libs/struct_hppa.h:
10238           Add ABI structs for HPPA (see #393796).
10239
10240 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
10241
10242         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
10243           Actually write ABI structs to the file specified in the GST_ABI
10244           environment variable, as the message we print claims we would.
10245
10246 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10247
10248         * tests/check/gst/gsttask.c:
10249           Fix header comment.
10250
10251 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10252
10253         * gst/gsttaglist.c: (_gst_tag_initialize):
10254           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
10255           previous two entries.
10256
10257 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10258
10259         * docs/gst/gstreamer-sections.txt:
10260         * gst/gsttaglist.c: (_gst_tag_initialize):
10261         * gst/gsttaglist.h:
10262           Add tag support for beat-per-minute.
10263
10264 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
10265
10266         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10267         (gst_registry_binary_initialize_magic),
10268         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
10269         (gst_registry_binary_save_pad_template),
10270         (gst_registry_binary_save_feature),
10271         (gst_registry_binary_save_plugin),
10272         (gst_registry_binary_write_cache),
10273         (gst_registry_binary_check_magic),
10274         (gst_registry_binary_load_pad_template),
10275         (gst_registry_binary_load_feature),
10276         (gst_registry_binary_load_plugin),
10277         (gst_registry_binary_read_cache):
10278         * gst/gstregistrybinary.h:
10279           Use glib types, cleanup comments, impement interfaces and uri-types.
10280
10281 2007-01-13  Andy Wingo  <wingo@pobox.com>
10282
10283         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
10284         getrange() to return buffers with other caps, while we fix
10285         demuxers and typefind, or otherwise change part-negotiation.txt.
10286
10287 2007-01-12  Andy Wingo  <wingo@pobox.com>
10288
10289         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
10290         Factor start/stop into this private function instead of partially
10291         in activate functions and partially in the change_state function.
10292         Fixes setup before the element has changed from READY->PAUSED, as
10293         is the case in pull-mode pipelines.
10294         (gst_base_transform_sink_activate_push)
10295         (gst_base_transform_src_activate_pull): Refactor to use
10296         gst_base_transform_activate().
10297         (gst_base_transform_change_state): Removed, not needed any more.
10298
10299         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10300         Truncate before fixating.
10301         
10302         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
10303         Don't set_caps() if the result of fixating is ANY, as it's not
10304         supported, and not necessary in the case of a link with no
10305         template caps on either side. Fixes tests/check/libs/basesrc in
10306         some pull-mode tests.
10307
10308         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
10309         (gst_base_transform_init, gst_base_transform_sink_activate_push)
10310         (gst_base_transform_src_activate_pull): 
10311         Track the activation mode.
10312         (gst_base_transform_setcaps): In pull mode, when activating the
10313         src pad, after activating the sink pad, activate the sink pad's
10314         peer, as discussed in part-negotiation.txt.
10315
10316         * libs/gst/base/gstbasesrc.h: 
10317         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
10318         vmethod, as in basesink.
10319
10320         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
10321
10322         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
10323         mode, first proxy the setcaps to the peer pad.
10324         (gst_base_sink_pad_fixate): Add a fixate function that calls the
10325         new fixate vmethod.
10326         (gst_base_sink_default_activate_pull): Rename from
10327         gst_base_sink_activate_pull.
10328         (gst_base_sink_negotiate_pull): New function, performs negotiation
10329         in pull mode before calling ::activate_pull().
10330         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
10331         vmethod instead of the default implementation. I have no idea how
10332         this worked before. Negotiate before calling activate_pull.
10333
10334         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
10335         sink pads in pull mode. In addition to being correct, fixes
10336         filesrc ! decodebin ! identity ! fakesink.
10337         (gst_pad_get_range, gst_pad_pull_range): Don't call
10338         gst_pad_set_caps() if the caps changes; instead error out with
10339         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
10340
10341 2007-01-12  Andy Wingo  <wingo@pobox.com>
10342
10343         * docs/design/part-negotiation.txt: Update with more policy.
10344
10345 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10346
10347         * libs/gst/check/gstbufferstraw.h:
10348         * libs/gst/check/gstcheck.h:
10349           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
10350           belongs.
10351
10352 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10353
10354         * tests/check/Makefile.am:
10355         * tests/check/gst/.cvsignore:
10356         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
10357         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
10358         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
10359         (GST_START_TEST), (gst_tag_setter_suite):
10360           Add minimal unit test for beforementioned GstTagSetter bug.
10361
10362 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
10363
10364         Patch by: René Stadler <mail at renestadler dot de>
10365
10366         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
10367           gst_tag_list_merge() returns a new list, so it's not the best idea
10368           to ingore its return value. Effectively meant that tags could only
10369           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
10370           Also add function guard to require a non-NULL taglist as input (has
10371           always been so due to gst_tag_list_copy(), just making it explicit).
10372
10373 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10374
10375         * docs/random/draft-missing-plugins.txt:
10376           Some additions: mention new API that is supposed to be used at the
10377           various stages; short blob about new gst-inspect introspection
10378           option; mention potential future problem with plugins that have
10379           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
10380
10381 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10382
10383         * tools/gst-inspect.c:
10384         (print_plugin_automatic_install_info_codecs),
10385         (print_plugin_automatic_install_info_protocols),
10386         (print_plugin_automatic_install_info), (main):
10387         Add --print-plugin-auto-install-info option to gst-inspect, so we can
10388         introspect plugin files and get machine-parsable output that corresponds
10389         to the last bit of the missing-plugin installer string (small gotcha:
10390         doesn't take into account ranks).
10391
10392 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
10393
10394         * configure.ac:
10395         * docs/gst/gstreamer-sections.txt:
10396         * gst/Makefile.am:
10397         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
10398         (gst_registry_lookup_locked):
10399         * gst/gstregistry.h:
10400         * gst/gstregistrybinary.c: (gst_registry_binary_write),
10401         (gst_registry_binary_initialize_magic),
10402         (gst_registry_binary_save_string),
10403         (gst_registry_binary_save_pad_template),
10404         (gst_registry_binary_save_feature),
10405         (gst_registry_binary_save_plugin),
10406         (gst_registry_binary_write_cache),
10407         (gst_registry_binary_check_magic),
10408         (gst_registry_binary_load_pad_template),
10409         (gst_registry_binary_load_feature),
10410         (gst_registry_binary_load_plugin),
10411         (gst_registry_binary_read_cache):
10412         * gst/gstregistrybinary.h:
10413         * gst/gstregistryxml.c: (load_feature),
10414         (gst_registry_xml_read_cache):
10415           commit binary registry (disabled by default, see #359653)
10416
10417 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
10418
10419         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
10420           Fix 'make check' too.
10421
10422 2007-01-10  Andy Wingo  <wingo@pobox.com>
10423
10424         * docs/design/part-negotiation.txt: Fix a typo, add a couple
10425         notes.
10426         
10427         * docs/design/part-negotiation.txt: Update with, um, one way that
10428         pull-mode negotiation might work?
10429
10430         * gst/gstpad.h: 
10431         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
10432         that the pad must be a src pad; makes sense to call it the other
10433         way in pull mode, and the logic is symmetric anyway.
10434
10435 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
10436
10437         * plugins/elements/gstfilesink.c:
10438           Include <stdio.h> for fseeko().
10439
10440 2007-01-10  Wim Taymans  <wim@fluendo.com>
10441
10442         * gst/gstevent.c:
10443         * gst/gstevent.h:
10444         Reserve LATENCY event.
10445
10446 2007-01-09  Wim Taymans  <wim@fluendo.com>
10447
10448         * docs/design/draft-latency.txt:
10449         Updates.
10450
10451 2007-01-09  Wim Taymans  <wim@fluendo.com>
10452
10453         * docs/design/draft-latency.txt:
10454         Updates.
10455
10456         * gst/gstelement.h:
10457         * gst/gststructure.c:
10458         * gst/gsttrace.c:
10459         Small typo fixes.
10460
10461 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
10462
10463         * tests/check/.cvsignore:
10464           Ignore test-registry.xml as well.
10465
10466 2007-01-09  Wim Taymans  <wim@fluendo.com>
10467
10468         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
10469         unref data at the end when we are done with the pad.
10470
10471 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10472
10473         * docs/gst/gstreamer-sections.txt:
10474         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
10475         (init_post), (gst_deinit), (gst_update_registry):
10476         * gst/gst.h:
10477           API: add gst_update_registry() (#391296).
10478
10479         * tests/check/Makefile.am:
10480         * tests/check/gst/gstregistry.c:
10481         * tests/check/gst/.cvsignore:
10482           Simple unit test for the above.
10483
10484 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
10485
10486         * gst/gstregistry.c: (gst_registry_scan_path_level):
10487           Plugin extension on HP-UX is .sl, add that to the list of approved
10488           plugin extensions (see #393796).
10489
10490         * tests/check/gst/gstpad.c: (GST_START_TEST):
10491           ulong => gulong. Fixes compilation with HP-UX compiler.
10492
10493         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
10494           Fix compilation if valgrind headers are not available.
10495
10496 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
10497
10498         * win32/common/libgstreamer.def: 
10499           Add new exported function.
10500         * win32/vs6/libgstbase.dsp: 
10501           Add gstdataqueue.c to the build.
10502         * win32/vs6/libgstcoreelements.dsp:
10503           Add gstmultiqueue.c to the build.
10504         
10505 2007-01-06  Andy Wingo  <wingo@pobox.com>
10506
10507         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
10508         activate_pull(), providing for a way to specialize the process of
10509         spawning a thread to pull on the sink pad. There is a default
10510         implementation.
10511
10512         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
10513         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
10514         (gst_base_sink_init): Renamed pad activation functions (inserting
10515         "_pad" in their names). Refactor to use the new activate_pull
10516         vmethod, as appropriate.
10517         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
10518         default activate_pull function to start a task pulling from the
10519         sink pad, as before.
10520
10521         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
10522         on the pads if necessary, as in push()/chain(). Update docs.
10523         Shouldn't affect existing pull() usage as it is currently only
10524         being used on buffers without caps.
10525
10526 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10527
10528         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
10529         (init_pre):
10530           Call g_thread_init() first thing in gst_init() / gst_check_init().
10531           When initialisation is done via gst_init_get_option_group() and
10532           GOption parsing, issue a warning if the GLib thread system has not
10533           been initialised yet by the time gst_init_get_option_group() is
10534           called, as it's quite likely other GLib functions such as
10535           g_option_context_new() have been called already then, and
10536           g_thread_init() must be called before any other GLib function. The
10537           application in question must be fixed in that case, since memory
10538           corruption might happen otherwise.
10539           We issue the warning because even if the GLib folks decide to work
10540           around the problem on their end in future, this is still an issue
10541           with all GLib versions >= 2.10.0, so we should warn until we depend
10542           on a GLib version we know to be safe.
10543           Update documentation as well.
10544           Closes bug #391278.
10545
10546 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10547
10548         * tools/gst-inspect.c: (main):
10549         * tools/gst-launch.c: (main):
10550         * tools/gst-typefind.c: (main):
10551         * tools/gst-xmlinspect.c: (main):
10552           Call g_thread_init() really really early, before any other GLib
10553           function (see #342564 and recent discussion on gtk-devel-list).
10554
10555 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10556
10557         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
10558
10559         * gst/gst_private.h:
10560         * gst/gstconfig.h.in:
10561         * gst/gstinfo.h:
10562           On win32, all the __declspec stuff for symbol exporting is
10563           apparently only needed with MSVC, but doesn't work with MingW.
10564           Fixes compilation with MingW and #391909.
10565
10566 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
10567
10568         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
10569           Change some GST_ERROR_OBJECT that aren't really errors to
10570           GST_WARNING_OBJECT in order to reduce terminal spam.
10571
10572 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10573
10574         * tests/check/Makefile.am:
10575           disable test again, as there seem to be still race problems
10576
10577 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
10578
10579         * tests/check/Makefile.am:
10580         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10581         (GST_START_TEST), (queue_suite):
10582           enable queue test again, add tests for the leaky behaviour
10583
10584 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
10585
10586         * configure.ac:
10587         * tests/examples/Makefile.am:
10588           Compile adapter test/example only if the required headers are
10589           available (fixes #391915).
10590
10591 2007-01-01  David Schleef  <ds@schleef.org>
10592
10593         * gst/gstplugin.c:
10594           Restore the previous signal handler for SIGSEGV instead of
10595           setting to default, since we may have stolen it away from
10596           someone.  (i.e., Mono)
10597
10598 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
10599
10600         * docs/random/draft-missing-plugins.txt:
10601           Some small additions and clarifications.
10602
10603 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
10604
10605         * gst/gstregistryxml.c: (gst_registry_save_escaped):
10606           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
10607           since that can lead to random memory corruptions and crashes
10608           (may or may not be related to #383244, #386711, and #386711).
10609
10610 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10611
10612         * tests/check/.cvsignore:
10613         * tests/check/Makefile.am:
10614           sync .cvsignome and CLEANFILES
10615
10616 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10617
10618         * tests/check/Makefile.am:
10619           fix distcheck
10620
10621 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10622
10623         * docs/design/part-states.txt:
10624           two tiny additional comments
10625         
10626         * gst/gststructure.c:
10627           doc fixing
10628
10629         * tests/check/Makefile.am:
10630         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10631         (GST_START_TEST):
10632           disable test for now, unless it gets fixed
10633
10634 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10635
10636         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10637         (GST_START_TEST):
10638           fix race in underrun test
10639
10640 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10641
10642         * tests/check/elements/.cvsignore:
10643           ignore more
10644
10645         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10646         (GST_START_TEST):
10647           try to narrow test failure
10648
10649 2006-12-21  David Schleef  <ds@schleef.org>
10650
10651         * plugins/elements/gstfakesrc.c:
10652           Use g_random_int_range(), since it produces better random
10653           numbers in a range than almost-correct floating point code.
10654
10655 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
10656
10657         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
10658         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
10659         (gst_check_teardown_sink_pad):
10660           do not automatically (de)activate pads
10661
10662         * tests/check/Makefile.am:
10663         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
10664         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
10665           add new, yet simple tests for queue
10666
10667         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
10668         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
10669         * tests/check/elements/filesrc.c: (cleanup_filesrc),
10670         (GST_START_TEST):
10671         * tests/check/elements/identity.c: (cleanup_identity):
10672           consistent pad (de)activation
10673
10674 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
10675
10676         Patch by: Sebastian Dröge  <slomo ubuntu com>
10677
10678         * libs/gst/base/gstcollectpads.c:
10679           Fix two doc typos (#387866).
10680
10681 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
10682
10683         * docs/manual/advanced-dparams.xml:
10684           Fix typo (g_object_control_properties() doesn't exist).
10685
10686 2006-12-19  Edward Hervey  <edward@fluendo.com>
10687
10688         * gst/gstsegment.c: (gst_segment_set_seek):
10689         Fine tune the cases where the segment start/stop values are really
10690         updated.
10691         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10692         Add tests for the return values of gst_segment_set_seek().
10693
10694 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
10695
10696         * gst/gst.c:
10697           Docs typo fix.
10698
10699         * plugins/elements/gstqueue.c: (gst_queue_class_init),
10700         (gst_queue_init):
10701           Fix incorrect documentation and flesh it out a bit more.
10702           Set default values for the max properties on the GParamSpec as well,
10703           so it shows up correctly in gst-inspect.
10704
10705 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
10706
10707         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
10708           Correct docs of queue, add more detail and crosslink it more.
10709
10710 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
10711
10712         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
10713           Print additional debug info when the stream isn't perfectly
10714           timestamped; don't try to use invalid durations.
10715
10716 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
10717
10718         * docs/design/Makefile.am:
10719           Dist new design docs.
10720
10721 2006-12-16  Wim Taymans  <wim@fluendo.com>
10722
10723         Patch by: Sjoerd Simons <sjoerd at luon dot net>
10724
10725         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
10726         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
10727         (gst_collect_pads_stop), (gst_collect_pads_event),
10728         (gst_collect_pads_chain):
10729         * libs/gst/base/gstcollectpads.h:
10730         Add refcounting to the collectpads data so we can track when it's safe
10731         to free the data. Fixes #383382.
10732
10733 2006-12-15  Wim Taymans  <wim@fluendo.com>
10734
10735         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
10736         (gst_collect_pads_remove_pad):
10737         Automatically activate/deactivate pads when they are added to a
10738         started/stoped collectpads.
10739
10740 2006-12-15  Wim Taymans  <wim@fluendo.com>
10741
10742         * gst/gstelement.c: (gst_element_add_pad):
10743         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
10744         * gst/gstpad.c: (gst_pad_init):
10745         Set pads to FLUSHING when they are created. Check, warn and fix when a
10746         demuxer adds an inactive pad to itself when running. Fixes #339326.
10747
10748 2006-12-15  Wim Taymans  <wim@fluendo.com>
10749
10750         * gst/gstelement.c: (gst_element_class_init),
10751         (gst_element_default_send_event), (gst_element_send_event),
10752         (gst_element_default_query), (gst_element_query):
10753         Expose default element send_event and query handling as vmethods that
10754         subclasses can chain up to.
10755
10756 2006-12-15  Wim Taymans  <wim@fluendo.com>
10757
10758         * gst/gstelement.c: (gst_element_set_state_func):
10759         Small documentation fixes.
10760
10761 2006-12-15  Wim Taymans  <wim@fluendo.com>
10762
10763         * docs/design/draft-latency.txt:
10764         Checked in draft for handling latency in pipelines.
10765
10766 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
10767
10768         * Makefile.am:
10769         * gstreamer.doap:
10770         * gstreamer.spec.in:
10771           adding .doap file
10772
10773 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
10774
10775         * gst/gst.c: (init_pre), (init_post):
10776           init_pre() and init_post() might be called via our GOptionGroup or
10777           from gst_init(), and we should skip both of them if we've already
10778           been initialised, otherwise we will init some things twice or add
10779           two default log functions.
10780
10781 2006-12-13  Edward Hervey  <edward@fluendo.com>
10782
10783         * docs/manual/basics-bus.xml:
10784         No, gst_main_loop does not exist. Its g_main_loop.
10785         Discovered by somebody who abused the copy-paste technique of coding :)
10786
10787 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
10788
10789         * gst/gstghostpad.c:
10790           Log ghostpad debug stuff to the GST_PADS category as well rather
10791           than just to the default category.
10792
10793 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
10794
10795         * configure.ac:
10796         * gst/gst.c: (init_pre):
10797           Add some basic system details such as OS and architecture
10798           to the debug output if possible, courtesy of uname().
10799
10800 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
10801
10802         * docs/gst/running.xml:
10803           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
10804           environment variables.
10805
10806 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
10807
10808         * tests/check/gst/gstbin.c: (GST_START_TEST):
10809         It is acceptable to have a refcount of 2 or 3 at this point in the
10810         test, because the pipeline might be just posting its state_change
10811         message. The next line then waits for that message to appear using
10812         bus_poll, so that should be fine too.
10813
10814 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
10815
10816         * gst/gst.c: (ensure_current_registry_forking):
10817         Ignore EINTR when reading from the child registry pipe.
10818         Explicitly ignore the return value from close, since it makes no
10819         difference.
10820
10821         * gst/gstminiobject.c: (gst_mini_object_ref),
10822         (gst_mini_object_unref):
10823         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
10824
10825         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
10826         When removing cached plugins, remove their features too, so they're
10827         not visible after they've disappeared.
10828
10829         * gst/gstutils.c: (prepare_link_maybe_ghosting):
10830         In the unlikely case that we are linking pads with no parents, don't
10831         crash trying to get the non-existent parent bin.
10832
10833         * gst/parse/grammar.y:
10834         Output debug in the PIPELINE category
10835
10836 2005-03-08  Wim Taymans  <wim@fluendo.com>
10837
10838         Patch by: René Stadler <mail at renestadler dot de>
10839
10840         * gst/gstclock.c: (gst_clock_new_periodic_id):
10841         Reject invalid clock times for interval of periodic ids.
10842         Fixes ##383506.
10843
10844 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
10845
10846         * gst/gstelementfactory.c: (gst_element_factory_create):
10847         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
10848         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
10849         * tools/gst-inspect.c: (print_element_info):
10850         Fix refcounting of gst_plugin_feature_load to match the docs. 
10851         Fixes: #380129
10852
10853 2006-12-07  Wim Taymans  <wim@fluendo.com>
10854
10855         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
10856         (gst_base_sink_get_position):
10857         Improve debugging of events.
10858
10859 2006-12-07  Wim Taymans  <wim@fluendo.com>
10860
10861         Patch by: René Stadler <mail at renestadler dot de>
10862
10863         * gst/gstclock.c: (gst_clock_id_wait):
10864         Make period ids add the interval to the origial requested time instead
10865         of the possibly updated time which can be wrong when there are multiple
10866         waiters for the same id. Fixes #382592.
10867
10868         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
10869         (gst_system_clock_id_wait_jitter_unlocked),
10870         (gst_system_clock_id_wait_jitter):
10871         Fix restart in the async notify thread when an async entry is added to
10872         the front of the list. Fixes #381492. 
10873
10874         * tests/check/gst/gstsystemclock.c: (store_callback),
10875         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
10876         Added test for multiple async waits.
10877         Added test for async wait order.
10878
10879 2006-12-07  Wim Taymans  <wim@fluendo.com>
10880
10881         * gst/gstbin.c: (gst_bin_query):
10882         Add some more docs about the POSITION query.
10883
10884 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
10885
10886         * configure.ac:
10887         Bump version nano - back to CVS.
10888
10889 === release 0.10.11 ===
10890
10891 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
10892
10893         * configure.ac:
10894           releasing 0.10.11, "Love never runs on time"
10895
10896 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
10897
10898         * win32/common/libgstbase.def:
10899         * win32/common/libgstreamer.def:
10900         * win32/vs8/libgstbase.vcproj:
10901         * win32/vs8/libgstcoreelements.vcproj:
10902         * win32/vs8/libgstreamer.vcproj:
10903         Fix compilation on win32 under VS8
10904         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
10905         Partially fixes #381175
10906
10907 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
10908
10909         * gst/gstvalue.c: (gst_value_compare_fraction):
10910         If someone is foolish enough to compare 2 fractions with denominator =
10911         0, return UNORDERED rather than aborting.
10912
10913 2006-11-28  Edward Hervey  <edward@fluendo.com>
10914
10915         * libs/gst/base/Makefile.am:
10916         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
10917         (gst_data_queue_base_init), (gst_data_queue_class_init),
10918         (gst_data_queue_init), (gst_data_queue_new),
10919         (gst_data_queue_cleanup), (gst_data_queue_finalize),
10920         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
10921         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
10922         (gst_data_queue_is_empty), (gst_data_queue_is_full),
10923         (gst_data_queue_set_flushing), (gst_data_queue_push),
10924         (gst_data_queue_pop), (gst_data_queue_drop_head),
10925         (gst_data_queue_set_property), (gst_data_queue_get_property):
10926         * libs/gst/base/gstdataqueue.h:
10927         New GstDataQueue object for threadsafe queueing. Most useful for
10928         elements that need some queueing functionnality.
10929         * docs/libs/gstreamer-libs-docs.sgml:
10930         * docs/libs/gstreamer-libs-sections.txt:
10931         Insert documentation for GstDataQueue
10932         * plugins/elements/Makefile.am:
10933         * plugins/elements/gstelements.c:
10934         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
10935         (gst_multi_queue_class_init), (gst_multi_queue_init),
10936         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
10937         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
10938         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
10939         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
10940         (gst_multi_queue_loop), (gst_multi_queue_chain),
10941         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
10942         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
10943         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
10944         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
10945         (wake_up_next_non_linked), (compute_next_non_linked),
10946         (single_queue_overrun_cb), (single_queue_underrun_cb),
10947         (single_queue_check_full), (gst_single_queue_new):
10948         * plugins/elements/gstmultiqueue.h:
10949         New multiqueue element, using GstDataQueue. Used for queuing multiple
10950         streams.
10951         Closes #344639 and #347785
10952
10953 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
10954
10955         * docs/pwg/advanced-types.xml:
10956           add more missing type details
10957
10958         * tools/gst-run.c: (main):
10959           remove unused variable
10960
10961 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
10962
10963         * docs/libs/Makefile.am:
10964         * docs/libs/gstreamer-libs.types:
10965           add types of base classes to enable gobject specific stuff in the docs
10966
10967         * docs/random/ensonic/embedded.txt:
10968           more ideas about isolating platform specific things
10969
10970 2006-11-20  Wim Taymans  <wim@fluendo.com>
10971
10972         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
10973
10974         * libs/gst/check/gstcheck.h:
10975         Fix compilation and running against 0.9.4. Fixes #377332.
10976
10977 2006-11-20  Wim Taymans  <wim@fluendo.com>
10978
10979         * gst/gstsegment.c: (gst_segment_set_seek),
10980         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
10981         (gst_segment_to_running_time):
10982         Fix boundary checking in to_running_time() and to_stream_time().
10983         Fixes #377183.
10984
10985         * tests/check/gst/gstsegment.c: (GST_START_TEST):
10986         stream and running time can now be calculated for the complete
10987         clipped segment.
10988
10989 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
10990
10991         * gst/gstpad.c: (gst_pad_push_event):
10992           Can't access event structure after giving away ownership of
10993           the event.
10994
10995 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
10996
10997         * docs/random/ensonic/embedded.txt:
10998         * docs/random/ensonic/profiling.txt:
10999         * docs/random/ensonic/receipies.txt:
11000           more thinking
11001
11002 2006-11-13  Wim Taymans  <wim@fluendo.com>
11003
11004         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11005
11006         * gst/gstpad.c:
11007         Fix documentation for gst_pad_dispatcher. Fixes #374475.
11008
11009 2006-11-13  Wim Taymans  <wim@fluendo.com>
11010
11011         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
11012
11013         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
11014         Store new length in segment duration so we don't keep on calling the
11015         potentially expensize get_size() call. Fixes #370865.
11016
11017 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
11018
11019         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
11020
11021         * win32/common/libgstreamer.def:
11022           Add two missing symbols (#366492).
11023
11024 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
11025
11026         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
11027         (gst_adapter_take_buffer):
11028         Fix format string to use all its arguments.
11029         Remove useless >= check on a guint
11030
11031 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11032
11033         * tests/examples/adapter/.cvsignore:
11034         Ignore build file as commanded by the build-bot
11035
11036 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11037
11038         * tests/examples/adapter/Makefile.am:
11039         * tests/examples/adapter/adapter_test.c: (run_test_take),
11040         (run_test_take_buffer), (run_tests), (main):
11041
11042         Add new files from the previous commit
11043
11044 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
11045
11046         * Makefile.am:
11047         * configure.ac:
11048         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
11049         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
11050         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
11051         * libs/gst/base/gstadapter.h:
11052         * tests/check/libs/adapter.c: (create_and_fill_adapter),
11053         (GST_START_TEST), (gst_adapter_suite):
11054         * tests/examples/Makefile.am:
11055         Do some optimisation work in GstAdapter to avoid copies in more cases.
11056         It could still do slightly better by merging buffers when
11057         gst_buffer_is_span_fast is true, but is already faster. 
11058
11059         Also, avoid traversing a single-linked list to append each incoming 
11060         buffer inside the adapter.
11061
11062         Add simple test app that times the adapter behaviour in different
11063         situations, and extend the unit test to check that bytes enter and
11064         exit the adapter in their original order.
11065
11066 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
11067
11068         * docs/random/draft-missing-plugins.txt:
11069           Update: use element message instead of adding a new message
11070           type to the core; don't provide GStreamer API to initiate the
11071           plugin download, just provide API to compose the strings needed
11072           and let an external libgimmestuff handle the rest.
11073
11074 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
11075
11076         * tools/gst-inspect.c: (print_element_properties_info):
11077         Print a string instead of 'unknown type' for GValueArray properties
11078
11079 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
11080
11081         * docs/random/draft-missing-plugins.txt:
11082         More small fixes.
11083
11084 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11085
11086         * tests/examples/typefind/typefind.c: (type_found), (main):
11087           Make typefind element example work again (#371894); add a
11088           license header.
11089
11090 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
11091
11092         * docs/random/draft-missing-plugins.txt:
11093           Commit initial draft about how to deal with missing plugins,
11094           needs work (API too).
11095
11096 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
11097
11098         * docs/pwg/advanced-types.xml:
11099           documents the new caps elements (see #363118)
11100
11101 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11102
11103         * gst/gstplugin.c: (gst_plugin_load_file):
11104         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
11105         (gst_file_src_map_region), (gst_file_src_start):
11106         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
11107         (gst_file_index_commit):
11108           Use g_strerror() instead of strerror() - we want UTF-8.
11109
11110 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
11111
11112         Patch by: Peter Kjellerstedt <pkj at axis com>
11113
11114         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11115           Another printf fix (#371493).
11116
11117 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11118
11119         * tests/check/gst/gsttag.c:
11120           relicence (okay with author=company)
11121
11122 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11123
11124         * gst/gstpad.c: (gst_pad_event_default_dispatch),
11125         (gst_pad_push_event):
11126           Enhance debug and improve docs
11127         
11128         * gst/gsturi.c:
11129           Fix docs
11130
11131 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11132
11133         * docs/random/ensonic/distributed.txt:
11134         * docs/random/ensonic/profiling.txt:
11135           more ideas
11136
11137 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
11138
11139         * docs/gst/gstreamer-sections.txt:
11140           add new API and fix the build
11141           
11142         * gst/gstbin.c: (gst_bin_recalc_state):
11143         * gst/gstelement.c: (gst_element_message_full),
11144         (gst_element_get_state_func), (gst_element_set_state_func):
11145           use new API and improve logging
11146         
11147         * gst/gstutils.c: (gst_element_state_change_return_get_name):
11148         * gst/gstutils.h:
11149           API: add function to get StateChangereturn names to improve logs 
11150
11151 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
11152
11153         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
11154           I'm considering shooting the next person to put strerror stuff
11155           in the translateable part of the message.
11156
11157 2006-11-03  Wim Taymans  <wim@fluendo.com>
11158
11159         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11160         Get the type and printf conversion specifiers right.
11161
11162 2006-11-03  Wim Taymans  <wim@fluendo.com>
11163
11164         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
11165
11166         * gst/gstpad.c: (gst_pad_init), (pre_activate),
11167         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
11168         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
11169         Some small cleanups. Improve debugging.
11170         * gst/gstpad.h:
11171         Signal all waiting threads with a broadcast instead of just one.
11172         Fixes #369942.
11173
11174 2006-11-03  Wim Taymans  <wim@fluendo.com>
11175
11176         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
11177         (gst_fd_src_create):
11178         Add some debugging. 
11179         Only update fd when it's different from the old.
11180
11181 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11182
11183         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
11184           Printf fixes for PPC/OSX, take two (#369366).
11185
11186 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
11187
11188         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
11189
11190         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
11191         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
11192         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
11193           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
11194           don't cast to long long for portability reasons, but use
11195           GLib's types instead.
11196
11197 2006-10-30  Michael Smith  <msmith@fluendo.com>
11198
11199         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
11200           Get the arguments to lseek() the right way around.
11201           Fixes 367677.
11202
11203 2006-10-30  Wim Taymans  <wim@fluendo.com>
11204
11205         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
11206
11207         * gst/gstinfo.h:
11208         _declspec should be __declspec (two underscores, not one). Fixes 366572.
11209
11210 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11211
11212         Patch by: Kjartan Maraas  <kmaraas at gnome org>
11213
11214         * docs/design/part-MT-refcounting.txt:
11215         * docs/random/wtay/capsnego2-docs:
11216         * gst/gstclock.c:
11217         * gst/gstxml.c:
11218           Typo fixes (#366212).
11219
11220 2006-10-28  Wim Taymans  <wim@fluendo.com>
11221
11222         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11223
11224         * gst/gst.c:
11225         * win32/common/libgstbase.def:
11226         * win32/common/libgstreamer.def:
11227         * win32/vs8/libgstbase.vcproj:
11228         * win32/vs8/libgstcontroller.vcproj:
11229         Add needed entries in .def files.
11230         Use HAVE_UNISTD_H.
11231         Rearrange def files in vs8 solutions. Fixes #366286.
11232
11233 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
11234
11235         * win32/common/gstconfig.h:
11236           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
11237           hand-made win32 gstconfig.h. Fixes #366321.
11238
11239 2006-10-27  Wim Taymans  <wim@fluendo.com>
11240
11241         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
11242         (gst_ghost_pad_new_full):
11243         Make acceptcaps return TRUE when we don't have a target, just like
11244         setcaps does.
11245
11246 2006-10-27  Wim Taymans  <wim@fluendo.com>
11247
11248         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11249         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
11250
11251 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
11252
11253         * gst/gststructure.c: (gst_structure_id_set_value):
11254           If someone tries to set a non-UTF8 string field on a structure,
11255           don't just print a warning, but also ignore the request and do
11256           not change/add that field to the structure.
11257
11258         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11259           Test for the above.
11260
11261 2006-10-25  David Schleef  <ds@schleef.org>
11262
11263         * gst/gstinfo.c:
11264           g_hash_table_insert() needs a cast to a non-const pointer duh.
11265
11266 2006-10-25  David Schleef  <ds@schleef.org>
11267
11268         * gst/gstinfo.c:
11269         * gst/gstinfo.h:
11270           Change name parameter of _gst_debug_register_funcptr to const
11271           to reflect the constness of its use in the function as well
11272           as to quiet a gcc warning.
11273
11274 2006-10-25  Edward Hervey  <edward@fluendo.com>
11275
11276         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
11277         Don't push the buffer if it's empty.
11278         Closes #363095
11279
11280 2006-10-24  Wim Taymans  <wim@fluendo.com>
11281
11282         * gst/gstevent.h:
11283         Add small comment.
11284
11285         * libs/gst/base/gstbasetransform.c:
11286         (gst_base_transform_sink_eventfunc):
11287         Debug segment values *after* updating them as this is more
11288         interesting.
11289
11290 2006-10-23  Wim Taymans  <wim@fluendo.com>
11291
11292         * docs/design/part-events.txt:
11293         Update some docs.
11294
11295         * docs/design/part-block.txt:
11296         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11297         (gst_pad_push_event):
11298         Revert BLOCKING patch, it tries to be smart without really having a
11299         clear idea what or how. So, now we discard all FLUSHING events again on
11300         a blocking pad. Should fix gnonlin again.
11301
11302 2006-10-23  Wim Taymans  <wim@fluendo.com>
11303
11304         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
11305
11306         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11307         (gst_base_src_start), (gst_base_src_activate_push):
11308         Make sure size is always initialized. Fixes #364388.
11309
11310 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
11311
11312         * docs/random/ensonic/distributed.txt:
11313           add some ideas about doing distributed processing
11314
11315         * docs/random/ensonic/profiling.txt:
11316           get_rusage look promising
11317
11318 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11319
11320         * docs/manual/basics-helloworld.xml:
11321           Add a cast in example to fix compile warning
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         Relax arg checking again, -1 is allowed.
11328
11329 2006-10-18  Wim Taymans  <wim@fluendo.com>
11330
11331         * gst/gstsegment.c: (gst_segment_set_last_stop),
11332         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
11333         _set_last_stop() must be with a value != -1
11334         A _TYPE_SET to -1 means seek to 0.
11335         Calc last_stop correctly for negative rates.
11336         Make sure we work with positive durations when updating a segment.
11337
11338 2006-10-18  Wim Taymans  <wim@fluendo.com>
11339
11340         * docs/design/part-live-source.txt:
11341         * gst/gstclock.h:
11342         Small docs fixes.
11343
11344 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
11345
11346         * gst/gstbuffer.h:
11347           Add an explicit cast to GstBuffer** to keep old code that added an
11348           explicit cast to GstMiniObject** for gst_mini_object_replace()
11349           compiling without warning.
11350
11351 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
11352
11353         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
11354           check for validity of dates
11355
11356 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11357
11358         * docs/gst/gstreamer-sections.txt:
11359           Forgot this one, makes gtk-doc shut up.
11360
11361 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11362
11363         Patch by: Peter Kjellerstedt <pkj at axis com>
11364
11365         * gst/gstobject.h:
11366           Don't define xmlNodePtr to gpointer if the core was built with
11367           --disable-loadsave and --disable-registry, this will break
11368           applications that want to use libxml2 but are buildling against a
11369           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
11370           instead so we don't have to mess with the libxml2 namespace
11371           (#361675).
11372
11373 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
11374
11375         * gst/gstbuffer.h:
11376           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
11377           type-punned pointer warnings.
11378
11379 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
11380
11381         * gst/gstelement.h:
11382           Add casts to the correct return type to state <=> state transition
11383           macros.
11384
11385 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
11386
11387         * docs/design/part-live-source.txt:
11388           describe howto handle latency
11389         
11390         * docs/random/ensonic/profiling.txt:
11391           more ideas
11392
11393         * tools/gst-plot-timeline.py:
11394           fix log parsing for solaris, remove unused function
11395
11396 2006-10-16  Wim Taymans  <wim@fluendo.com>
11397
11398         * docs/design/part-trickmodes.txt:
11399         * gst/gstevent.c:
11400         Update some docs regarding reverse playback.
11401
11402 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
11403
11404         Patch by: Marcus Granado  <mrc dot gran at gmail com>
11405
11406         * win32/vs8/grammar.vcproj:
11407           Error out with a warning if glib-genmarshal.exe is not in path,
11408           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
11409
11410 2006-10-13  Wim Taymans  <wim@fluendo.com>
11411
11412         * gst/gstsegment.c: (gst_segment_set_seek):
11413         When seeking to stop -1, set last_stop (current position) to the
11414         duration of the segment.
11415
11416 2006-10-13  Wim Taymans  <wim@fluendo.com>
11417
11418         * gst/gstelement.h:
11419         Clarify _NO_PREROLL a bit more.
11420
11421         * gst/gstevent.c:
11422         Fix docs.
11423
11424         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
11425         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
11426         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
11427         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
11428         due to wrong locking order. Fixes #361769.
11429         Remove some redundant/misplaced checks in pad_block.
11430
11431         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
11432         For negative rates, count backwards from the duration.
11433
11434 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
11435
11436         * gst/gsterror.c: (_gst_library_errors_init):
11437           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
11438           up with something better).
11439
11440 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11441
11442         * win32/vs6/libgstreamer.dsp:
11443         * win32/vs7/libgstreamer.vcproj:
11444         * win32/vs8/libgstreamer.vcproj:
11445           Don't reference glib-compat.c which is currently not used and not
11446           disted; add gstquark.c which was recently added. Fixes #361730.
11447
11448 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
11449
11450         * win32/common/libgstbase.def:
11451         * win32/common/libgstcontroller.def:
11452         * win32/common/libgstreamer.def:
11453           Add gst_caps_merge() and a bunch of other recently-added functions.
11454           Fixes #361732.
11455
11456 2006-10-11  Wim Taymans  <wim@fluendo.com>
11457
11458         * docs/plugins/gstreamer-plugins.args:
11459         * docs/plugins/inspect/plugin-coreelements.xml:
11460         * docs/plugins/inspect/plugin-coreindexers.xml:
11461         Update element args.
11462
11463         * gst/gstsystemclock.c:
11464         Small comment update.
11465
11466         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
11467         (gst_tee_request_new_pad), (gst_tee_release_pad),
11468         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
11469         (gst_tee_sink_activate_pull):
11470         * plugins/elements/gsttee.h:
11471         Some tee loving:
11472         Add default property defines.
11473         Implement release pad function.
11474         Give properties better blubs etc.
11475         Activate pads before adding them to a running tee.
11476         Do simple buffer_alloc on the first requested pad.
11477         Post error when activation fails.
11478
11479 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11480
11481         * gst/gst.c: (ensure_current_registry_forking):
11482           Check return value of write() to make compiler happy.
11483
11484 2006-10-11  Wim Taymans  <wim@fluendo.com>
11485
11486         Patch by: Sjoerd Simons <sjoerd at luon dot net>
11487
11488         * plugins/elements/gstqueue.c: (gst_queue_chain):
11489         Recheck queue filledness after signalling the overrun when we're about
11490         to leak downstream because we released the lock when emitting the signal
11491         and the queue could be empty again. Fixes #352345.
11492
11493 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
11494
11495         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
11496           Fix refcounting here too, just like we did for _new_valist() a few
11497           days ago (#357180) (thanks to René Stadler). Also remove all those
11498           'Since: 0.9' from the gtk-doc blobs.
11499
11500         * tests/check/libs/controller.c: (controller_refcount_new_list),
11501         (gst_controller_suite):
11502           Unit test for the above.
11503
11504 2006-10-10  Wim Taymans  <wim@fluendo.com>
11505
11506         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
11507
11508         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
11509         (gst_pad_save_thyself):
11510         Update some docs.
11511         Write pad direction in XML output. Fixes #345496.
11512
11513 2006-10-10  Wim Taymans  <wim@fluendo.com>
11514
11515         Patch by: René Stadler <mail at renestadler dot de>
11516
11517         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11518         (gst_controller_new_list), (_gst_controller_dispose),
11519         (_gst_controller_finalize), (_gst_controller_class_init):
11520         Take ref to controlled object so that it cannot disappear. 
11521         Fixes #357432.
11522
11523 2006-10-10  Wim Taymans  <wim@fluendo.com>
11524
11525         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
11526         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
11527         (gst_check_teardown_sink_pad):
11528         Activate/deactivate pads in setup/teardown respectively.
11529
11530 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11531
11532         Patch by: Josep Torra Valles <josep@fluendo.com>
11533
11534         * gst/Makefile.am:
11535         Cast values when making gstenumtypes.h.  This pacifies Forte
11536         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
11537         in the enumeration.
11538
11539 2006-10-09  Wim Taymans  <wim@fluendo.com>
11540
11541         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
11542         Rename some more @cur to @start to fix docs. 
11543
11544         * gst/gstsegment.c: (gst_segment_set_seek):
11545         Fix typo.
11546         time and start must always stay in sync as defined in design doc.
11547
11548         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11549         Rename param to fix docs.
11550
11551         * tests/check/gst/gstsegment.c: (GST_START_TEST):
11552         Check that start and time are in sync.
11553
11554         * tests/check/pipelines/parse-launch.c:
11555         (gst_parse_test_element_change_state):
11556         Activate pad before adding to the element.
11557
11558 2006-10-09  Wim Taymans  <wim@fluendo.com>
11559
11560         * docs/design/part-qos.txt:
11561         Fix typo.
11562
11563         * gst/gstevent.c:
11564         * gst/gstevent.h:
11565         Update seek event docs regarding negative rates.
11566         Rename @cur to @start. 
11567
11568         * gst/gstsegment.c: (gst_segment_set_seek):
11569         * gst/gstsegment.h:
11570         Update set_seek docs regarding negative rates.
11571         Correctly update last_stop to @stop when dealing with negative
11572         rates.
11573         Rename @cur to @start. 
11574
11575         * tests/check/gst/gstpad.c: (GST_START_TEST):
11576         Activate pads before trying to use them.
11577
11578         * tests/check/gst/gstsegment.c: (GST_START_TEST),
11579         (gst_segment_suite):
11580         Add simple check for segments and negative rates.
11581
11582 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
11583
11584         * gst/gsttaglist.c: (gst_tag_list_is_empty):
11585         * gst/gsttaglist.h:
11586         * docs/gst/gstreamer-sections.txt:
11587           API: add gst_tag_list_is_empty() (#360467).
11588
11589         * tests/check/gst/gsttag.c: (GST_START_TEST):
11590           And a test case.
11591
11592 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11593
11594         * gst/gstmessage.h:
11595         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
11596         a value that doesn't fit on enumeration.
11597
11598 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11599
11600         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11601         Remove local debugging system and use Gstreamer's instead.
11602
11603 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11604
11605         Patch by: Josep Torra Valles <josep@fluendo.com>
11606
11607         * common/m4/gst-error.m4:
11608         Disable warning of statement not reached on Forte.
11609         * gst/gstmessage.h:
11610         Fix warning on Forte (value doesn't fit on enumeration).
11611         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
11612         Fix warning on Forte (value doesn't fit on enumeration).
11613         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11614         DEBUG macro says it takes minimum of 2 args and so Forte
11615         complains about the use with just 1 arg.
11616         * plugins/elements/gstfdsink.c:
11617         * plugins/elements/gstfdsrc.c:
11618         * plugins/elements/gstfilesink.c:
11619         * plugins/elements/gstfilesrc.c:
11620         Use correct return type for the uri handler implementations.
11621
11622         All these fix warnings in Forte.  Fixes bug #360860.
11623
11624 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
11625
11626         * gst/gstelement.h:
11627           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
11628           format string, so don't use G_GNUC_PRINTF for those versions.
11629
11630 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
11631
11632         * gst/gsttaglist.c: (gst_is_tag_list):
11633         * gst/gsttaglist.h:
11634           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
11635
11636         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
11637           Small test for the above.
11638
11639 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
11640
11641         * gst/gsttaglist.h:
11642           Less tabs, more spaces.
11643
11644 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
11645
11646         * gst/gstinfo.h:
11647           Those two function declarations do actually belong there, revert
11648           commit from yesterday that turned them intro macros.
11649
11650 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11651
11652         Patch by: Josep Torra Valles <josep@fluendo.com>
11653
11654         * gst/gst.c: (gst_init_get_option_group):
11655         Fix empty declaration and type mismatch.
11656         * gst/gstbin.c: (gst_bin_change_state_func):
11657         Fix type mismatch.
11658         * gst/gstelement.c: (gst_element_continue_state),
11659         (gst_element_set_state_func), (gst_element_change_state),
11660         (gst_element_change_state_func):
11661         Fix type mismatches.
11662         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
11663         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
11664         Cast as appropriate.
11665         * gst/gstobject.c: (gst_class_signal_connect):
11666         Cast as appropriate.  The function pointer parameter really
11667         has the wrong type but would break API if we change it.
11668         * gst/gstquery.c:
11669         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
11670         order of including string.h.
11671         * gst/gstutils.c: (gst_element_state_get_name):
11672         Remove unreachable line.
11673         * gst/gstxml.c: (gst_xml_parse_doc):
11674         Fix type mismatch.
11675         All these caught by Forte.
11676
11677 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11678
11679         Patch by: Josep Torra Valles <josep@fluendo.com>
11680
11681         * common/m4/gst-error.m4:
11682         Fixed bug #360151.
11683         We need to disable warnings on Forte for empty declarations
11684         due to gst-indent adding ;s to lines that just use macros
11685         where the macro actually doesn't need a ; at end to end
11686         statement.
11687
11688 2006-10-06  Wim Taymans  <wim@fluendo.com>
11689
11690         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
11691         (gst_file_sink_close_file), (gst_file_sink_event),
11692         (gst_file_sink_render):
11693         Add some FIXME for the NEWSEGMENT handling.
11694
11695 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11696
11697         * gst/parse/grammar.y:
11698         Remove static function gst_parse_element_lock as all it does
11699         is return.  Looks like cruft from 0.8.
11700
11701 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
11702
11703         Patch by: Josep Torra Valles <josep@fluendo.com>
11704
11705         * common/m4/gst-error.m4:
11706         * configure.ac:
11707         * libs/gst/net/Makefile.am:
11708         Fix a compilation issue with Forte on Solaris.  inet_aton is in
11709         libresolv.
11710
11711 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
11712
11713         * gst/gstpad.c: (pre_activate):
11714         * gst/gstregistry.c: (gst_registry_scan_path_level):
11715         * gst/gstregistryxml.c: (load_plugin):
11716         * libs/gst/controller/gstcontroller.c:
11717         (gst_controlled_property_set_interpolation_mode):
11718         * libs/gst/dataprotocol/dataprotocol.c:
11719         (gst_dp_packet_from_event_1_0):
11720         * libs/gst/net/gstnetclientclock.c:
11721         (gst_net_client_clock_observe_times):
11722         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
11723           Printf fixes.
11724
11725 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
11726
11727         * configure.ac:
11728         * docs/gst/gstreamer-sections.txt:
11729         * gst/gstconfig.h.in:
11730         * gst/gstelement.h:
11731         * gst/gstinfo.h:
11732           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
11733           whether we can use G_GNUC_PRINTF in other header files and at
11734           least check the printf format/arguments of debug messages and
11735           GST_ELEMENT_ERROR messages when the printf extension is not
11736           being used.
11737           Replace more tabs with spaces in gstinfo.h and remove two spurious
11738           function declarations in GST_DISABLE_DEBUG part with macros.
11739
11740 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
11741
11742         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
11743           More docs for the sync-message signal (mention that it is not
11744           emitted by default); log message structures of messages posted on
11745           the bus as well.
11746
11747 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
11748
11749         * gst/gst.c: (ensure_current_registry_forking):
11750         Use a pipe pair to receive status results from the forked child, and
11751         ignore the result from waitpid. Fixes #355499
11752
11753 2006-10-02  Wim Taymans  <wim@fluendo.com>
11754
11755         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
11756         (gst_ghost_pad_suite):
11757         Fix leak in check.
11758
11759 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
11760
11761         * gst/gstpad.c:
11762           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
11763
11764 2006-10-02  Edward Hervey  <edward@fluendo.com>
11765
11766         * docs/design/part-block.txt:
11767         Further explain the use of flushing on blocked pads.
11768         * docs/gst/gstreamer-sections.txt:
11769         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
11770         (gst_pad_push_event):
11771         * gst/gstpad.h:
11772         Added new GstPadFlag : GST_PAD_BLOCKING.
11773         Adds the notion of pads really blocking, which enables to properly
11774         handle FLUSH_START/FLUSH_STOP events on blocked pads.
11775         Fixes #358999
11776         API: gst_pad_is_blocking()
11777         API: GST_PAD_IS_BLOCKING() macro
11778         API: GST_PAD_BLOCKING GstPadFlag
11779         
11780 2006-10-02  Wim Taymans  <wim@fluendo.com>
11781
11782         Patch by: mrcgran <mrc.gran at gmail dot com>
11783
11784         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
11785         Filter the proxied caps against the padtemplate if we have one.
11786
11787         * gst/gstquery.c: (gst_query_new_segment):
11788         Add include for gstinfo.h so that compilation with
11789         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
11790
11791 2006-10-02  Wim Taymans  <wim@fluendo.com>
11792
11793         Patch by: Alessandro Decina  <alessandro at nnva org>
11794
11795         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
11796         (gst_file_sink_set_location), (gst_file_sink_open_file),
11797         (gst_file_sink_close_file), (gst_file_sink_event),
11798         (gst_file_sink_render):
11799         Set file to NULL when closing filesink so that we can set a new filename
11800         in READY. Fixes #358613.
11801
11802 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
11803
11804         Patch by: Alessandro Decina  <alessandro at nnva org>
11805
11806         * gst/gstevent.c: (_gst_event_copy):
11807           Fix gst_mini_object_make_writable() and gst_event_copy() for events
11808           with event structures by setting the parent refcount address of the
11809           copied structure to the address of the refcount member of the newly
11810           copied event rather than the address of the refcount member of the
11811           original event. Fixes #358737.
11812
11813         * tests/check/gst/gstevent.c: (GST_START_TEST):
11814           Unit test for the above.
11815
11816 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
11817
11818         * docs/design/Makefile.am:
11819           Dist some more files.
11820
11821 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11822
11823         * tests/check/libs/controller.c: (GST_START_TEST),
11824         (gst_controller_suite):
11825           Add test for the previous fix; add some more tests
11826           for correct refcounting behaviour; fix a few leaks
11827           in test cases; call gst_controller_init() at start
11828           of all tests.
11829
11830 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
11831
11832         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
11833         (gst_controller_set_from_list):
11834           Don't g_return_val_if_fail() on timed values with invalid timestamps
11835           inside a critical section without unlocking the mutex. Spotted by
11836           René Stadler. (#357617)
11837           Also, fix up refcounting properly: when returning an existing
11838           controller, we should increase the reference only once and not
11839           once per property and when trying to control a property again
11840           we should also increase the refcount.
11841
11842 2006-09-29  Wim Taymans  <wim@fluendo.com>
11843
11844         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11845         * libs/gst/net/gstnettimeprovider.c:
11846         (gst_net_time_provider_thread):
11847         Stop reading commands when EOF as well.
11848
11849         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
11850         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
11851         * plugins/elements/gstidentity.c: (gst_identity_class_init):
11852         Unify description of the dump property.
11853
11854 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
11855
11856         * tests/examples/manual/.cvsignore:
11857         OK, so it's actually cvsignore that needs changing. Stop laughing.
11858
11859 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
11860
11861         * tests/examples/manual/Makefile.am:
11862         Gah, declare vars *before* using them
11863
11864 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
11865
11866         * gst/gst.c: (init_pre), (scan_and_update_registry),
11867         (ensure_current_registry_nonforking),
11868         (ensure_current_registry_forking), (ensure_current_registry),
11869         (init_post), (gst_debug_help), (gst_deinit):
11870         * gst/gst_private.h:
11871         * gst/gstregistry.c: (gst_registry_finalize),
11872         (gst_registry_remove_features_for_plugin_unlocked),
11873         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
11874         (gst_registry_scan_path),
11875         (_priv_gst_registry_remove_cache_plugins),
11876         (_priv_gst_registry_cleanup):
11877         * gst/gstregistry.h:
11878         Re-commit the registry changes, along with an extra fix:
11879           When a cached plugin is encountered at a different file path,
11880           update the stored path in the registry cache so that the parent
11881           process knows where it actually is now when it re-reads the registry
11882           cache. Fixes the thing that broke distcheck with the previous commit.
11883
11884         * tests/check/Makefile.am:
11885         Clean up files named 'core' too when running make clean.
11886
11887         * tests/examples/manual/Makefile.am:
11888         Set up a registry path for running these tests, and clean it properly
11889         for distcheck.
11890
11891 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
11892
11893         * configure.ac:
11894         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
11895         want gmodule-no-export-2.0.pc instead so that we don't drag in
11896         --export-dynamic on every project that links to GStreamer.
11897
11898         Also, make our export regex only match the start of symbols, rather 
11899         than any symbol that contains '_gst' somewhere.
11900
11901         * libs/gst/check/Makefile.am:
11902         The libgstcheck we build does however need export-dynamic, as it
11903         produces some symbols that don't match our _gst... style regex.
11904         Fixes: #318031
11905
11906 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
11907
11908         * gst/gst.c: (init_pre), (scan_and_update_registry),
11909         (ensure_current_registry_nonforking),
11910         (ensure_current_registry_forking), (ensure_current_registry),
11911         (init_post), (gst_debug_help), (gst_deinit):
11912         * gst/gst_private.h:
11913         * gst/gstregistry.c: (gst_registry_finalize),
11914         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
11915         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
11916         (_gst_registry_cleanup):
11917         * gst/gstregistry.h:
11918           Revert previous change until I figure out why it breaks distcheck.
11919
11920 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
11921
11922         * gst/gst.c: (init_pre), (scan_and_update_registry),
11923         (ensure_current_registry_nonforking),
11924         (ensure_current_registry_forking), (ensure_current_registry),
11925         (init_post), (gst_debug_help), (gst_deinit):
11926
11927           Make init_pre and init_post take the full complement of GOptionFunc
11928           args so they can return useful GErrors. Make the registry updating
11929           functions do so.
11930
11931           Call _priv_gst_registry_remove_cache_plugins after scanning files to
11932           ensure that the registry we're about to write out doesn't contain
11933           stale information about old-deleted plugin files.
11934
11935           Make _priv_gst_registry_remove_cache_plugins return a boolean so
11936           that deletion of plugin files is considered a registry change.
11937
11938         * gst/gst_private.h:
11939         * gst/gstregistry.c: (gst_registry_finalize),
11940         (gst_registry_remove_features_for_plugin_unlocked),
11941         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
11942         (gst_registry_scan_path),
11943         (_priv_gst_registry_remove_cache_plugins),
11944         (_priv_gst_registry_cleanup):
11945         * gst/gstregistry.h:
11946         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
11947         by adding _priv prefix, so that they won't appear in the global
11948         symbol table. They still do atm though because of #318031. Move the
11949         prototypes to gst_private.h
11950
11951         When removing a plugin, remove all features for that plugin too. 
11952         Fixes #340878.
11953
11954 2006-09-27  Wim Taymans  <wim@fluendo.com>
11955
11956         * docs/random/moving-plugins:
11957         Make it clear that the "compiled-in descriptions" really mean
11958         the element details.
11959
11960         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
11961         (gst_base_sink_wait_preroll):
11962         Update docs.
11963
11964         * docs/libs/gstreamer-libs-sections.txt:
11965         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
11966         (gst_base_src_get_range), (gst_base_src_activate_push):
11967         * libs/gst/base/gstbasesrc.h:
11968         Added function to block while waiting for PLAYING, this function
11969         is used by live sources that block on the clock.
11970         API: gst_base_src_wait_playing()
11971
11972 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11973
11974         Patch by: Peter Kjellerstedt <pkj at axis com>
11975
11976         * Makefile.am:
11977           gst-element-check.m4 is generated and should therefore be
11978           copied from the build dir rather than the source dir (#357593).
11979           'make distcheck' hasn't noticed this because we were disting
11980           the file as well, so stop doing that.
11981
11982 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
11983
11984         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
11985           Add some tests for gst_caps_intersect().
11986
11987         * tools/gst-launch.c: (event_loop):
11988           Print all buffering percentages we get, even the 100% one.
11989
11990 2006-09-26  Wim Taymans  <wim@fluendo.com>
11991
11992         * tools/gst-inspect.c: (print_element_properties_info),
11993         (print_signal_info):
11994         Fix printing of flags to match the look of enums.
11995
11996 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
11997
11998         * gst/gstelementfactory.c:
11999           Fix typo in docs blurb.
12000
12001 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12002
12003         * gst/gsturi.c: (search_by_entry):
12004           Don't assert/crash here if a uri handler doesn't return any
12005           supported protocols. The list of protocols could be generated
12006           dynamically at runtime or at plugin registration, and an error
12007           in the underlying library shouldn't be fatal (#353301).
12008
12009 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
12010
12011         * gst/gstinfo.c:
12012           Fix warning if HAVE_PRINTF_EXTENSION is undefined
12013           (spotted by Peter Kjellerstedt).
12014
12015 2006-09-23  Wim Taymans  <wim@fluendo.com>
12016
12017         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
12018
12019         * libs/gst/base/gstbasesrc.c:
12020         (gst_base_src_default_check_get_range), (gst_base_src_start),
12021         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12022         (gst_base_src_change_state):
12023         Match _start/_stop calls in the activate functions. Remove redundant
12024         _stop call from the state change function. Fixes #356910.
12025         Turn failure DEBUG into ERROR. 
12026
12027 2006-09-22  Wim Taymans  <wim@fluendo.com>
12028
12029         * docs/design/part-buffering.txt:
12030         * gst/gstmessage.c: (gst_message_new_buffering),
12031         (gst_message_parse_buffering):
12032         Update docs about buffering.
12033
12034         * docs/design/part-trickmodes.txt:
12035         Fix typo.
12036
12037 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
12038
12039         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
12040         (gst_controller_new_list):
12041           Ref instances when returning them again (fixes #357180)
12042
12043 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
12044
12045         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
12046           Don't forget to release proxy lock when there's an error.
12047
12048 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
12049
12050         * gst/gstcaps.h:
12051           Add extra initialisers for Caps things, to fix some plugin warnings
12052           when using -Wextra
12053
12054 2006-09-18  Wim Taymans  <wim@fluendo.com>
12055
12056         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
12057           Also set template on the internal pad so that a getcaps from the 
12058           target pad returns the template caps.
12059
12060 2006-09-18  Wim Taymans  <wim@fluendo.com>
12061
12062         * gst/gstelement.c: (gst_element_post_message),
12063         (gst_element_dispose):
12064         Use _DEBUG_OBJECT some more.
12065
12066         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
12067         Avoid typechecks.
12068
12069         * tools/gst-launch.c: (main):
12070         If the toplevel element is not a GstPipeline, it must be put in a
12071         pipeline so that a bus and clock is selected.
12072
12073 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12074
12075         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
12076           JITTER, RATE, and LATENCY query should be handled by the
12077           default case and not by the CONVERT query code.
12078
12079 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
12080
12081         * gst/gstformat.c: (gst_format_register):
12082           Fix locking order (must take lock before using n_values).
12083
12084         * gst/gstvalue.c: (gst_value_serialize_enum),
12085         (gst_value_deserialize_enum_iter_cmp),
12086         (gst_value_deserialize_enum):
12087           Fix serialisation/deserialisation of custom registered GstFormats.
12088
12089         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12090           Unit test for custom format serialisation/deserialisation.
12091
12092 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
12093
12094         * docs/pwg/building-boiler.xml:
12095         * plugins/elements/gstcapsfilter.c:
12096         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
12097         section.
12098
12099 2006-09-16  Edward Hervey  <edward@fluendo.com>
12100
12101         * libs/gst/base/gstbasetransform.c:
12102         (gst_base_transform_buffer_alloc):
12103         Check if requested caps are the same as the sinks caps IF
12104         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
12105         is FALSE.
12106         This fixes the renegotiation issues stated in #352827.
12107
12108 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12109
12110         * configure.ac:
12111         * docs/manual/advanced-autoplugging.xml:
12112         * tests/examples/Makefile.am:
12113         * tests/examples/manual/.cvsignore:
12114         * tests/examples/manual/Makefile.am:
12115         * tests/examples/manual/extract.pl:
12116           Extract the manual examples again like we used to do.
12117           Fix one of them.
12118
12119 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12120
12121         * win32/common/config.h:
12122           update for version
12123
12124 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
12125
12126         * gst/gsterror.c:
12127           Documents how to receive errors.
12128
12129 2006-09-15  Wim Taymans  <wim@fluendo.com>
12130
12131         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
12132         (event_loop), (main):
12133         Added some comments here and there.
12134         Post an application message when an interrupt is caught instead of doing
12135         an uncontrolled state change.
12136         Clean up the event loop.
12137         Handle buffering messages, pause/resume the pipeline.
12138         Make shutdown because of an interrupt more reliable.
12139
12140 2006-09-15  Wim Taymans  <wim@fluendo.com>
12141
12142         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12143         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
12144         (gst_base_sink_preroll_object):
12145         Make sure that our internal state is correct when we commit our state
12146         asynchronously. This solves a race where a state change to PLAYING
12147         could cause the sink to remain blocked in preroll in some situations.
12148
12149 2006-09-15  Wim Taymans  <wim@fluendo.com>
12150
12151         * tools/gst-inspect.c: (print_element_properties_info),
12152         (print_signal_info):
12153         List flags as hex so it's easier to deal with.
12154
12155 2006-09-15  Wim Taymans  <wim@fluendo.com>
12156
12157         * docs/libs/gstreamer-libs-sections.txt:
12158         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
12159         (gst_base_sink_do_sync):
12160         * libs/gst/base/gstbasesink.h:
12161         Expose logic to wait for preroll so that subclasses such as audiosink
12162         can also use this method.
12163         API: gst_base_sink_wait_preroll()
12164
12165 2006-09-15  Wim Taymans  <wim@fluendo.com>
12166
12167         * gst/gstobject.c: (gst_object_set_parent):
12168         * gst/gstpipeline.c: (do_pipeline_seek):
12169         Small cleanups in docs and code.
12170
12171         * gst/gstsegment.c: (gst_segment_clip):
12172         * tests/check/gst/gstsegment.c: (GST_START_TEST):
12173         if stop == start and start is in the segment, no clipping should be
12174         done. Also add a test for this.
12175
12176 2006-09-15  Wim Taymans  <wim@fluendo.com>
12177
12178         * docs/design/part-buffering.txt:
12179         * docs/gst/gstreamer-sections.txt:
12180         * gst/gstmessage.c: (gst_message_new_buffering),
12181         (gst_message_parse_buffering):
12182         * gst/gstmessage.h:
12183         Added methods to create and parse BUFFERING messages.
12184         Added preliminary docs about buffering.
12185         API: gst_message_new_buffering
12186         API: gst_message_parse_buffering
12187
12188 2006-09-06  Wim Taymans  <wim@fluendo.com>
12189
12190         * gst/gstbin.c:
12191         Update documentation.
12192
12193         * gst/gstelement.c: (gst_element_class_init),
12194         (gst_element_release_request_pad), (gst_element_set_clock),
12195         (gst_element_get_index), (gst_element_add_pad),
12196         (gst_element_remove_pad), (gst_element_get_random_pad),
12197         (gst_element_send_event), (gst_element_get_query_types),
12198         (gst_element_query), (gst_element_post_message),
12199         (gst_element_message_full), (gst_element_continue_state),
12200         (gst_element_lost_state), (gst_element_save_thyself),
12201         (gst_element_restore_thyself):
12202         Documentation updates.
12203         Rename last bit of the new-pad -> pad-added signal rename.
12204         Fix the case where an element query would only work if the source
12205         pad was linked.
12206         Avoid some useless type checking in message handling.
12207
12208         * gst/gstevent.c:
12209         * gst/gstevent.h:
12210         * gst/gstutils.c:
12211         Documentation updates.
12212
12213 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12214
12215         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
12216           add an INFO line for when we actually update the fd
12217
12218 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12219
12220         * configure.ac:
12221           back to TRUNK
12222
12223 === release 0.10.10 ===
12224
12225 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
12226
12227         * configure.ac:
12228           releasing 0.10.10, "Pais"
12229
12230 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
12231
12232         * docs/manual/advanced-position.xml:
12233           Fix typo in sample code.
12234
12235 2006-09-05  Wim Taymans  <wim@fluendo.com>
12236
12237         * libs/gst/net/gstnetclientclock.c: (inet_aton),
12238         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
12239         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
12240         * libs/gst/net/gstnetclientclock.h:
12241         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
12242         * libs/gst/net/gstnettimepacket.h:
12243         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
12244         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
12245         (gst_net_time_provider_thread), (gst_net_time_provider_new):
12246         * libs/gst/net/gstnettimeprovider.h:
12247         Make stuff compile on windows. Fixes #345295.
12248
12249 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12250
12251         * gst/gst.c: (ensure_current_registry_forking):
12252           Print better details when child was terminated by signal.
12253
12254 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
12255
12256         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
12257           Print a warning rather than g_assert() if a plugin feature
12258           is a URI handler but returns no protocols (#353976).
12259
12260 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
12261
12262         * docs/random/moving-plugins:
12263         Fix two typos.         
12264
12265 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
12266
12267         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
12268           Fix locking order, handle NULL function values properly.
12269
12270         * gst/gstinfo.h:
12271           Fix docs.
12272
12273         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
12274           Initialise variable before using it and fix debug statement to
12275           print the address of the function rather than the address of the
12276           variable on the stack holding the address of the function.
12277
12278 2006-09-01  Wim Taymans  <wim@fluendo.com>
12279
12280         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
12281         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
12282         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
12283         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
12284         (gst_ghost_pad_parent_unset),
12285         (gst_ghost_pad_internal_do_activate_push),
12286         (gst_ghost_pad_internal_do_activate_pull),
12287         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12288         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12289         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
12290         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
12291         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
12292         (gst_ghost_pad_new_no_target_from_template),
12293         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12294         More cleanups.
12295         Avoid needless typechecking in macros.
12296         Since the internal pad is always present and never changes, there is
12297         no need to locking or ref when retrieving it.
12298         Improve debugging a bit.
12299         Handle link errors when setting the target. Fixes #341029.
12300
12301 2006-09-01  Wim Taymans  <wim@fluendo.com>
12302
12303         * docs/libs/gstreamer-libs-sections.txt:
12304         * docs/plugins/gstreamer-plugins-sections.txt:
12305         Fix docs some more.
12306
12307         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
12308         (gst_collect_pads_event):
12309         * libs/gst/base/gstcollectpads.h:
12310         Documentation updates.
12311         Free queued buffer when removing a pad.
12312
12313 2006-08-31  Michael Smith  <msmith@fluendo.com>
12314
12315         * gst/gstutils.c: (gst_element_link_pads),
12316         (gst_element_link_pads_filtered):
12317           Ensure that we set a capsfilter to NULL if we failed to link it
12318           when doing filtered linking, to avoid criticals.
12319
12320           No need to check for unreffing srcpad, which is explicly NULLed
12321           above (a trivial code cleanup).
12322
12323 2006-08-31  Wim Taymans  <wim@fluendo.com>
12324
12325         * docs/design/part-gstghostpad.txt:
12326         Update ascii art in documentation.
12327
12328         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
12329         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
12330         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
12331         (gst_ghost_pad_internal_do_activate_push),
12332         (gst_ghost_pad_internal_do_activate_pull),
12333         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
12334         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12335         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
12336         (gst_ghost_pad_set_target):
12337         Small cleanups and leak fixes.
12338         Remove some checks now that the internal pad is never NULL.
12339         Fix the case where linking pads without a target would create nasty
12340         criticals. Fixes #341029.
12341         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
12342         value of _set_target().
12343
12344         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12345         (gst_ghost_pad_suite):
12346         Some more tests for creating and linking untargeted ghostpads.
12347
12348 2006-08-31  Edward Hervey  <edward@fluendo.com>
12349
12350         * docs/gst/gstreamer-sections.txt:
12351         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
12352         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
12353         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
12354         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
12355         (gst_ghost_pad_new_from_template),
12356         (gst_ghost_pad_new_no_target_from_template):
12357         * gst/gstghostpad.h:
12358         Refactored *_new() functions.
12359         Templates are now used as a g_object_new() parameter.
12360         Use template in _do_getcaps() if we don't have a target.
12361         Small documentation cleanups.
12362         Added two new constructors:
12363         gst_ghost_pad_new_from_template()
12364         gst_ghost_pad_new_no_target_from_template()
12365         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
12366         (gst_ghost_pad_suite):
12367         Added tests for new ghostpad instanciation functions.
12368
12369         API additions: gst_ghost_pad_new_from_template,
12370         gst_ghost_pad_new_no_target_from_template
12371
12372 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
12373
12374         * docs/random/ensonic/profiling.txt:
12375           Ideas about qos profiling.
12376
12377 2006-08-29  Wim Taymans  <wim@fluendo.com>
12378
12379         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
12380         Code cleanups.
12381         Fix memleak.
12382
12383 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
12384
12385         * gst/gstxml.c:
12386           Improve and detypofy docs.
12387
12388         * tests/check/Makefile.am:
12389         * tests/check/gst/.cvsignore:
12390         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
12391           Add a basic test suite for GstXML.
12392
12393 2006-08-29  Wim Taymans  <wim@fluendo.com>
12394
12395         * gst/gstelement.c: (activate_pads), (clear_caps),
12396         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
12397         Clear the pad caps when the element shut down all of the pads and
12398         is not streaming data that could modify the caps. 
12399         Fixes #352958.
12400
12401 2006-08-28  Michael Smith  <msmith@fluendo.com>
12402
12403         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12404           Revert previous change; I misunderstood single-segment mode.
12405
12406 2006-08-28  Michael Smith  <msmith@fluendo.com>
12407
12408         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
12409           Unset DISCONT on buffers when using single-segment mode.
12410
12411 2006-08-28  Wim Taymans  <wim@fluendo.com>
12412
12413         * gst/gstcaps.c: (gst_caps_merge_structure):
12414         * gst/gstcaps.h:
12415         Fix docs and indentation again.
12416
12417         * tests/check/gst/gstquery.c: (GST_START_TEST):
12418         Fix leak in tests and add some more tests.
12419
12420 2006-08-28  Edward Hervey  <edward@fluendo.com>
12421
12422         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
12423         Inform GstSegment of the last stop position in order for the current
12424         segment to have a proper duration if it doesn't have a specific stop
12425         position from which a duration could be calculated.
12426         This bug was noticeable when a non-flushing, non-update new segment was
12427         followed by another segment (all buffers from the new segment were being
12428         dropped).
12429
12430 2006-08-28  Wim Taymans  <wim@fluendo.com>
12431
12432         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
12433         Small comment update.
12434
12435         * plugins/elements/gstidentity.c: (gst_identity_class_init),
12436         (gst_identity_transform_ip):
12437         Drop-probability is broken, mention this in the code with a 
12438         FIXME and also in the property description.
12439         Make silent also be silent about the drop messages.
12440
12441 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
12442
12443         * docs/manual/appendix-win32.xml:
12444           Remove mention of popt, we don't depend on that any
12445           longer (#353136). Add some comments pointing out that
12446           this section is slightly outdated.
12447
12448 2006-08-28  Wim Taymans  <wim@fluendo.com>
12449
12450         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12451
12452         * gst/gstquery.c: (gst_query_new_segment):
12453         * tests/check/gst/gstquery.c: (GST_START_TEST):
12454         Initialize variables when creating a new segment query.
12455         Fixes #353121.
12456
12457 2006-08-28  Wim Taymans  <wim@fluendo.com>
12458
12459         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
12460
12461         * gst/gstelement.c: (gst_element_get_bus):
12462         * tests/check/gst/gstelement.c: (GST_START_TEST):
12463         Check for NULL before _reffing the bus. Fixes #353122.
12464
12465 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
12466
12467         * docs/manual/basics-bus.xml:
12468           Docs update: fix wrong callback return value explanation; add
12469           some lines about the implicit relationship between main loop
12470           and main context; remove duplicate main loop variable declaration.
12471
12472 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
12473
12474         * tests/check/gst/gstcaps.c: (GST_START_TEST):
12475           Don't leak caps in unit test; add a few more simple
12476           checks. 
12477
12478 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
12479
12480         * docs/gst/gstreamer-sections.txt:
12481         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
12482         (gst_caps_structure_is_subset), (gst_caps_merge),
12483         (gst_caps_merge_structure):
12484         * gst/gstcaps.h:
12485         * libs/gst/base/gstbasetransform.c:
12486         (gst_base_transform_transform_caps):
12487         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12488           implement caps merging (fixes #352580)
12489
12490 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
12491
12492         * tools/Makefile.am:
12493         * tools/gst-plot-timeline.py:
12494           add debug-log plotting developer tool (#340674)
12495
12496 2006-08-23  Wim Taymans  <wim@fluendo.com>
12497
12498         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
12499         (gst_pad_stop_task):
12500         Improve debugging for task functions.
12501
12502         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
12503         (gst_task_start), (gst_task_pause), (gst_task_join):
12504         Make sure that the task function started and finished after a 
12505         join(). 
12506         Don't try to push the task function on the threadpool multiple
12507         times.
12508         Improve the g_warning message with some useful suggestions
12509         about how to fix the problem. 
12510
12511 2006-08-23  Wim Taymans  <wim@fluendo.com>
12512
12513         * gst/gstutils.c: (gst_pad_proxy_getcaps):
12514         Handle RESYNC correctly in _proxy_getcaps.
12515
12516 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
12517
12518         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
12519         (gst_xml_parse_memory), (gst_xml_get_element):
12520           Chain up to parent class in dispose function and also
12521           unref the elements in the toplevel_elements GList.
12522           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
12523           Always return a reference in gst_xml_get_element() rather
12524           than only sometimes.
12525
12526         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
12527           Don't leak GstXml object.
12528
12529 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
12530
12531         * docs/gst/gstreamer-sections.txt:
12532         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
12533         (gst_caps_merge):
12534         * gst/gstcaps.h:
12535         * libs/gst/base/gstbasetransform.c:
12536         (gst_base_transform_transform_caps):
12537           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
12538           in a better way
12539
12540 2006-08-21  Edward Hervey  <edward@fluendo.com>
12541
12542         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
12543         Implement GObject::dispose virtual method in GstXML so we can free the
12544         top_elements GList.
12545
12546 2006-08-21  Wim Taymans  <wim@fluendo.com>
12547
12548         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
12549         (gst_buffer_create_sub):
12550         Copy duration/offset_end/caps when creating a subbuffer of the
12551         complete parent.
12552         Make the subbuffer read-only when we make the metadata writable for
12553         now. Fixes #351768.
12554
12555         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
12556         Added check for metadata copy when creating subbuffers.
12557
12558 2006-08-21  Edward Hervey  <edward@fluendo.com>
12559
12560         * libs/gst/base/gstbasetransform.c:
12561         (gst_base_transform_buffer_alloc):
12562         Only call downstream buffer_alloc if transform element is passthrough
12563         or always_in_place. Closes #350449.
12564
12565 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12566
12567         * ChangeLog:
12568           ChangeLog surgery to add comments to previous changes
12569
12570 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12571
12572         * gst/gst.c:
12573           Add comments
12574
12575         * gst/gstpad.c: (gst_pad_set_active):
12576           Be more verbose in the log
12577
12578         * libs/gst/base/gstbasetransform.c:
12579         (gst_base_transform_transform_caps):
12580           Simplify caps to get rid of duplicates, fixes #345444
12581
12582 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12583
12584         * gst/gstvalue.c:
12585         * gst/gstvalue.h:
12586           Use these optimizations only internally.
12587
12588 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
12589
12590         * gst/gstvalue.c: (gst_value_compare_list),
12591         (gst_value_compare_fraction_range),
12592         (gst_value_intersect_fraction_fraction_range),
12593         (gst_value_intersect_fraction_range_fraction_range),
12594         (gst_value_subtract_fraction_fraction_range),
12595         (gst_value_subtract_fraction_range_fraction_range),
12596         (gst_value_get_compare_func), (gst_value_compare),
12597         (gst_value_compare_with_func):
12598         * gst/gstvalue.h:
12599           Saves the expensive lookup of the compare function in many cases
12600          (#345444)
12601
12602 2006-08-18  Edward Hervey  <edward@fluendo.com>
12603
12604         * tests/check/gst/gstinfo.c: (gst_info_suite):
12605         Disable test that require gstdebug if it wasn't built in core.
12606
12607 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
12608
12609         * docs/random/ensonic/logging.txt:
12610           update ideas
12611           
12612         * gst/gstinfo.c: (gst_debug_log_default):
12613           reorder fields, save some columns, add optional color codes for log
12614           levels
12615
12616 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
12617
12618         * docs/random/ensonic/logging.txt:
12619           add ideas about making the logs a bit more useful
12620
12621 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
12622
12623         * docs/pwg/advanced-events.xml:
12624         * docs/pwg/titlepage.xml:
12625           Update for 0.10 API (#340627). Add myself
12626           to authors list.
12627
12628 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
12629
12630         * docs/libs/gstreamer-libs-docs.sgml:
12631         * docs/libs/gstreamer-libs-sections.txt:
12632         * libs/gst/check/gstbufferstraw.c:
12633           Make gstcheck stuff show up in docs (still needs to
12634           be documented properly though).
12635
12636 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
12637
12638         * docs/gst/gstreamer-sections.txt:
12639         * gst/Makefile.am:
12640         * gst/gst.c: (init_post):
12641         * gst/gst_private.h:
12642         * gst/gstquark.c: (_priv_gst_quarks_initialize):
12643         * gst/gstquark.h:
12644         * gst/gstquery.c: (gst_query_new_position),
12645         (gst_query_set_position), (gst_query_parse_position),
12646         (gst_query_new_duration), (gst_query_set_duration),
12647         (gst_query_parse_duration), (gst_query_new_convert),
12648         (gst_query_set_convert), (gst_query_parse_convert),
12649         (gst_query_new_segment), (gst_query_set_segment),
12650         (gst_query_parse_segment), (gst_query_new_seeking),
12651         (gst_query_set_seeking), (gst_query_parse_seeking):
12652         Add internal helpers for pre-registering quarks from static strings
12653         and using the quark values directly instead of looking them up when
12654         creating and parsing queries. Can be used for event construction too.
12655         Closes #350432.
12656
12657 2006-08-16  Wim Taymans  <wim@fluendo.com>
12658
12659         * gst/gstbin.c:
12660         Fix bogus docs.
12661
12662 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12663
12664         * gst/gstutils.c: (gst_util_set_value_from_string):
12665           Fix memleak (#351502).
12666
12667         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
12668           Add unit test for most of gst_util_set_value_from_string()
12669           (not that one would want to encourage use of this function).
12670
12671 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12672
12673         * libs/gst/check/gstcheck.h:
12674           Use const gchar * variables in fail_unless_equals_string
12675           macro to avoid compiler warnings (and don't use tabs for
12676           indenting).
12677
12678 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12679
12680         * tools/gst-launch.c: (print_tag):
12681           More space on the left for the tag names, to cater
12682           for the 'extended comment' tag (not touching the
12683           string for the first line since it's translated).
12684
12685 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
12686
12687         * libs/gst/check/gstcheck.h:
12688           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
12689           print something when they fail.
12690
12691 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
12692
12693         * docs/gst/gstreamer-sections.txt:
12694         * gst/gsttaglist.c: (_gst_tag_initialize):
12695         * gst/gsttaglist.h:
12696           API: add GST_TAG_EXTENDED_COMMENT (#350935).
12697           Also change merge function for GST_TAG_COMMENT to
12698           use_first.
12699
12700 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
12701
12702         * gst/gstinfo.c: (gst_debug_print_object):
12703           Make GST_PTR_FORMAT print messages as well.
12704
12705         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
12706         (GST_START_TEST), (gst_info_suite):
12707           More tests.
12708
12709 2006-08-14  Edward Hervey  <edward@fluendo.com>
12710
12711         * gst/gstelementfactory.c: (gst_element_register):
12712         If the GstElementClass doesn't have a GstElementDetails with all fields
12713         filled up correctly (longname, description AND author), then error out
12714         nicely instead of crashing.
12715
12716 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
12717
12718         * gst/gststructure.c:
12719           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
12720
12721         * gst/gstvalue.h:
12722           Expand on the difference between arrays and lists as we use them.
12723           
12724 2006-08-14  Wim Taymans  <wim@fluendo.com>
12725
12726         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
12727         If the parent state change function failed, don't assume we can safely
12728         stop the source, this will be done when the pads are deactivated.
12729
12730 2006-08-14  Wim Taymans  <wim@fluendo.com>
12731
12732         * gst/gstbuffer.c:
12733         * gst/gsttask.c: (gst_task_join):
12734         Small doc updates.
12735
12736         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
12737         (gst_pad_stop_task):
12738         When pad (de)activation failed for some reason, restore the old
12739         activation mode and set the pad to flushing instead of assuming the
12740         pad is deactivated.
12741         If the _task_join() failed, reinstall the task on the pad so that it can
12742         be stopped later and return an error.
12743
12744 2006-08-11  Andy Wingo  <wingo@pobox.com>
12745
12746         * configure.ac:
12747         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
12748         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
12749         is only for users of API that don't want to see deprecated
12750         functions in the headers; people that want to compile out
12751         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
12752         CFLAGS. Fixes the build of multifdsink, or will soon..
12753
12754 2006-08-11  Wim Taymans  <wim@fluendo.com>
12755
12756         * docs/gst/gstreamer-sections.txt:
12757         Add GstClockClass vmethod docs.
12758
12759         * gst/gstcaps.h:
12760         Mark #endif with comment for associated #if
12761
12762         * gst/gstclock.c: (gst_clock_id_wait):
12763         * gst/gstclock.h:
12764         Add vmethod wait_jitter to avoid an unneeded _get_time() for
12765         most clock implementations.
12766         Document vmethods.
12767         Flesh out docs about resolution methods.
12768         API: GstClockClass::wait_jitter
12769
12770         * gst/gstsystemclock.c: (gst_system_clock_class_init),
12771         (gst_system_clock_async_thread),
12772         (gst_system_clock_id_wait_jitter_unlocked),
12773         (gst_system_clock_id_wait_jitter):
12774         Use base class wait_jitter variant for improved performance
12775         due to less clock polling.
12776
12777 2006-08-11  Edward Hervey  <edward@fluendo.com>
12778
12779         * gst/gst.c: (gst_init_check), (init_post):
12780         Set gst as being initialized before scanning/updating the registry,
12781         since there might be my python plugin loader that calls gst_init() and
12782         we don't want to loop back in.
12783         Closes #350879
12784
12785 2006-08-11  Wim Taymans  <wim@fluendo.com>
12786
12787         * docs/design/part-qos.txt:
12788         Bring docs in line with the code. Mostly the sign of the jitter was
12789         wrong in the docs. Fixes #349943.
12790
12791         * gst/gstclock.c:
12792         Fix the docs for the jitter.
12793
12794         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
12795         (gst_event_parse_tag), (gst_event_new_buffer_size),
12796         (gst_event_parse_buffer_size), (gst_event_parse_qos),
12797         (gst_event_new_seek), (gst_event_parse_seek),
12798         (gst_event_new_navigation):
12799         Make sure the GstStructure has no parent when creating custom
12800         events.
12801         Add some more argument checking so that we avoid 0.0 rates.
12802         Flesh out the docs for the QoS event some more.
12803
12804 2006-08-11  Wim Taymans  <wim@fluendo.com>
12805
12806         * docs/gst/gstreamer-sections.txt:
12807         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
12808         (ensure_current_registry_forking), (ensure_current_registry),
12809         (parse_one_option), (parse_goption_arg), (gst_deinit),
12810         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
12811         * gst/gst.h:
12812         Doc updates.
12813         Added API and command line option to disable registry forking in
12814         addition to the environment variable.
12815         Constify some static arrays.
12816         Added some more debug.
12817         Don't deinit twice.
12818         API: gst_registry_fork_is_enabled()
12819         API: gst_registry_fork_set_enabled()
12820         API: --gst-disable-registry-fork command line option
12821         Fixes #348918.
12822
12823 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
12824
12825         * gst/gst.c: (gst_init):
12826           Fix typo in error message.
12827
12828 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
12829
12830         * libs/gst/controller/gstcontroller.h:
12831           fix ABI size-correction
12832
12833         * tests/check/libs/gdp.c: (gst_dp_suite):
12834           make tests that use deprecated API conditional
12835
12836 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
12837
12838         * docs/libs/gstreamer-libs-sections.txt:
12839         * libs/gst/controller/gstcontroller.c:
12840         (_gst_controller_get_property), (_gst_controller_set_property),
12841         (_gst_controller_init), (_gst_controller_class_init):
12842         * libs/gst/controller/gstcontroller.h:
12843         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
12844         (gst_object_set_control_rate):
12845           API: add gst_object_{s,g}et_control_rate(), add private data section,
12846           fix docs
12847
12848         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
12849         * libs/gst/dataprotocol/dataprotocol.h:
12850           add deprecation guards to make gtk-doc happy and allow disabling cruft
12851
12852 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
12853
12854         * tests/check/Makefile.am:
12855         * tests/check/gst/.cvsignore:
12856           Let's enable the new unit test as well.
12857
12858 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12859
12860         * configure.ac:
12861         * docs/gst/gstreamer-sections.txt:
12862         * gst/gstconfig.h.in:
12863         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
12864         (_gst_info_printf_extension_ptr),
12865         (_gst_info_printf_extension_segment):
12866           API: add GST_SEGMENT_FORMAT, which is a printf extension we
12867           register that lets us easily dump GstSegments into debug
12868           logs (#350419).
12869
12870         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
12871         (info_segment_format_printf_extension), (gst_info_suite):
12872           Add simple unit test that logs a bunch of different segments (not
12873           valgrinded at the moment because of leaks in
12874           gst_debug_add_log_function).
12875
12876 2006-08-09  Edward Hervey  <edward@fluendo.com>
12877
12878         * libs/gst/base/gstbasetransform.c:
12879         (gst_base_transform_buffer_alloc):
12880         Even if we can't figure out the proper format to request downstream,
12881         call buffer_alloc() downstream with the input parameters without setting
12882         the caps on the srcpad. This will force negotiation in the chain
12883         function.
12884         Closes #350449
12885
12886 2006-08-08  Edward Hervey  <edward@fluendo.com>
12887
12888         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
12889         Unlinking from a pad without a target is now a perfectly valid case
12890         which should NOT raise an assertion.
12891         This case would happen if a linked ghostpad its target set to NULL after
12892         it was previously linked.
12893
12894 2006-08-08  Edward Hervey  <edward@fluendo.com>
12895
12896         * tests/check/libs/gdp.c:
12897         Also comment out the test (see below).
12898
12899 2006-08-08  Edward Hervey  <edward@fluendo.com>
12900
12901         * tests/check/libs/gdp.c: (gst_dp_suite):
12902         Use the architecture information from config.h and not gcc macros
12903         in order to properly disable a test that fails on PPC64.
12904
12905 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
12906
12907         * gst/gstelement.c: (gst_element_remove_pad):
12908           Don't crash printing the warning if the pad has no parent.
12909
12910 2006-08-02  Wim Taymans  <wim@fluendo.com>
12911
12912         * libs/gst/dataprotocol/dataprotocol.c:
12913         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
12914         (gst_dp_crc), (gst_dp_header_payload_length),
12915         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
12916         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
12917         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
12918         (gst_dp_event_from_packet), (gst_dp_validate_header),
12919         (gst_dp_validate_payload):
12920         Make debug category static
12921         Constify the crc table.
12922         Do some more arg checking in public functions.
12923         Fix some docs and do some small cleanups.
12924
12925         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
12926         Add some more checks to see if GDP deals with bogus input.
12927
12928 2006-07-31  Wim Taymans  <wim@fluendo.com>
12929
12930         * gst/gstvalue.c: (gst_value_compare_list):
12931         Fix GstValueList comparison code. Fixes #347293.
12932
12933         * tests/check/gst/gstvalue.c: (GST_START_TEST):
12934         Check to test GstValueList comparison.
12935
12936 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
12937
12938         * gst/gstelementfactory.c: (gst_element_factory_create):
12939         Remove unnecessary ref/unref pair
12940
12941         * gst/parse/grammar.y:
12942         Make sure to free the parse buffer on all code paths.
12943         Move a g_free up to the error handler where it's easier to see.
12944
12945         * tests/check/gst/gstevent.c: (test_event):
12946         Extending timeout for downstream travelling events to 10 seconds to
12947         hopefully avoid intermittent failure on the buildbots.
12948
12949         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
12950         Don't manually set the state of the src element - it will happen as a
12951         natural consequence of the pipeline changing state, and that way it
12952         will do it in the right order too.
12953
12954 2006-07-31  Wim Taymans  <wim@fluendo.com>
12955
12956         * libs/gst/base/gstbasetransform.c:
12957         (gst_base_transform_buffer_alloc):
12958         Use OBJECT_LOCK and refcounting to get the pad caps in the
12959         buffer_alloc function because the caps could change while we are
12960         busy with them. Fixes #349105
12961
12962 2006-07-31  Wim Taymans  <wim@fluendo.com>
12963
12964         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
12965         Protect _PAD_CAPS with OBJECT_LOCK.
12966
12967 2006-07-31  Wim Taymans  <wim@fluendo.com>
12968
12969         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
12970         (gst_pad_get_property), (gst_pad_activate_pull),
12971         (gst_pad_activate_push), (gst_pad_set_blocked_async),
12972         (gst_pad_set_activate_function),
12973         (gst_pad_set_activatepull_function),
12974         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
12975         (gst_pad_set_getrange_function),
12976         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
12977         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
12978         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
12979         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
12980         (gst_pad_set_acceptcaps_function),
12981         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
12982         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
12983         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
12984         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
12985         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
12986         (gst_pad_configure_sink), (gst_pad_configure_src),
12987         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
12988         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
12989         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
12990         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
12991         (gst_pad_send_event):
12992         Use _DEBUG_OBJECT when it makes sense.
12993         Protect GST_PAD_CAPS with the OBJECT_LOCK.
12994         Small cleanups and code reflows.
12995         Avoid caps refcounting in _accept_caps.
12996         Refactor alloc_buffer so that the code performed on the peer is in a
12997         separate function. Also if the pad does not implement a buffer alloc
12998         function, we should still check if the pad is flushing before falling
12999         back to the default allocator.
13000
13001 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
13002
13003         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13004         Make all uses of identity and fakesink have silent=true to avoid
13005         serialising every passing data structure, which is breaking tests
13006         on FC4 for some unknown reason.
13007
13008 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13009
13010         * gst/parse/Makefile.am:
13011         * gst/parse/grammar.y:
13012         * gst/parse/parse.l:
13013           Reverted previous patch as it required to bump the flex dependency to
13014           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
13015
13016 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
13017
13018         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
13019
13020         * gst/parse/Makefile.am:
13021         * gst/parse/grammar.y:
13022         * gst/parse/parse.l:
13023           push & pop the state of the lexer for reentrant use case
13024           Fixes #349180
13025
13026 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
13027
13028         * libs/gst/base/gstbasesrc.h:
13029           Note in the docs that the ::newsegment vfunc is not actually used by
13030           GstBaseSrc.
13031
13032 2006-07-28  Wim Taymans  <wim@fluendo.com>
13033
13034         * libs/gst/base/gstcollectpads.c:
13035         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
13036         (gst_collect_pads_clear), (gst_collect_pads_flush),
13037         (gst_collect_pads_event), (gst_collect_pads_chain):
13038         When flushing a pad, also clear the queued buffer so that we don't
13039         accidentally use it when we shouldn't.
13040         Fix leaks by inreffing incomming buffer.
13041         Flush out queued buffers in case of errors.
13042         Fixes #347452.
13043
13044 2006-07-28  Wim Taymans  <wim@fluendo.com>
13045
13046         * docs/random/phonon-gst:
13047         Random notes about a Phonon backend.
13048
13049 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13050
13051         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13052         Extra debug output
13053         * tests/check/libs/gdp.c: (gst_dp_suite):
13054         Take a whack at fixing the ppc compile using a different define to
13055         disable the broken test.
13056
13057         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
13058         Remove excess g_print()
13059
13060 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13061
13062         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
13063         Oops, meant to uncomment this line too to dampen the noise a bit.
13064
13065 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
13066
13067         * gst/parse/grammar.y:
13068         * gst/parse/parse.l:
13069         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13070         (GST_START_TEST), (parse_suite):
13071         Fix some of the leaks exposed by extending the parse-launch testsuite,
13072         and move the 3 I can't figure out into a separate test that won't run
13073         the pipelines unless the appropriate line is uncommented.
13074
13075 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13076
13077         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13078           Requesting 0 bytes before the end of the file should result in
13079           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
13080           unit test.
13081
13082 2006-07-27  Wim Taymans  <wim@fluendo.com>
13083
13084         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
13085         Fix useless assert, a uint is always positive.
13086
13087         * gst/gststructure.c: (gst_structure_nth_field_name),
13088         (gst_structure_foreach), (gst_structure_map_in_place):
13089         Check input arguments for public functions to avoid obvious crashes.
13090
13091         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
13092         * plugins/elements/gstfakesink.h:
13093         Do less useless typechecking.
13094
13095 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
13096
13097         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
13098           Do not use mmap() by default since there are a number of error
13099           conditions that we would like to handle in a non-fatal way that
13100           will result in a SIGBUS if we use mmap(). Examples: external
13101           devices (USB harddrive, portable music player) being unplugged
13102           while in use; file on mounted CD/DVD that can't be read because
13103           the medium is partly damaged. Fixes #348455 and #348475.
13104
13105 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
13106
13107         * gst/gstquery.h:
13108         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
13109         rates are a gdouble
13110
13111 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
13112
13113         * gst/gstregistry.c:
13114           Move big documentation comment into class section header, so that it
13115           appears in the API docs.
13116
13117 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13118
13119         * docs/gst/gstreamer-sections.txt:
13120         Oops. Commit the docs additions too for new API.
13121         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
13122
13123 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13124
13125         * gst/gststructure.c: (gst_structure_id_set),
13126         (gst_structure_id_set_valist):
13127         * gst/gststructure.h:
13128         Add API for setting values into structures without performing
13129         a quark lookup, if the appropriate quark is already known.
13130
13131         API: gst_structure_id_set
13132         API: gst_structure_id_set_valist
13133
13134         * gst/parse/grammar.y:
13135         * gst/parse/parse.l:
13136         Remove some dead code shown by the coverage information.
13137         Don't throw a critical g_warning when encountering a syntax error,
13138         just warn and let the normal error path handle it.
13139
13140         * plugins/elements/gstelements.c:
13141         Bump the rank of filesink up to PRIMARY so that it is preferred over
13142         gnomevfssink for file:// sink uri's
13143
13144         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
13145         (GST_START_TEST), (run_delayed_test),
13146         (gst_parse_test_element_base_init),
13147         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
13148         (gst_parse_test_element_change_state),
13149         (gst_register_parse_element), (parse_suite):
13150         Beef up the tests for parse syntax to check that more error cases
13151         fail as they are supposed to. Increases the test coverage a bit.
13152
13153 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
13154
13155         * docs/manual/basics-elements.xml:
13156           Fix gst_element_link() example.
13157
13158         * gst/gstutils.c:
13159           Mention in API docs that one should usually gst_bin_add()
13160           elements to a bin or pipeline before doing the linking.
13161           
13162 2006-07-26  Wim Taymans  <wim@fluendo.com>
13163
13164         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
13165         (gst_subbuffer_get_type), (gst_buffer_create_sub):
13166         Avoid function call for known types by keeping the buffer and
13167         subbuffer GType global.
13168
13169         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
13170         Random silly optimisations in read() path.
13171
13172 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
13173
13174         * tools/gst-launch.c: (main):
13175           If the top-level of the parse is a normal bin, it doesn't do the
13176           right logic to run as a top-level element, so place it inside a
13177           pipeline.
13178
13179 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
13180
13181         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
13182           Remove superfluous g_object_notify() calls, GObject does
13183           that for us automatically.
13184
13185 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
13186
13187         * gst/gstinfo.h:
13188           on Win32, use dllspec to export the debug category symbols
13189
13190 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
13191
13192         * gst/gsttaglist.c: (_gst_tag_initialize):
13193           Allow more than one GST_TAG_IMAGE per taglist.
13194
13195 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13196
13197         * gst/gstminiobject.c:
13198           update docs
13199         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
13200         (gst_fd_src_create):
13201           log recurring events at LOG level
13202           add more debug for when the fd gets set
13203
13204 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13205
13206         * gst/gstparse.c: (gst_parse_launch):
13207           Also remove reentrance checks if flex is MT safe (#348179)
13208          Fix my empty ChangeLog entry below
13209
13210 2006-07-21  Andy Wingo  <wingo@pobox.com>
13211
13212         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
13213
13214         * libs/gst/check/Makefile.am
13215         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
13216         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
13217         * libs/gst/check/gstbufferstraw.h:
13218         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
13219         functions, thus proving I am still a GStreamer haxor. OK I wrote
13220         them a long time ago, but anyways.
13221
13222 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
13223
13224         * configure.ac:
13225         * gst/gstparse.c: (gst_parse_launch):
13226           Check for flex version and omit mutex if we have a MT save flex
13227           (fixes #348179)
13228
13229 2006-07-21  Wim Taymans  <wim@fluendo.com>
13230
13231         * gst/gstparse.c: (gst_parse_launch):
13232         Protect recursive calls to _parse with a recursive mutex
13233         and busy flag.
13234
13235 2006-07-21  Wim Taymans  <wim@fluendo.com>
13236
13237         * tests/check/gst/gstpad.c: (GST_START_TEST):
13238         Fix leak in test.
13239
13240 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
13241
13242         * gst/gstparse.c: (gst_parse_launch):
13243           Do not hang on recursive usage of gst_parse_launch()
13244
13245 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13246
13247         * gst/gsttaglist.c:
13248           Add some more docs, comments and FIXME 0.11s here and there
13249           and also fix some typos.
13250
13251 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
13252
13253         * gst/gstsegment.h:
13254           Convert tabs to spaces for better readability. 
13255
13256 2006-07-20  Edward Hervey  <edward@fluendo.com>
13257
13258         * tests/check/libs/gdp.c: (gst_dp_suite):
13259         the test_buffer test fails at line 140 on ppc64 at the following
13260         check:
13261         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
13262                 GST_BUFFER_FLAG_IN_CAPS),
13263                 "GST_BUFFER_IN_CAPS flag should have been copied !");
13264         See bug #348114 for more details.
13265
13266 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
13267
13268         * docs/pwg/advanced-scheduling.xml:
13269         * gst/gstpad.c:
13270           Fix typos (#348000).
13271
13272 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
13273
13274         * docs/pwg/intro-basics.xml:
13275           Fix wrong links (#347927).
13276
13277 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
13278
13279         * gst/gstregistry.h:
13280         * gst/gstregistryxml.c: (load_feature),
13281         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
13282         * win32/common/config.h:
13283           make --disable-index work (#342564)
13284
13285 2006-07-18  Wim Taymans  <wim@fluendo.com>
13286
13287         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13288
13289         * gst/Makefile.am:
13290         * gst/gsttrace.h:
13291         The attached patch adds two missing defines to gsttrace.h when tracing
13292         is disabled.  It also corrects one existing define.
13293         Fixes #347756.
13294
13295 2006-07-17  Wim Taymans  <wim@fluendo.com>
13296
13297         * docs/gst/gstreamer-sections.txt:
13298         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
13299         * gst/gst.h:
13300         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
13301         Add two functions to check and change the SIGSEGV behaviour
13302         when loading plugins.
13303         Don't mess with the SIGSEGV handler when we were told not to.
13304         Fixes #347794.
13305         API: gst_segtrap_is_enabled
13306         API: gst_segtrap_set_enabled
13307
13308 2006-07-14  Wim Taymans  <wim@fluendo.com>
13309
13310         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13311         * tests/check/elements/filesrc.c: (GST_START_TEST):
13312         Revert fix for regression in #347408 after release.
13313
13314 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
13315
13316         Patch by: Antoine Tremblay <hexa00 at gmail com>
13317
13318         * gst/gstutils.c: (gst_element_unlink):
13319           Free iterator when done (#347311).
13320
13321         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
13322           And add a test case for this.
13323
13324 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
13325
13326         * configure.ac:
13327         Bump nano back to CVS
13328
13329 === release 0.10.9 ===
13330
13331 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
13332
13333         * configure.ac:
13334           releasing 0.10.9, "On the road again"
13335
13336 2006-07-13  Wim Taymans  <wim@fluendo.com>
13337
13338         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
13339         * tests/check/elements/filesrc.c: (GST_START_TEST):
13340         Revert pull-0 fix for release. Disable check. Fixes #347408.
13341
13342 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13343
13344         * libs/gst/dataprotocol/dataprotocol.c:
13345         (gst_dp_event_from_packet_1_0):
13346           Fixes #347337: failure to deserialize event packets with
13347           empty payload (only event type)
13348
13349 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13350
13351         * gst/Makefile.am:
13352           do not install a .c file in the header directory
13353
13354 2006-07-13  Edward Hervey  <edward@fluendo.com>
13355
13356         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
13357         GhostPad no longer implicitely use the padtemplates of the targets.
13358         Fixes #347384
13359
13360 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
13361
13362         * gst/gstvalue.c: (gst_value_compare_list),
13363         (gst_value_compare_array), (_gst_value_initialize):
13364         * tests/check/gst/gstvalue.c: (GST_START_TEST):
13365         Make GstValueArray comparison be order dependent as designed.
13366         Add checks for value lists and value array comparisons.
13367         Fixes #347221
13368
13369 2006-07-11  Edward Hervey  <edward@fluendo.com>
13370
13371         * gst/gstbin.c: (activate_pads),
13372         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
13373         (gst_bin_change_state_func):
13374         (de)activate src pads before calling state_change on the childs.
13375         This is to avoid the case where a src ghostpad is blocked (holding the
13376         stream lock), which would block the deactivation of the ghostpad's
13377         target pad.
13378         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
13379         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
13380         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
13381         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13382         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13383         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13384         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
13385         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
13386         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
13387         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
13388         (gst_ghost_pad_class_init),
13389         (gst_ghost_pad_internal_do_activate_push),
13390         (gst_ghost_pad_internal_do_activate_pull),
13391         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
13392         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13393         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
13394         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
13395         GhostPads now create their internal GstProxyPad at creation (and not
13396         when they're linked, as it was being done previously).
13397         The internal and target pads are linked straight away.
13398         The data will also travel through the other pad in order to make
13399         pad blocking and probes non-hackish (the probe/block now really happens
13400         on the GhostPad and not on the target).
13401         * gst/gstpad.c: (gst_pad_set_blocked_async),
13402         (gst_pad_link_prepare), (gst_pad_push_event):
13403         Remove previous ghostpad cruft.
13404         * gst/gstutils.c: (gst_pad_add_data_probe),
13405         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
13406         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
13407         (gst_pad_remove_buffer_probe):
13408         Remove previous ghost pad cruft.
13409         Added more detailed debug statements.
13410         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
13411         Fix the testsuite for refcounting changes.
13412         The comments about who has references were correct, but the refcount
13413         being checked wasn't the same (!?!).
13414
13415         Fixes #341029
13416
13417 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13418
13419         * docs/gst/gstreamer-sections.txt:
13420         * gst/gstconfig.h.in:
13421         More docs for configuration options, add docs to gtk-doc.
13422
13423 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
13424
13425         * gst/Makefile.am:
13426         * gst/gstconfig.h.in:
13427         * win32/common/config.h:
13428         Fix build when disabling tracing (fixes #344016). Also start to document
13429         the defines that disable the sub-systems.
13430
13431 2006-07-10  Edward Hervey  <edward@fluendo.com>
13432
13433         * gst/gst.c: (ensure_current_registry_forking):
13434         let's make valgrind happy...
13435
13436 2006-07-09  Wim Taymans  <wim@fluendo.com>
13437
13438         * gst/gstelement.c: (activate_pads),
13439         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
13440         Better pad activation code: Reset the collect value too on resync.
13441         Add some comments.
13442
13443 2006-07-09  Wim Taymans  <wim@fluendo.com>
13444
13445         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
13446         (gst_pad_activate_push):
13447         Use some more macros where it makes sense.
13448         Allow pad mode switching instead of asserting. When a pad
13449         is activated in one mode and we activate it in another, 
13450         deactivate it first before activating it in a different mode.
13451         Fixes #329198.
13452
13453 2006-07-08  Andy Wingo  <wingo@pobox.com>
13454
13455         * tools/gst-launch.c (main): Handle err == NULL.
13456
13457         * gst/gst.c (init_post, ensure_current_registry)
13458         (ensure_current_registry_forking)
13459         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
13460         factoring out the registry scanning into separate functions. Don't
13461         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
13462         Better environment var name/interface suggestions accepted.
13463
13464 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13465
13466         * gst/gstobject.c: (gst_object_set_name_default),
13467         (gst_object_set_name):
13468           Random micro-optimisation: don't use a hash table
13469           with strings as keys and the usual strdup/strcmp
13470           involved, but rather just use the GQuark of the
13471           type name as key, since it needs to be looked up
13472           anyway to get the type name string.
13473
13474         * tests/check/gst/gstobject.c: (GST_START_TEST):
13475           Fix various leaks.
13476
13477 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13478
13479         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
13480         (gst_bin_iterate_all_by_interface):
13481           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
13482           GTypes are gulongs and thus the top 4 bytes might be cut
13483           off on some platforms when doing GPOINTER_TO_INT, leading
13484           to invalid GTypes and bad things happening (see RH bug #179654).
13485           Also add a check to make sure the type passed in is really
13486           an interface type.
13487
13488 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13489
13490         * .cvsignore:
13491           Ignore more.
13492
13493 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
13494
13495         * Makefile.am:
13496         * configure.ac:
13497         * gst-element-check.m4:
13498         * gst-element-check.m4.in:
13499           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
13500           instead of the unversioned gst-inspect (#324176, #168659).
13501
13502 2006-07-06  Wim Taymans  <wim@fluendo.com>
13503
13504         * gst/gstmessage.h:
13505         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
13506         warnings.
13507
13508 2006-07-06  Wim Taymans  <wim@fluendo.com>
13509
13510         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
13511         (gst_base_src_wait), (gst_base_src_update_length),
13512         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
13513         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
13514         (gst_base_src_loop), (gst_base_src_start),
13515         (gst_base_src_activate_pull):
13516         Update docs.
13517         blocksize == 0 now means the default blocksize when working in push
13518         based mode.
13519         Remove some pointless asserts in _wait function.
13520         Fix offset/length calculations and EOS handling. We can now pull 0
13521         bytes as well, which is allowed.
13522         use _check_get_range() to decide if we can operate in _pull based
13523         mode.
13524         Fix refcounting leak when check_get_range function was not 
13525         implemented.
13526         API GstBaseSrc::blocksize range can be 0 too now (default)
13527
13528         * tests/check/elements/filesrc.c: (GST_START_TEST),
13529         (filesrc_suite):
13530         Added check to test _get_range() behaviour.
13531
13532 2006-07-06  Wim Taymans  <wim@fluendo.com>
13533
13534         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
13535         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
13536         (gst_pad_pull_range):
13537         * gst/gstpad.h:
13538         Lots of comments and docs added to the pad functions.
13539         Flesh out the expected behaviour of the get_range() functions.
13540
13541 2006-07-06  Wim Taymans  <wim@fluendo.com>
13542
13543         * gst/gstbus.h:
13544         * gst/gstclock.h:
13545         * gst/gstevent.h:
13546         * gst/gstiterator.h:
13547         * gst/gstpad.h:
13548         * gst/gstplugin.h:
13549         * gst/gsttask.h:
13550         Remove comma at end of enumerator list. 
13551
13552 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
13553
13554         * win32/common/libgstbase.def:
13555         * win32/common/libgstdataprotocol.def:
13556         * win32/common/libsgtreamer.def:
13557         Add new exported functions.
13558
13559 2006-07-05  Wim Taymans  <wim@fluendo.com>
13560
13561         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
13562         Add some more docs here and there.
13563
13564 2006-07-05  Wim Taymans  <wim@fluendo.com>
13565
13566         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
13567         (gst_base_sink_loop), (gst_base_sink_get_position):
13568         When operating in pull mode update the offset so that we
13569         read sequentially.
13570
13571 2006-07-05  Wim Taymans  <wim@fluendo.com>
13572
13573         * gst/gstregistryxml.c: (read_string):
13574         Avoid strdup. (will happen in libxml, but hey!)
13575
13576         * gst/gsturi.c:
13577         Add some more docs.
13578
13579 2006-07-05  Wim Taymans  <wim@fluendo.com>
13580
13581         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
13582         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
13583         (gst_buffer_suite):
13584         No point in checking if the size of the subbuffer > 0, the
13585         code handles it correclty as demonstrated by unit test.
13586         Also add a unit test for the zero sized _new_and_alloc and
13587         _copy. Fixes #346663.
13588
13589 2006-07-05  Wim Taymans  <wim@fluendo.com>
13590
13591         * libs/gst/base/gstbasetransform.c:
13592         (gst_base_transform_prepare_output_buffer),
13593         (gst_base_transform_buffer_alloc),
13594         (gst_base_transform_handle_buffer):
13595         Make sure the buffer we pass to transform_ip has a refcount of
13596         1 and thus is writable. Fixes #343196
13597
13598 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
13599
13600         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
13601         (gst_file_src_init), (gst_file_src_set_property),
13602         (gst_file_src_get_property), (gst_file_src_map_region):
13603         * plugins/elements/gstfilesrc.h:
13604         Add "sequential" property, off by default, to use madvise and hint
13605         to the kernel that sequential access is desired.
13606         Touch all retrieved pages by default to ensure they are pulled
13607         into memory. (Closes #345720)
13608
13609 2006-07-03  Wim Taymans  <wim@fluendo.com>
13610
13611         * docs/design/part-block.txt:
13612         * docs/design/part-dynamic.txt:
13613         Small docs updates.
13614
13615 2006-07-03  Wim Taymans  <wim@fluendo.com>
13616
13617         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
13618         (gst_caps_unref), (gst_static_caps_get),
13619         (gst_caps_append_structure):
13620         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
13621         Use GSlice when the glib we build against is >= 2.10
13622
13623 2006-07-03  Wim Taymans  <wim@fluendo.com>
13624
13625         * gst/gstelement.c: (gst_element_pads_activate):
13626         Small cleanup in pad activation code.
13627
13628 2006-07-03  Wim Taymans  <wim@fluendo.com>
13629
13630         Patch by: Peter Kjellerstedt <pkj at axis dot com>
13631
13632         * gst/gst-i18n-app.h:
13633         * gst/gst-i18n-lib.h:
13634         * tools/gst-inspect.c: (print_signal_info):
13635         The attached patch will make the inclusion of gettext.h unconditional in
13636         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
13637         libintl.h in tools/gst-inspect.c.
13638         This allows use of --disable-nls again and fixes #344642.
13639
13640 2006-07-03  Edward Hervey  <edward@fluendo.com>
13641
13642         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
13643         Implement pad blocking on events according to part-block.txt.
13644         More comments on behaviour.
13645         * tests/check/gst/gstevent.c: (test_event):
13646         Send event to peer pad of blocked pad (else it will block).
13647
13648 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13649
13650         * libs/gst/check/gstcheck.c: (gst_check_message_error),
13651         (gst_check_run_suite):
13652           if we get the wrong message, give us the types as string
13653         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
13654           Fix a translatable
13655         * tests/check/elements/filesrc.c: (GST_START_TEST):
13656           add a test for trying to open a non-existing file
13657
13658 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13659
13660         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13661           add a test for adding self
13662
13663 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13664
13665         * libs/gst/check/gstcheck.h:
13666           add some assert_ as alias for fail_unless_*
13667         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
13668           increase test coverage
13669
13670 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13671
13672         * Makefile.am:
13673           include lcov.mak for lcov coverage generation
13674         * tools/Makefile.am:
13675           add to CLEANFILES
13676
13677 2006-07-02  Edward Hervey  <edward@fluendo.com>
13678
13679         * tests/check/elements/.cvsignore:
13680         moaping
13681
13682 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13683
13684         * configure.ac:
13685           don't set CFLAGS and friends for gcov, done from GST_GCOV now
13686         * tests/check/Makefile.am:
13687           clean up gcov files
13688
13689 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13690
13691         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
13692           remove gst_caps_simplify; it was not declared and not used
13693           and deprecated in 0.8
13694
13695 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13696
13697         * docs/faq/gst-uninstalled:
13698           don't put empty paths on PYTHONPATH
13699         * docs/gst/gstreamer-sections.txt:
13700           remove some symbols that are not there
13701
13702 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13703
13704         * gst/gstcaps.c: (gst_caps_compare_structures):
13705           whitespace fixes
13706         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
13707         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
13708           add more tests
13709
13710 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13711
13712         * libs/gst/dataprotocol/Makefile.am:
13713           build dataprotocol test by linking to the lib, instead of
13714           compiling the source, so we get coverage
13715         * tests/check/Makefile.am:
13716         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
13717         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
13718           add a test for filesrc
13719
13720 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13721
13722         * tests/check/gst/gststructure.c: (GST_START_TEST),
13723         (gst_structure_suite):
13724           Push coverage from 59.04% to 70.00%
13725
13726 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13727
13728         * tests/check/Makefile.am:
13729           gst-inspect every element; this makes sure that we also get
13730           coverage on element's get/set functions
13731
13732 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13733
13734         * configure.ac:
13735           set CFLAGS and friends to -O0 if gcov is being used
13736           add GCOV LIBS
13737         * gst/Makefile.am:
13738         * libs/gst/base/Makefile.am:
13739         * libs/gst/check/Makefile.am:
13740         * libs/gst/controller/Makefile.am:
13741         * libs/gst/dataprotocol/Makefile.am:
13742         * libs/gst/net/Makefile.am:
13743         * plugins/elements/Makefile.am:
13744         * plugins/indexers/Makefile.am:
13745           add makefile rules to generate gcov data and clean up
13746         * tests/check/Makefile.am:
13747           add a coverage target that generates an html overview
13748           of coverage data
13749
13750 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13751
13752         * tests/check/elements/fakesink.c:
13753         * tests/check/elements/fakesrc.c:
13754         * tests/check/elements/fdsrc.c:
13755         * tests/check/elements/identity.c:
13756         * tests/check/generic/sinks.c: (gst_sinks_suite):
13757         * tests/check/generic/states.c:
13758         * tests/check/gst/gst.c:
13759         * tests/check/gst/gstabi.c:
13760         * tests/check/gst/gstbin.c:
13761         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
13762         * tests/check/gst/gstbus.c: (gst_bus_suite):
13763         * tests/check/gst/gstcaps.c: (GST_START_TEST):
13764         * tests/check/gst/gstelement.c:
13765         * tests/check/gst/gstevent.c: (gst_event_suite):
13766         * tests/check/gst/gstghostpad.c:
13767         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
13768         * tests/check/gst/gstmessage.c: (gst_message_suite):
13769         * tests/check/gst/gstminiobject.c:
13770         * tests/check/gst/gstobject.c:
13771         * tests/check/gst/gstpad.c:
13772         * tests/check/gst/gstpipeline.c:
13773         * tests/check/gst/gstplugin.c:
13774         * tests/check/gst/gstquery.c: (gst_query_suite):
13775         * tests/check/gst/gstsegment.c: (gst_segment_suite):
13776         * tests/check/gst/gststructure.c:
13777         * tests/check/gst/gstsystemclock.c:
13778         * tests/check/gst/gsttag.c:
13779         * tests/check/gst/gsttask.c: (gst_task_suite):
13780         * tests/check/gst/gstutils.c:
13781         * tests/check/gst/gstvalue.c:
13782         * tests/check/libs/adapter.c:
13783         * tests/check/libs/basesrc.c:
13784         * tests/check/libs/collectpads.c:
13785         * tests/check/libs/controller.c:
13786         * tests/check/libs/gdp.c: (gst_dp_suite):
13787         * tests/check/libs/gstnetclientclock.c:
13788         * tests/check/libs/gstnettimeprovider.c:
13789         * tests/check/libs/libsabi.c: (libsabi_suite):
13790         * tests/check/libs/typefindhelper.c:
13791         * tests/check/pipelines/cleanup.c:
13792         * tests/check/pipelines/parse-launch.c:
13793         * tests/check/pipelines/simple-launch-lines.c:
13794         * tests/check/pipelines/stress.c: (stress_suite):
13795           use the new macro
13796
13797 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
13798
13799         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
13800         * libs/gst/check/gstcheck.h:
13801           create a macro and function so that the simple unit test
13802           case can be just one macro to create main()
13803
13804 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
13805
13806         * gst/gstbin.c: (gst_bin_restore_thyself):
13807         * gst/gstxml.c: (gst_xml_make_element):
13808           Fix deserialisation from XML. Set parent manually
13809           instead of using gst_bin_add(), since gst_bin_add()
13810           will unlink all pads of the element being added.
13811           Fixes #341667.
13812
13813 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
13814
13815         Patch by: Peter Kjellerstedt <pkj at axis com>
13816
13817         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
13818           Fix missing g_strdup() and double free when using the
13819           --gst-plugin-load command line option (#346097).
13820
13821 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
13822
13823         * gst/gstinfo.c:
13824           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
13825
13826         * libs/gst/net/gstnetclientclock.c:
13827         * libs/gst/net/gstnettimeprovider.c:
13828           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
13829
13830 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
13831
13832         * docs/manual/advanced-dataaccess.xml:
13833           Fix buffer probe example compilation in
13834           ADM (#345708).
13835         
13836 2006-06-22  Edward Hervey  <edward@fluendo.com>
13837
13838         * gst/gstelement.c: (gst_element_pads_activate):
13839         We need to deactivate src pads first and then sink pads.
13840         The reason is the src pads might be blocking while holding the streaming
13841         lock, so we need to deactivate them first so that deactivating the sink
13842         pads doesn't block (since it will require the streaming lock).
13843
13844 2006-06-22  Wim Taymans  <wim@fluendo.com>
13845
13846         * libs/gst/base/gstbasetransform.c:
13847         (gst_base_transform_buffer_alloc):
13848         Forgot to remove two unneeded unrefs.
13849         Simplify a check _is_equal allready checks the obvious case.
13850
13851 2006-06-22  Wim Taymans  <wim@fluendo.com>
13852
13853         * docs/design/part-block.txt:
13854         Some docs about what pad_block should do.
13855
13856 2006-06-22  Wim Taymans  <wim@fluendo.com>
13857
13858         * gst/gstcaps.c: (gst_caps_replace):
13859         Fix crasher when passed NULL. Doc clarification.
13860         Optimize for the trivial case.
13861
13862         * gst/gstpipeline.c: (gst_pipeline_change_state):
13863         Small cleanups.
13864
13865         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
13866         Small documentation cleanup.
13867
13868         * libs/gst/base/gstbasetransform.c:
13869         (gst_base_transform_buffer_alloc):
13870         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
13871         is what we need and it avoids a whole lot of redundant 
13872         refcount operations.
13873
13874 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
13875
13876         Patch by: Philip Jägenstedt  <philip at lysator liu se>
13877
13878         * docs/manual/advanced-dataaccess.xml:
13879           Fix 'Embedding static elements' section to use
13880           GST_PLUGIN_DEFINE_STATIC (#345607).
13881
13882 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
13883
13884         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
13885           Attempt to 'fix' spuriously failing test case: it seems like the
13886           timeout of half a second is simply too small when the system is under
13887           load otherwise, and the timeout doesn't really seem to serve any
13888           particular purpose here. Give the pipeline a few seconds to preroll
13889           first, and then give it another half a second to go from PAUSED to
13890           PLAYING and marshal the message into the main thread.
13891
13892 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
13893
13894         * tools/gst-feedback-m.m:
13895           Don't only use unversioned tools, try versioned tools as well
13896           (#345086).
13897
13898 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
13899
13900         * gst/gstbus.c: (gst_bus_class_init):
13901           Fix some typos, make docs more explicit.
13902
13903 2006-06-20  Wim Taymans  <wim@fluendo.com>
13904
13905         * tests/check/gst/gstghostpad.c: (block_callback),
13906         (GST_START_TEST), (gst_ghost_pad_suite):
13907         Added some more ghostpad tests, mainly blocking
13908         and probes.
13909
13910 2006-06-16  Wim Taymans  <wim@fluendo.com>
13911
13912         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
13913         (gst_file_sink_close_file), (gst_file_sink_do_seek),
13914         (gst_file_sink_event), (gst_file_sink_render):
13915         * plugins/elements/gstfilesink.h:
13916         Check if we can seek in the file instead of assuming
13917         we always can. Post an error when we are asked to seek in a
13918         non-seekable file (like a fifo). Fixes #343312.
13919         Some cleanups.
13920
13921 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
13922
13923         * tools/gst-launch.1.in:
13924           Un-garble (fourcc) bit in filtered caps section.
13925
13926 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
13927
13928         * docs/manual/advanced-autoplugging.xml:
13929         * docs/manual/basics-helloworld.xml:
13930         * docs/manual/highlevel-components.xml:
13931           Don't leak bus reference in sample code.
13932
13933 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
13934
13935         * autogen.sh:
13936           Add default for new --enable-plugin-docs switch.
13937
13938         * configure.ac:
13939           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
13940           Fixes #344039.
13941
13942         * docs/Makefile.am:
13943           Use new ENABLE_PLUGIN_DOCS conditional.
13944
13945 2006-06-14  Wim Taymans  <wim@fluendo.com>
13946
13947         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
13948         Make it clear with a FIXME and a real define what the #if 0
13949         previously disabled.
13950
13951 2006-06-14  Wim Taymans  <wim@fluendo.com>
13952
13953         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
13954         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
13955         * libs/gst/base/gstbasetransform.c:
13956         (gst_base_transform_sink_eventfunc):
13957         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
13958         Don't randomly and silently reset a segment when the format 
13959         changes as this is a bug somewhere upstream. Fixes #330379.
13960
13961 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
13962
13963         Patch by: Wouter Paesen  <wouter at kangaroot net>
13964
13965         * libs/gst/controller/gstcontroller.c:
13966         (gst_controlled_property_new):
13967           Fix controlling of float properties (#344849).
13968
13969         * tests/check/libs/controller.c:
13970         (gst_test_mono_source_get_property),
13971         (gst_test_mono_source_set_property),
13972         (gst_test_mono_source_class_init), (GST_START_TEST):
13973           While we're at it, add some float stuff to unit test.
13974
13975 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13976
13977         * docs/README:
13978         * docs/images/gdp-header.svg:
13979           add a gdp image
13980         * docs/libs/Makefile.am:
13981         * docs/libs/gdp-header.png:
13982         * libs/gst/dataprotocol/dataprotocol.c:
13983           add it to the API docs
13984         * docs/manual/intro-motivation.xml:
13985           fix typo
13986
13987 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
13988
13989         * gst/gst.c: (scan_and_update_registry), (init_post):
13990           If the fork()'ed child process can't write the updated registry cache
13991           file to disk for some reason, make it exit with a failure exit code,
13992           so that the parent can then re-scan the plugins itself and update the
13993           registry structures in memory and work with that (rather than failing
13994           when creating elements because seemingly no plugins are available).
13995           Refactor registry scanning code into separate function for this and
13996           also separate fork() and non-fork() code paths. Fixes #344748.
13997
13998 2006-06-13  Wim Taymans  <wim@fluendo.com>
13999
14000         * docs/manual/advanced-dataaccess.xml:
14001         Fix wrong PluginDesc. Fixes #344755.
14002
14003 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14004
14005         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14006           Fix silly bug that prevented us from creating
14007           ~/.gstreamer-0.10 and writing the registry in one
14008           go (the first call to g_mkstemp() would overwrite the
14009           placeholder in the template string, so the second call
14010           to g_mkstemp() after creating the missing directory
14011           would then error out with 'invalid argument').
14012
14013 2006-06-13  Edward Hervey  <edward@fluendo.com>
14014
14015         * gst/gst.c: (init_post):
14016         Free string.
14017
14018 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14019
14020         * gst/glib-compat-private.h:
14021         * gst/glib-compat.c:
14022         * gst/glib-compat.h:
14023         * gst/gstvalue.c: (gst_value_serialize_flags):
14024           remove GLib 2.6 compatibility code
14025
14026 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
14027
14028         * gst/parse/Makefile.am:
14029           Fix build with 'make -j N' even more (#340016).
14030
14031 2006-06-12  Wim Taymans  <wim@fluendo.com>
14032
14033         * docs/gst/gstreamer-sections.txt:
14034         Fix docs.
14035
14036 2006-06-12  Wim Taymans  <wim@fluendo.com>
14037
14038         * gst/gstsegment.c: (gst_segment_set_duration),
14039         (gst_segment_set_last_stop), (gst_segment_set_seek),
14040         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
14041         (gst_segment_to_running_time), (gst_segment_clip):
14042         Use G_UNLIKELY to help the compiler a bit.
14043
14044 2006-06-12  Wim Taymans  <wim@fluendo.com>
14045
14046         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
14047
14048         * gst/gstevent.c: (gst_event_get_type):
14049         * gst/gstmessage.c:
14050         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
14051         (gst_pad_push):
14052         constify quark registration strings. Fixes #344115
14053         Avoid unneeded type checking is _pad_push() by internally
14054         calling gst_pad_chain_unchecked().
14055
14056 2006-06-12  Wim Taymans  <wim@fluendo.com>
14057
14058         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
14059         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
14060         (gst_subbuffer_finalize), (gst_buffer_create_sub),
14061         (gst_buffer_is_span_fast), (gst_buffer_span):
14062         Init _type for consistency.
14063         Use _FLAGS macro to avoid type check.
14064         Avoid unneeded type checks in subbufer code.
14065
14066 2006-06-12  Wim Taymans  <wim@fluendo.com>
14067
14068         * gst/gst.c: (gst_debug_help):
14069         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
14070         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
14071         (gst_plugin_feature_list_free):
14072         * gst/gstregistry.c: (gst_registry_add_plugin),
14073         (gst_registry_add_feature), (gst_registry_plugin_filter),
14074         (gst_registry_feature_filter), (gst_registry_find_plugin),
14075         (gst_registry_find_feature), (gst_registry_get_plugin_list),
14076         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
14077         * gst/gstregistryxml.c: (load_feature),
14078         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
14079         * gst/gstminiobject.c: (gst_mini_object_unref),
14080         (gst_mini_object_replace), (gst_value_mini_object_free),
14081         (gst_value_mini_object_copy):
14082         Use _CAST macros to avoid unneeded type checking.
14083         Added some more G_UNLIKELY.
14084
14085 2006-06-12  Wim Taymans  <wim@fluendo.com>
14086
14087         * gst/gstbuffer.h:
14088         Avoid unneeded type checking.
14089         API: GST_BUFFER_IS_DISCONT
14090
14091         * gst/gstminiobject.h:
14092         Avoid type check in flag accessor.
14093
14094         * gst/gstelementfactory.h:
14095         * gst/gstplugin.h:
14096         * gst/gstpluginfeature.h:
14097         Add _CAST macros.
14098         API: GST_ELEMENT_FACTORY_CAST
14099         API: GST_PLUGIN_CAST
14100         API: GST_PLUGIN_FEATURE_CAST
14101
14102 2006-06-12  Wim Taymans  <wim@fluendo.com>
14103
14104         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
14105         (gst_object_unref):
14106         Add G_UNLIKELY in type registration.
14107         Avoid type check in _ref/_unref since that is also
14108         done in glib.
14109
14110 2006-06-12  Wim Taymans  <wim@fluendo.com>
14111
14112         * gst/gsterror.c: (gst_g_error_get_type):
14113         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
14114         (gst_static_pad_template_get_type):
14115         * gst/gsttaglist.c: (gst_tag_list_get_type):
14116         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
14117         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
14118         * gst/gsturi.c: (gst_uri_handler_get_type):
14119         * gst/gstvalue.c: (gst_date_get_type):
14120         * gst/gstxml.c: (gst_xml_get_type):
14121         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
14122         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
14123         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
14124         Add G_UNLIKELY in type registration.
14125
14126 2006-06-12  Wim Taymans  <wim@fluendo.com>
14127
14128         * tools/gst-inspect.c: (print_signal_info):
14129         Properly print enum values.
14130
14131 2006-06-12  Wim Taymans  <wim@fluendo.com>
14132
14133         * gst/gstinfo.c: (gst_debug_set_active),
14134         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
14135         * gst/gstinfo.h:
14136         Add some G_[UN]LIKELY.
14137         Maintain __gst_debug_min to avoid formatting the arguments of
14138         debug messages that will be dropped anyway to avoid a lot of 
14139         overhead from the debugging system.
14140
14141 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14142
14143         * po/POTFILES.in:
14144         * po/POTFILES.skip:
14145           add missing files containing translatable strings, tell intltool about
14146           one exception
14147
14148 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14149
14150         * tests/check/libs/.cvsignore:
14151         add test-binary to ignore list
14152
14153 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
14154
14155         * docs/libs/gstreamer-libs-docs.sgml:
14156         reorder (put dp into a chapter) and indent
14157
14158 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14159
14160         * configure.ac:
14161           back to HEAD
14162
14163 === release 0.10.8 ===
14164
14165 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
14166
14167         * configure.ac:
14168           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
14169
14170 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14171
14172         * gst/gst.c: (init_post):
14173           move pid declaration to declaration block
14174
14175 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14176
14177         * gst/gst.c: (init_post):
14178           use _exit() instead of exit() in our forked child; this ensures
14179           that none of the registered exit handlers from whatever is using
14180           GStreamer get executed.  This fixes gnome-mixer-applet failing
14181           to load, because ORBit would shut down.
14182           Spotted by: Edward Hervey  <edward@fluendo.com>
14183           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
14184           Fixes #344474
14185
14186 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14187
14188         * configure.ac:
14189           back to TRUNK
14190
14191 === release 0.10.7 ===
14192
14193 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
14194
14195         * configure.ac:
14196           releasing 0.10.7, "Soepeke, ik zie ou"
14197
14198 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14199
14200         * configure.ac:
14201         * po/af.po:
14202         * po/az.po:
14203         * po/bg.po:
14204         * po/ca.po:
14205         * po/cs.po:
14206         * po/de.po:
14207         * po/en_GB.po:
14208         * po/fr.po:
14209         * po/it.po:
14210         * po/nb.po:
14211         * po/nl.po:
14212         * po/ru.po:
14213         * po/sq.po:
14214         * po/sr.po:
14215         * po/sv.po:
14216         * po/tr.po:
14217         * po/uk.po:
14218         * po/vi.po:
14219         * po/zh_CN.po:
14220         * po/zh_TW.po:
14221         * win32/common/config.h:
14222           0.10.6.2 prerelease
14223
14224 2006-06-07  Wim Taymans  <wim@fluendo.com>
14225
14226         * gst/gstindex.c: (gst_index_gtype_resolver):
14227         * tools/gst-xmlinspect.c: (print_plugin_info):
14228         Fix leak spotted by coverity checker. Fixes #343827
14229         Fix another other leak found by paolo borelli.
14230
14231 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14232
14233         * libs/gst/dataprotocol/dataprotocol.c:
14234         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
14235         (gst_dp_version_get_type), (gst_dp_init),
14236         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
14237         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
14238         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
14239         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
14240         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
14241         (gst_dp_packetizer_free):
14242         * libs/gst/dataprotocol/dataprotocol.h:
14243           API: add a GstDPPacketizer object, and create/free functions
14244           API: add GstDPVersion enum
14245           Add 1.0 event function that uses the string serialization
14246           Serialize more useful buffer flags
14247           Fixes #343988
14248
14249 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14250
14251         * tests/check/Makefile.am:
14252         * tests/check/gst/gstabi.c:
14253         * tests/check/gst/struct_ppc64.h:
14254         * tests/check/libs/libsabi.c:
14255         * tests/check/libs/struct_ppc64.h:
14256           add ppc64 structure sizes
14257
14258 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14259
14260         * tests/check/Makefile.am:
14261         * tests/check/gst/gstabi.c:
14262         * tests/check/gst/struct_x86_64.h:
14263         * tests/check/libs/libsabi.c:
14264         * tests/check/libs/struct_x86_64.h:
14265           generate and add structure size lists for x86_64
14266
14267 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14268
14269         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
14270         * libs/gst/check/gstcheck.h:
14271           factor out the method from tests that checks size of structures,
14272           and add code to generate the header containing these sizes
14273         * tests/check/gst/gstabi.c: (GST_START_TEST):
14274         * tests/check/gst/struct_i386.h:
14275         * tests/check/libs/libsabi.c: (GST_START_TEST):
14276         * tests/check/libs/struct_i386.h:
14277           use it
14278
14279 2006-06-06  Michael Smith  <msmith@fluendo.com>
14280
14281         * gst/gstsegment.h:
14282           Don't use c++-style comments, fixes #343929
14283
14284 2006-06-05  Edward Hervey  <edward@fluendo.com>
14285
14286         * gst/gst.c:
14287         plugin_paths is not used if we build without registry support.
14288
14289         * gst/gstsegment.c: (gst_segment_copy): 
14290         _copy() was always returning NULL...
14291
14292 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14293
14294         * libs/gst/dataprotocol/dataprotocol.c:
14295         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14296         (gst_dp_packet_from_event):
14297           factor out CRC code
14298
14299 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14300
14301         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
14302           make sure we unset caps
14303
14304 2006-06-02  Michael Smith  <msmith@fluendo.com>
14305
14306         * libs/gst/check/gstcheck.c: (gst_check_init),
14307         (gst_check_chain_func):
14308         * libs/gst/check/gstcheck.h:
14309           Add a cond/mutex to the check support lib, signal this whenever we
14310           add to the buffers list. This will allow tests to not busy-wait on
14311           the buffer-list.
14312
14313 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14314
14315         * libs/gst/dataprotocol/dataprotocol.c:
14316         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14317         (gst_dp_packet_from_event):
14318           factor out some common header init code
14319
14320 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
14321
14322         * docs/libs/gstreamer-libs-sections.txt:
14323         * docs/libs/tmpl/gstdataprotocol.sgml:
14324         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
14325         * libs/gst/dataprotocol/dataprotocol.h:
14326           API: make gst_dp_crc() public
14327
14328 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14329
14330         * plugins/indexers/gstindexers.c: (plugin_init):
14331         conditionally register fileindexer (fixes #343598)
14332
14333 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
14334
14335         * gst/gsttagsetter.h:
14336         Can't cast ifaces to a class
14337
14338         * libs/gst/net/gstnetclientclock.h:
14339         * libs/gst/net/gstnettimeprovider.h:
14340         * plugins/elements/gstfakesink.h:
14341         * plugins/elements/gstfakesrc.h:
14342         * plugins/elements/gstfdsink.h:
14343         * plugins/elements/gstfdsrc.h:
14344         * plugins/elements/gstfilesink.h:
14345         * plugins/elements/gstfilesrc.h:
14346         * plugins/elements/gstidentity.h:
14347         * plugins/elements/gstqueue.h:
14348         * plugins/elements/gsttee.h:
14349         * plugins/indexers/gstfileindex.c:
14350         * plugins/indexers/gstmemindex.c:
14351         * tests/old/examples/plugins/example.h:
14352         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
14353
14354 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
14355
14356         * libs/gst/dataprotocol/dataprotocol.c:
14357         (gst_dp_header_from_buffer):
14358           make sure we zero the whole ABI-compatible area
14359
14360 2006-06-01  Wim Taymans  <wim@fluendo.com>
14361
14362         Patch by: Alessandro Decina <alessandro at nnva dot org>
14363
14364         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
14365         Make sure the EOS flag is cleared from pads after a flush
14366         or stop. Fixes #343538.
14367
14368         * tests/check/libs/collectpads.c: (GST_START_TEST),
14369         (gst_collect_pads_suite):
14370         Added test for collectpads reusage after EOS.
14371
14372 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
14373
14374         * gst/gst.c:
14375          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
14376         * win32/common/libgstbase.def:
14377          export gst_collect_pads_set_flushing
14378         * win32/common/libgstreamer.def:
14379          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
14380          gst_value_fraction_multiply
14381         * win32/vs6/gst_inspect.dsp:
14382          add a link to intl.lib
14383
14384 2006-05-30  Wim Taymans  <wim@fluendo.com>
14385
14386         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14387         (gst_collect_pads_chain):
14388         Handle the case where a pad is removed from the collection
14389         that could cause the other pads to become collectable.
14390
14391 2006-05-30  Wim Taymans  <wim@fluendo.com>
14392
14393         * gst/gstelement.c:
14394         Clarify the use of _release_request_pad() and
14395         _get_request_pad() a bit better.
14396
14397         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
14398         (gst_adapter_take_buffer):
14399         Fix some doc and comment typos.
14400
14401 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
14402
14403         * docs/gst/gstreamer-sections.txt:
14404         * docs/libs/gstreamer-libs-sections.txt:
14405           add declared symbols
14406
14407 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
14408
14409         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
14410         Add debug that can be enabled using a #define at the top of the file,
14411         for dumping stats about how late/early we were when waking up from
14412         waiting on the clock.
14413
14414 2006-05-30  Wim Taymans  <wim@fluendo.com>
14415
14416         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
14417         When rebuilding the pad list, don't leak the previous list.
14418
14419 2006-05-30  Wim Taymans  <wim@fluendo.com>
14420
14421         Patch by: Lutz Mueller <lutz at topfrose dot de>
14422
14423         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
14424         (gst_base_src_get_query_types), (gst_base_src_update_length):
14425         Publish supported query types.
14426         Update last_stop field in get_range mode so the position
14427         query works. Fixes #342321.
14428
14429 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
14430
14431         * docs/gst/gstreamer-sections.txt:
14432         * gst/gsttaglist.c: (_gst_tag_initialize):
14433         * gst/gsttaglist.h:
14434           API: add GST_TAG_PREVIEW_IMAGE (#343341).
14435
14436 2006-05-30  Wim Taymans  <wim@fluendo.com>
14437
14438         Patch by: Alessandro Decina <alessandro at nnva dot org>
14439
14440         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
14441         Unlock mutex when removing an unknown pad.
14442         Fixes #343334.
14443
14444         * tests/check/Makefile.am:
14445         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
14446         (push_event), (setup), (teardown), (GST_START_TEST),
14447         (gst_collect_pads_suite), (main):
14448         Added collecpads check, disabled for now as check crashes for
14449         some reason.
14450
14451 2006-05-29  Wim Taymans  <wim@fluendo.com>
14452
14453         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
14454         Don't leak pads lists.
14455
14456 2006-05-29  Wim Taymans  <wim@fluendo.com>
14457
14458         * docs/libs/gstreamer-libs-sections.txt:
14459         * libs/gst/base/gstcollectpads.c:
14460         (gst_collect_pads_set_flushing_unlocked),
14461         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14462         (gst_collect_pads_stop):
14463         * libs/gst/base/gstcollectpads.h:
14464         API: gst_collect_pads_set_flushing()
14465         Added api to set the pads to flushing, useful for seeking
14466         code in elements using collectpads.
14467         Clear segment when receiving a flush.
14468
14469 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
14470
14471         * gst/gst.c: (add_path_func), (init_post):
14472           Don't scan registry paths passed via --gst-plugin-path immediately
14473           (will crash, because absolutely nothing is set up and no types are
14474           registered etc.); do this later in init_post(). Fixes #343057.
14475
14476 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
14477
14478         * gst/gst.c: (init_post):
14479           if we have fork, fork while reading/rebuilding the registry
14480           so the parent doesn't take the hit of having all plugins loaded
14481           in memory.  Fixes #342777.
14482         * configure.ac:
14483           Check if we have fork()
14484         * win32/common/config.h.in:
14485           no fork() on win32
14486
14487 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14488
14489         * plugins/elements/gstelements.c:
14490         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
14491         (gst_file_src_init), (gst_file_src_set_property),
14492         (gst_file_src_get_property), (gst_file_src_start):
14493         * plugins/elements/gstfilesrc.h:
14494           API: GstFileSrc::use-mmap
14495
14496         Add a use-mmap property to enable easier testing of all code paths.
14497         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
14498         in the absence of gnomevfssrc. (Closes #340501)
14499
14500 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
14501
14502         * tools/gst-inspect.c:
14503         Add missing include, removes warning of ngettext not being defined on
14504         some arches.
14505
14506 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
14507
14508         * gst/gstvalue.c: (gst_value_deserialize_fraction):
14509         Handle NULL input and output pointers silently as a failed conversion,
14510         rather than g_warnings.
14511
14512 2006-05-25  Wim Taymans  <wim@fluendo.com>
14513
14514         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
14515         Initialize variable before using. Fixes #342820.
14516
14517 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
14518
14519         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
14520           Fix off-by-one bug that would only allow peeks of N-1 bytes
14521           from the start even if the buffer to typefind on contains
14522           in fact N bytes of data (makes vorbis typefinding from a
14523           vorbis identification header buffer work).
14524
14525         * tests/check/Makefile.am:
14526         * tests/check/libs/.cvsignore:
14527         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
14528         (gst_typefindhelper_suite), (main), (foobar_typefind),
14529         (plugin_init):
14530           Add very basic unit test for gst_type_find_helper_for_buffer()
14531           that checks for the problem fixed above.
14532
14533 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14534
14535         * tools/gst-inspect.c: (print_interfaces),
14536         (print_element_properties_info), (print_element_list), (main):
14537           add more translatable strings
14538
14539 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
14540
14541         Patch by: Julien Moutte  <julien at moutte net>
14542
14543         * docs/gst/gstreamer-sections.txt:
14544           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
14545           
14546         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
14547         (gst_fake_sink_preroll):
14548         * plugins/elements/gstfakesink.h:
14549           API: Add new GstFakeSink::preroll-handoff signal (#337100).
14550
14551 2006-05-23  Wim Taymans  <wim@fluendo.com>
14552
14553         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
14554         * gst/gstpad.h:
14555         Added _CUSTOM error and success GstFlowReturn that can be
14556         used be elements internally. 
14557         Added macro to check for SUCCESS flowreturns.
14558         API: GST_FLOW_CUSTOM_SUCCESS
14559         API: GST_FLOW_CUSTOM_ERROR
14560         API: GST_FLOW_IS_SUCCESS
14561
14562         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
14563         Added check for GstFlowReturn sanity.
14564
14565 2006-05-23  Wim Taymans  <wim@fluendo.com>
14566
14567         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
14568
14569         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
14570         (gst_collect_pads_event):
14571         clear/reset segment info in FLUSH_STOP.
14572         Fixes #336929.
14573
14574 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
14575
14576         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
14577         (gst_collect_pads_check_collected):
14578         Flush queued buffer on _stop(), fixes playing again (#342454)
14579
14580 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
14581
14582         * tests/check/gst/gststructure.c: (GST_START_TEST),
14583         (gst_structure_suite):
14584           add a test for a complete structure
14585
14586 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
14587
14588         * docs/faq/developing.xml:
14589         * docs/faq/faq.xml:
14590         * docs/faq/troubleshooting.xml:
14591         * docs/faq/using.xml:
14592           Some minor FAQ updates that won't change the fact that
14593           our FAQ is badly structured, full of information hardly
14594           anyone new to GStreamer needs to know and lacking lots
14595           of information people constantly ask for.
14596           
14597 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
14598
14599         * gst/gstpad.c: (gst_pad_set_caps):
14600           Short-circuit gst_pad_set_caps if setting the existing
14601           caps pointer again, and avoid printing debug and 
14602           reffing/unreffing the caps.
14603
14604         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14605           There's actually no need to set the caps before pushing -
14606           the acceptcaps method will handle it anyway.
14607
14608 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
14609
14610         * docs/gst/gstreamer-sections.txt:
14611         * win32/common/libgstreamer.def:
14612         * gst/gstutils.c: (gst_element_seek_simple):
14613         * gst/gstutils.h:
14614           API: add gst_element_seek_simple() (#342238).
14615
14616 2006-05-18  Edward Hervey  <edward@fluendo.com>
14617
14618         * gst/gsttypefind.c: (gst_type_find_get_type):
14619         * gst/gsttypefind.h:
14620         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
14621         registered for GstTypeFind pointers. This allows wrapping the structure
14622         in bindings (i.e. gst-python).
14623
14624 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
14625
14626         * gst/gsttagsetter.c:
14627           Docs additions and fixes (see #339918).
14628
14629 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
14630
14631         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
14632         The caps intersection algorithm can produce multiple copies of the
14633         caps. Until that is fixed, we need to simplify the result to be
14634         sure whether the allowed caps are fixed or not.
14635
14636         * plugins/elements/gstqueue.c: (gst_queue_init),
14637         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
14638         (gst_queue_push_one):
14639         Proxied buffer alloc should not set the caps on the source pad.
14640         When pushing buffers, we always accept the caps change that triggers.
14641         This prevents negotiation errors caused by caps changing mid-stream 
14642         and then being refused on our source pad (because upstream is now
14643         refusing those caps).
14644
14645 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
14646
14647         * tests/examples/helloworld/helloworld.c: (main):
14648           Must plug audioconvert and audioresample between decoder
14649           and audio sink.
14650
14651 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
14652
14653         * gst/gstregistryxml.c: (read_string), (load_pad_template),
14654         (load_feature), (load_plugin):
14655         Allow empty strings for some of the plugin fields so we don't 
14656         drop valid plugin entries that were written out correctly
14657         (Fixes #341479)
14658
14659 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
14660         
14661         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
14662           Use g_remove and g_rename instead of remove and rename that don't 
14663           handle utf8 characters. rename was failing for users who had specific
14664           characters in their name then the registry was built at each 
14665           gstreamer init.
14666         * win32/vs6/gst_inspect.dsp:
14667         * win32/vs6/gst_launch.dsp:
14668         * win32/vs6/libgstbase.dsp:
14669         * win32/vs6/libgstcoreelements.dsp:
14670         * win32/vs6/libgstreamer.dsp:
14671           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
14672           build of libgstreamer and clean unused libraries in projects link 
14673           settings.
14674
14675 2006-05-17  Edward Hervey  <edward@fluendo.com>
14676
14677         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14678         The queue is not responsible for pushing an EOS when receiving a fatal
14679         flow error. It's up to the real element driving the pipeline to do that.
14680
14681 2006-05-16  Edward Hervey  <edward@fluendo.com>
14682
14683         * plugins/elements/gstqueue.c: (gst_queue_push_one):
14684         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
14685         buffer returned a fatal error. It should just send an EOS and stop
14686         its task.
14687         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
14688         when pushing buffers on the queue and will be able to handle the event.
14689
14690 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
14691
14692         * docs/manual/basics-bins.xml:
14693         * docs/manual/basics-init.xml:
14694           Fix typos and minor errors in sample code (#341856).
14695
14696 2006-05-16  Wim Taymans  <wim@fluendo.com>
14697
14698         * docs/design/part-qos.txt:
14699         Fix indexes in formulas to make more sense.
14700
14701 2006-05-15  Wim Taymans  <wim@fluendo.com>
14702
14703         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
14704         Don't report POSITION based on clock time if sync is
14705         disabled in a sink.
14706
14707 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
14708
14709         * gst/gstobject.h:
14710           Add cast to make compiler happy - refcount variable was a gint
14711           in GstObject but is a guint in GObject and g_atomic_int_get()
14712           wants a gint *.
14713
14714 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14715
14716         * gst/parse/Makefile.am:
14717           chain commands using &&, which also makes parallel make work
14718
14719 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
14720
14721         * docs/gst/gstreamer-sections.txt:
14722         * gst/gstevent.c:
14723         * gst/gstevent.h:
14724         * gst/gstmessage.h:
14725           Minor docs fixes.
14726
14727 === release 0.10.6 ===
14728
14729 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
14730
14731         * configure.ac:
14732           releasing 0.10.6, "Take the cannoli"
14733
14734 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
14735
14736         * tools/gst-launch.c: (print_tag):
14737           Fix use of uninitialized variable in the hypothetical
14738           case that some broken plugin creates a GST_TAG_IMAGE
14739           tag containing a NULL buffer (#341667).
14740
14741 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
14742
14743         * tools/gst-launch.c: (print_tag):
14744           Print something more intelligible for image tags when
14745           using the -t switch (#341556).
14746
14747 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14748
14749         * Makefile.am:
14750           updates for win32
14751         * configure.ac:
14752           define GST_MAJORMINOR so we have it available in win32/common/config.h
14753           Possibly remove it from our Makefile.am files later
14754         * win32/common/config.h:
14755         * win32/common/config.h.in:
14756           added GST_MAJORMINOR
14757         * win32/common/gstenumtypes.c: (register_gst_resource_error):
14758         * win32/common/gstversion.h:
14759           updated
14760
14761 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
14762
14763         * win32/MANIFEST:
14764           Update win32 files listing.
14765         * win32/common/gstversion.h:
14766           Add GST_MAJORMINOR definition.
14767         * win32/common/libgstreamer.def:
14768           Add new exported functions.
14769           
14770 2006-05-12  Michael Smith  <msmith@fluendo.com>
14771
14772         * gst/gstplugin.c: (gst_plugin_load_file):
14773           If an so file has no plugin entry point, unload the module.
14774
14775 2006-05-11  Wim Taymans  <wim@fluendo.com>
14776
14777         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
14778         (gst_queue_set_property):
14779         Don't forget to signal the _chain or _loop function 
14780         when the queue size or thresholds change since that might
14781         cause them to make progres again.
14782
14783 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
14784
14785         * gst/gstclock.c: (gst_clock_class_init):
14786         * gst/gstindex.c: (gst_index_class_init):
14787         * gst/gstobject.c: (gst_object_class_init):
14788         * gst/gstpad.c: (gst_pad_class_init):
14789         * gst/gstpipeline.c: (gst_pipeline_class_init):
14790         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
14791         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
14792         * libs/gst/base/gstbasetransform.c:
14793         (gst_base_transform_class_init):
14794         * libs/gst/net/gstnetclientclock.c:
14795         (gst_net_client_clock_class_init):
14796         * libs/gst/net/gstnettimeprovider.c:
14797         (gst_net_time_provider_class_init):
14798         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
14799         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
14800         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
14801         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
14802         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
14803         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
14804         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
14805         * plugins/elements/gstidentity.c: (gst_identity_class_init):
14806         * plugins/elements/gsttee.c: (gst_tee_class_init):
14807         * tests/old/examples/plugins/example.c: (gst_example_class_init):
14808         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
14809           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
14810
14811 2006-05-11  Wim Taymans  <wim@fluendo.com>
14812
14813         * gst/gstbuffer.c: (_gst_buffer_initialize):
14814         Register subbufer along with the buffer type so that
14815         it does not accidentally gets registered from N
14816         different streaming threads in a non threadsafe way.
14817
14818 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
14819
14820         * gst/gstbuffer.h:
14821         * gst/gstevent.h:
14822         * gst/gstmessage.h:
14823           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
14824           gst_event_ref() and gst_message_ref() functions again
14825           (ugly hack, please do fix if there's a better way besides
14826           overrides.txt, which doesn't seem to work).
14827
14828 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14829
14830         * libs/gst/check/gstcheck.h:
14831           add an assert for setting state to avoid lots of repetitive code
14832           in the future
14833
14834 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14835
14836         * gst/gstvalue.c: (gst_value_serialize_flags):
14837           fix a leak if no flags are set
14838         * tests/check/gst/gstvalue.c: (GST_START_TEST):
14839           fix leak in tests
14840
14841 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
14842
14843         * docs/manual/basics-pads.xml:
14844           Expand a bit on caps and filtered links and update
14845           examples that were still using the no longer existing
14846           gst_pad_link_filtered() (#338206).
14847
14848 2006-05-10  Wim Taymans  <wim@fluendo.com>
14849
14850         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
14851         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
14852         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
14853         (gst_collect_pads_stop):
14854         * libs/gst/base/gstcollectpads.h:
14855         No need to call _stop in _finalize.
14856         Iterate the main pad list in _finalize.
14857         Added some more debug.
14858         Free lists and data in the right order.
14859         Also free data whem doing _remove_pad when stopped for
14860         backward compatibility protect ::started with PAD_LOCK as
14861         well.
14862
14863 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14864
14865         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
14866         (gst_structure_parse_value):
14867           add some comments
14868           rename a method so that it actually says what it does better
14869
14870 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14871
14872         * gst/gstevent.c: (_gst_event_initialize):
14873         * gst/gstformat.c: (_gst_format_initialize):
14874           make sure some essential types used by events are registered
14875           as part of gst_init()
14876         * gst/gstvalue.c: (gst_value_serialize_flags):
14877           if no flags are set, serialize them to a value that represents NONE
14878           so that deserializing them works
14879         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14880           add tests for serialization and deserialization of flags
14881
14882 2006-05-10  Wim Taymans  <wim@fluendo.com>
14883
14884         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
14885         (gst_collect_pads_collect_range), (gst_collect_pads_available),
14886         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
14887         (gst_collect_pads_event), (gst_collect_pads_chain):
14888         Update docs.
14889         Better debug info.
14890         Catch and return errors from the collect function
14891         Refuse data on eos pads.
14892
14893 2006-05-10  Edward Hervey  <edward@fluendo.com>
14894
14895         * gst/gstinterface.h:
14896         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
14897         GInterface type checking.
14898         They were previously using non-defined macros.
14899
14900 2006-05-09  Wim Taymans  <wim@fluendo.com>
14901
14902         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
14903         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
14904         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
14905         (gst_collect_pads_start), (gst_collect_pads_stop),
14906         (gst_collect_pads_peek), (gst_collect_pads_pop),
14907         (gst_collect_pads_available), (gst_collect_pads_read),
14908         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
14909         (gst_collect_pads_is_collected), (gst_collect_pads_event),
14910         (gst_collect_pads_chain):
14911         * libs/gst/base/gstcollectpads.h:
14912         Clean up the mess that is collectpads, add comments and
14913         FIXMEs where needed.
14914         Maintain a separate pad list so we can add pads while
14915         collecting the other ones. For this we need a new separate 
14916         lock (see comics).
14917         Fix memory leak in finalize.
14918         Refactor some weird code to set/unset pad flushing flags, mark
14919         with comments.
14920         Don't crash in _available, _read, _flush when we're EOS.
14921
14922         * tests/check/libs/.cvsignore:
14923         Ignore adapter check binary.
14924
14925 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
14926
14927         * gst/gstindex.c: (gst_index_resolver_get_type):
14928         * plugins/elements/gstfakesink.c:
14929         (gst_fake_sink_state_error_get_type):
14930         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
14931         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
14932         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
14933           Const-ify GEnumValue arrays.
14934
14935 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
14936
14937         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
14938           Add test case for flags + gst_buffer_make_metadata_writable().
14939
14940 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
14941
14942         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
14943           gst_buffer_make_metadata_writable() should maintain the
14944           buffer flags (those that make sense at least) (see #340859).
14945
14946 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
14947
14948         * tools/gst-inspect.c:
14949         * tools/gst-launch.c:
14950         * tools/gst-typefind.c:
14951         * tools/gst-xmlinspect.c:
14952         * tools/tools.h:
14953           Fix up includes: need to include stdlib.h in tools.h for exit().
14954
14955 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
14956
14957         * gst/gsttaglist.c: (_gst_tag_initialize):
14958         * gst/gsttaglist.h:
14959           API: add GST_TAG_IMAGE tag (#340721).
14960
14961 2006-05-08  Wim Taymans  <wim@fluendo.com>
14962
14963         * gst/gstquery.c:
14964         Added some docs for the segment query.
14965
14966 2006-05-08  Wim Taymans  <wim@fluendo.com>
14967
14968         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
14969         (gst_base_src_loop), (gst_base_src_change_state):
14970         Always push non-flushing serialized events in the streaming 
14971         thread.
14972
14973 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14974
14975         * gst/gsterror.c: (_gst_stream_errors_init):
14976           Add a missing error string.
14977
14978 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
14979
14980         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
14981         Add applied_rate to the debug
14982
14983         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
14984         Copy applied_rate into the outgoing NEWSEGMENT event
14985
14986 2006-05-08  Wim Taymans  <wim@fluendo.com>
14987
14988         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
14989
14990         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
14991         (gst_base_sink_change_state):
14992         call ::unlock before taking the PREROLL_LOCK so we can safely
14993         handle elements that lock in ::render.
14994         Fixes #340174.
14995
14996 2006-05-08  Edward Hervey  <edward@fluendo.com>
14997
14998         * autogen.sh: (CONFIGURE_DEF_OPT): 
14999         Darwin's libtoolize is in fact called glibtoolize.
15000         Adding glibtoolize to the list of accepted names for libtoolize.
15001
15002 2006-05-08  Wim Taymans  <wim@fluendo.com>
15003
15004         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
15005         Unify error handling, don't post an error message
15006         when a push() returns EOS but perform our normal EOS
15007         handling code. Fixes #340772.
15008
15009 2006-05-08  Wim Taymans  <wim@fluendo.com>
15010
15011         * docs/design/part-overview.txt:
15012         Make upsteam/downstream concepts more clear.
15013         Give an example of serialized/non-serialized events.
15014
15015         * docs/design/part-events.txt:
15016         * docs/design/part-streams.txt:
15017         Mention applied_rate.
15018
15019         * docs/design/part-trickmodes.txt:
15020         Mention applied rate, flesh out some more use cases.
15021
15022         * gst/gstevent.c: (gst_event_new_new_segment),
15023         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
15024         (gst_event_parse_new_segment_full), (gst_event_new_tag),
15025         (gst_event_parse_tag), (gst_event_new_buffer_size),
15026         (gst_event_parse_buffer_size), (gst_event_new_qos),
15027         (gst_event_parse_qos), (gst_event_parse_seek),
15028         (gst_event_new_navigation):
15029         * gst/gstevent.h:
15030         Add applied_rate field to NEWSEGMENT event.
15031         API: gst_event_new_new_segment_full()
15032         API: gst_event_parse_new_segment_full()
15033
15034         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
15035         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
15036         (gst_segment_to_stream_time), (gst_segment_to_running_time):
15037         * gst/gstsegment.h:
15038         Add applied_rate to GstSegment structure.
15039         Make calculation of stream_time and running_time more correct
15040         wrt rate/applied_rate.
15041         Add some more docs.
15042         API: GstSegment::applied_rate field
15043         API: gst_segment_set_newsegment_full();
15044
15045         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
15046         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
15047         * libs/gst/base/gstbasetransform.c:
15048         (gst_base_transform_sink_eventfunc),
15049         (gst_base_transform_handle_buffer):
15050         Parse and use applied_rate in the GstSegment field.
15051
15052         * tests/check/gst/gstevent.c: (GST_START_TEST):
15053         Add check for applied_rate field.
15054
15055         * tests/check/gst/gstsegment.c: (GST_START_TEST),
15056         (gstsegments_suite):
15057         Add more checks for various GstSegment operations.
15058
15059 2006-05-08  Wim Taymans  <wim@fluendo.com>
15060
15061         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15062         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
15063         (gst_base_sink_get_position), (gst_base_sink_change_state):
15064         Store the sync time of the buffer end position separatly in a
15065         new variable eos_rtime so we can properly sync the EOS event.
15066         Fixes #340697.
15067         Fix the docs for gst_base_sink_set_qos_enabled().
15068         Don't set segment start to invalid value when we receive a 
15069         non TIME newsegment.
15070         get closer to handling position reporting for negative rates 
15071         correctly.
15072
15073 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15074
15075         * gst/gstcaps.c:
15076         Docs about how to print caps for debug purposes.
15077
15078         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
15079         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
15080
15081 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
15082
15083         * gst/gstelement.c:
15084           use full enum names and preprend a '%' in docs strings to make recent 
15085           gtk-doc turn that into a link
15086
15087 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15088
15089         * docs/manual/basics-bins.xml:
15090         * docs/manual/basics-bus.xml:
15091         * docs/manual/basics-pads.xml:
15092           Some typo fixes, some additions, some clarifications. 
15093
15094 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15095
15096         * tools/gst-inspect.c: (main):
15097         * tools/gst-launch.c: (main):
15098         * tools/gst-run.c: (main):
15099         * tools/gst-typefind.c: (main):
15100         * tools/gst-xmlinspect.c: (main):
15101           Use the string passed to g_option_context_new() for
15102           what it's intended for - the program name is already
15103           printed elsewhere.
15104
15105 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15106
15107         * tools/Makefile.am:
15108         * tools/gst-inspect.c: (main):
15109         * tools/gst-launch.c: (main):
15110         * tools/gst-xmlinspect.c: (main):
15111         * tools/tools.h:
15112           Add back --version command line option (#340460).
15113
15114         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
15115           Add --version option and use GOption for argument parsing; refactor a
15116           bit; accept directories as arguments and recurse into them; lastly,
15117           print a decent error message when things go wrong.
15118
15119 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15120
15121         * docs/manual/basics-bins.xml:
15122         Don't mention GstThread (#340611)
15123         * docs/manual/basics-elements.xml:
15124         Update link to GObject tutorial (#340607)
15125         
15126 2006-05-05  Wim Taymans  <wim@fluendo.com>
15127
15128         * gst/gstbuffer.h:
15129         * gst/gstminiobject.c:
15130         Add note about refcounting and miniobject/buffer writeability
15131         to docs. Fixes #340604
15132
15133         * gst/gstelementfactory.h:
15134         Added some explanation about @klass.
15135
15136 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15137
15138         * docs/manual/intro-motivation.xml:
15139         * docs/manual/manual.xml:
15140         Avoid CORBA & Bonobo references (#340598)
15141
15142 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15143
15144         * docs/manual/basics-bus.xml:
15145         * docs/manual/basics-pads.xml:
15146         Fix up some inaccuracies and omissions (#340609)
15147         
15148 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
15149
15150         * gst/gstghostpad.c:
15151           Small typo in docs (#340625)
15152
15153 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15154
15155         * gst/parse/Makefile.am:
15156           Make 'make -j' proof (see #340698).
15157
15158 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
15159
15160         * configure.ac:
15161           Require GLib-2.8 here as well.
15162
15163 2006-05-05  Wim Taymans  <wim@fluendo.com>
15164
15165         * gst/glib-compat.c:
15166         * gst/gst.c: (init_pre):
15167         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
15168         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
15169         (gst_object_dispatch_properties_changed):
15170         * gst/gstobject.h:
15171         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15172         * gst/gststructure.c: (gst_structure_set_valist):
15173         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
15174         Remove pre glib2.8 compatibility, fixes #340508
15175
15176 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15177
15178         * gst/gsttaglist.h:
15179           Mention type of tags in doc blurbs.
15180
15181 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
15182
15183         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15184         (gst_pad_configure_src), (gst_pad_push):
15185         Restore acceptcaps checking behaviour now that good plugins have
15186         been released.
15187
15188 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
15189
15190         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
15191
15192         * gst/gst.c:
15193         * gst/gstbus.c:
15194         * gst/gstclock.c:
15195         * gst/gstevent.c:
15196         * gst/gstformat.c:
15197         * gst/gstmessage.c:
15198         * gst/gstparse.c:
15199         * gst/gstquery.c:
15200         * gst/gstutils.c:
15201         * gst/parse/Makefile.am:
15202         * libs/gst/base/gstadapter.c:
15203         * libs/gst/base/gstbasesrc.c:
15204         * libs/gst/base/gstpushsrc.c:
15205         * libs/gst/base/gsttypefindhelper.c:
15206         * plugins/elements/gstfakesrc.c:
15207         * plugins/elements/gstidentity.c:
15208           Make sure gstprivate.h and/or config.h are
15209           always included first, otherwise some of our
15210           defines (like _FILE_OFFSET_BITS) might be
15211           redefined in the system headers. Fixes build
15212           on opensolaris (#340016).
15213
15214 2006-05-04  Wim Taymans  <wim@fluendo.com>
15215
15216         * docs/libs/gstreamer-libs-sections.txt:
15217         API: addition: gst_adapter_take_buffer()
15218         
15219         * libs/gst/base/gstadapter.c: (gst_adapter_push),
15220         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
15221         (gst_adapter_available_fast):
15222         * libs/gst/base/gstadapter.h:
15223         Prepare for optimizing the hell out of this hugely inefficient
15224         piece of code. 
15225         Added gst_adapter_take_buffer() so we can at least start thinking
15226         about subbuffering and merging.
15227         Added some comments.
15228
15229         * tests/check/Makefile.am:
15230         * tests/check/libs/adapter.c: (GST_START_TEST),
15231         (gst_adapter_suite), (main):
15232         Added GstAdapter check.
15233
15234 2006-05-04  Wim Taymans  <wim@fluendo.com>
15235
15236         * docs/design/part-overview.txt:
15237         Fix some typos, add blurb about buffer flags.
15238
15239 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15240
15241         * docs/libs/gstreamer-libs-sections.txt:
15242           make sure GstBaseTransformClass shows up in the docs
15243         * libs/gst/base/gstbasetransform.c:
15244         * libs/gst/base/gstbasetransform.h:
15245           move docs so gtk-doc picks it up now
15246
15247 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15248
15249         * docs/libs/gstreamer-libs-sections.txt:
15250           add missing symbols to docs
15251
15252 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
15253
15254         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15255           back out the newsegment handling change, see #340060 for ongoing
15256           discussion
15257
15258 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
15259
15260         * tools/gst-run.c: (get_candidates), (main):
15261           Fix wrong g_file_test() usage (see glib docs for why it doesn't
15262           work); fix typo in error message. Fixes #340079.
15263
15264 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15265
15266         * common/Makefile.am:
15267         * docs/Makefile.am:
15268         * docs/faq/Makefile.am:
15269         * docs/gst/Makefile.am:
15270         * docs/libs/Makefile.am:
15271         * docs/manual/Makefile.am:
15272         * docs/plugins/Makefile.am:
15273         * docs/pwg/Makefile.am:
15274         * docs/slides/Makefile.am:
15275         * docs/upload.mak:
15276         * common/upload.mak:
15277           move upload.mak to common
15278
15279 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15280
15281         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15282           add more asserts on refcounts
15283           do more cleanup at end of tests
15284           fix test leaks showing in FC5
15285
15286 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
15287
15288         * plugins/elements/gsttypefindelement.c:
15289         (gst_type_find_element_handle_event):
15290         reverted wrong change and reflowed code to avoid others falling into
15291         this trap
15292
15293 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15294
15295         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
15296           fix changelog entry about last collectpads change,
15297           add notes about proper fix
15298
15299 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15300
15301         * gst/gst.c:
15302         * gst/gstregistry.c: (gst_registry_scan_path_level),
15303         (gst_registry_scan_path):
15304         * gst/gstregistry.h:
15305           only write out registry if it has changed, fixes #338339
15306
15307 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15308
15309         * gst/gstbin.c:
15310         * gst/gstpipeline.c:
15311         * plugins/elements/gstcapsfilter.c:
15312         * plugins/elements/gstfakesink.c:
15313         * plugins/elements/gstfakesrc.c:
15314         * plugins/elements/gstfdsink.c:
15315         * plugins/elements/gstfdsrc.c:
15316         * plugins/elements/gstfilesink.c:
15317         * plugins/elements/gstfilesrc.c:
15318         * plugins/elements/gstidentity.c:
15319         * plugins/elements/gstqueue.c:
15320         * plugins/elements/gsttee.c:
15321         * plugins/elements/gsttypefindelement.c:
15322         (gst_type_find_element_handle_event):
15323           make GstElementDetails const
15324
15325 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15326
15327         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
15328         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
15329         (gst_collect_pads_is_collected), (gst_collect_pads_event):
15330           more detailed debug and formatting cleanup,
15331           forward newsegments to src-pad (so that e.g. adder not eats them)
15332
15333 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15334
15335         * gst/gstutils.c: (gst_element_link_pads):
15336           cleanup double code
15337
15338 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
15339
15340         * libs/gst/controller/gstcontroller.c:
15341         (gst_controller_sync_values):
15342           some little tuning
15343         * tests/check/libs/controller.c: (GST_START_TEST),
15344         (gst_controller_suite):
15345           a new test for live value handling
15346
15347 2006-04-28  Wim Taymans  <wim@fluendo.com>
15348
15349         * gst/gstutils.c: (push_and_ref):
15350         Added some more docs.
15351         Fix refcount issue whith gst_element_found_tags() helper 
15352         function. Fixes #338335
15353
15354         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
15355         Added testsuite for gst_element_found_tags().
15356
15357 2006-04-28  Michael Smith  <msmith@fluendo.com>
15358
15359         * gst/gstvalue.c: (gst_value_serialize_flags):
15360           Avoid NULL dereference when trying to serialize flags containing
15361           invalid values.
15362
15363 2006-04-28  Michael Smith  <msmith@fluendo.com>
15364
15365         * plugins/elements/gsttypefindelement.c:
15366         (gst_type_find_element_handle_event):
15367           If we get EOS before any data is accumulated, don't use
15368           uninitialised local variables.
15369
15370 2006-04-28  Michael Smith  <msmith@fluendo.com>
15371
15372         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
15373         (gst_dp_event_from_packet):
15374           Fixes in reading/writing events over GDP (not currently used?) - 
15375           dereferencing NULL events for unknown/invalid event types, memory
15376           leak, and change g_warning to GST_WARNING.
15377
15378 2006-04-28  Wim Taymans  <wim@fluendo.com>
15379
15380         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
15381         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15382         (gst_base_sink_get_position), (gst_base_sink_change_state):
15383         When frame dropping is enabled, we should not ignore frames
15384         without a duration.
15385         Update some documentation.
15386
15387 2006-04-28  Wim Taymans  <wim@fluendo.com>
15388
15389         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
15390         (gst_base_src_send_event), (gst_base_src_change_state):
15391         Documentation updates.
15392
15393 2006-04-28  Wim Taymans  <wim@fluendo.com>
15394
15395         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
15396         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
15397         handle EAGAIN, EINTR and short writes correctly. Also clean
15398         up some error cases, avoid a deadlock on bad file descriptors and
15399         use GST_DEBUG_OBJECT.
15400         Fixes #339843
15401
15402 2006-04-28  Wim Taymans  <wim@fluendo.com>
15403
15404         * gst/gstvalue.c: (gst_value_serialize_buffer),
15405         (gst_value_deserialize_buffer):
15406         Don't try to serialize a GValue with a NULL buffer. 
15407         Fixes #339821.
15408
15409         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
15410         Added check for serialisation of NULL buffers.
15411
15412 2006-04-28  Wim Taymans  <wim@fluendo.com>
15413
15414         * gst/gstminiobject.c: (gst_value_take_mini_object):
15415         Taking a NULL miniobject is valid, fix the case where
15416         we try to unref the NULL miniobject.
15417
15418 2006-04-28  Wim Taymans  <wim@fluendo.com>
15419
15420         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
15421
15422         * gst/gstbin.c: (gst_bin_handle_message_func):
15423         Update docs.
15424         Don't leak bin refcount when a state recalc is
15425         in progress and we delay another one #339808.
15426
15427 2006-04-28  Wim Taymans  <wim@fluendo.com>
15428
15429         * docs/design/part-TODO.txt:
15430         Mention QoS as an ongoing work item.
15431
15432         * docs/design/part-buffering.txt:
15433         New doc about buffering that needs to be fleshed out
15434         at some point.
15435
15436         * docs/design/part-qos.txt:
15437         More QoS policy for decoders/demuxers/transforms
15438
15439         * docs/design/part-trickmodes.txt:
15440         Small update.
15441
15442 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15443
15444         * configure.ac:
15445           back to HEAD
15446
15447 === release 0.10.5 ===
15448
15449 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
15450
15451         * configure.ac:
15452           releasing 0.10.5, "Fogo"
15453
15454 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15455
15456         patch by: Wim Taymans
15457
15458         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
15459         (gst_pad_configure_src), (gst_pad_push):
15460         * gst/gstpipeline.c: (gst_pipeline_init):
15461           Fix internal data flow errors.  Fixes #338711.
15462
15463 2006-04-12  Wim Taymans  <wim@fluendo.com>
15464
15465         * tests/check/gst/gstelement.c: (GST_START_TEST):
15466         Don't leak the factory.
15467
15468 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
15469
15470         * configure.ac:
15471         * win32/common/config.h:
15472           prerelease
15473
15474 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
15475
15476         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15477         (gst_controller_unset_all):
15478           Free allocated GstTimedValues when freeing list nodes.
15479           Should fix leaks 'make check-valgrind' complains about.
15480
15481         * win32/common/libgstcontroller.def:
15482           Add gst_controller_unset_all.
15483
15484 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
15485
15486         * docs/libs/gstreamer-libs-sections.txt:
15487         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
15488         (gst_controller_unset_all):
15489         * libs/gst/controller/gstcontroller.h:
15490         API: Added new method gst_controller_unset_all()
15491         fixed gst_controller_unset()
15492         * tests/check/libs/controller.c: (GST_START_TEST),
15493         (gst_controller_suite):
15494         Added two testcases for new and fixed method
15495
15496 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
15497
15498         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
15499           MSG_DONTWAIT is not defined on Cygwin, so work
15500           around that (fixes #317048).
15501           
15502 2006-04-11  Wim Taymans  <wim@fluendo.com>
15503
15504         * gst/gstelementfactory.c: (gst_element_register),
15505         (gst_element_factory_create), (gst_element_factory_make):
15506         Some cleanups.
15507         Fixed a FIXME.
15508         Updated docs (Fixes #131079)
15509
15510         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15511         Small cleanups.
15512
15513         * tests/check/gst/gstelement.c: (GST_START_TEST),
15514         (gst_element_suite):
15515         Added testcase for elementfactory class field.
15516
15517 2006-04-10  Wim Taymans  <wim@fluendo.com>
15518
15519         * gst/gstsegment.c:
15520         Added some more docs.
15521
15522         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
15523         (gst_base_sink_reset_qos):
15524         Calculate more accurate rate values.
15525
15526 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
15527
15528         * gst/gst_private.h:
15529           add a new #ifdef to use __declspec(dllimport) only for
15530           other modules and not for gstreamer core
15531         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
15532           use gst_guint64_to_gdouble for conversion
15533         * win32/common/libgstreamer.def:
15534           add new exported functions
15535         * win32/vs6/gst_inspect.dsp:
15536         * win32/vs6/gst_launch.dsp:
15537         * win32/vs6/libgstbase.dsp:
15538         * win32/vs6/libgstcontroller.dsp:
15539         * win32/vs6/libgstcoreelements.dsp:
15540         * win32/vs6/libgstdataprotocol.dsp:
15541         * win32/vs6/libgstnet.dsp:
15542           update project files
15543
15544 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15545
15546         * gst/gstbuffer.c: (gst_subbuffer_class_init):
15547         * gst/gstclock.c: (gst_clock_class_init):
15548         * gst/gstelement.c: (gst_element_class_init):
15549         * gst/gstindex.c: (gst_index_class_init):
15550         * gst/gstindexfactory.c: (gst_index_factory_class_init):
15551         * gst/gstobject.c: (gst_object_class_init),
15552         (gst_signal_object_class_init):
15553         * gst/gstpad.c: (gst_pad_class_init):
15554         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
15555         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
15556         * gst/gstregistry.c: (gst_registry_class_init):
15557         * gst/gstsystemclock.c: (gst_system_clock_class_init):
15558         * gst/gsttask.c: (gst_task_class_init):
15559         * gst/gstxml.c: (gst_xml_class_init):
15560         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
15561         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
15562         (gst_base_src_loop):
15563         * libs/gst/controller/gstcontroller.c:/
15564         (_gst_controller_class_init):
15565         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
15566         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
15567         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
15568         * tests/old/examples/plugins/example.c: (gst_example_class_init):
15569         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
15570         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
15571
15572 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
15573
15574         * gst/gstpad.c: (gst_pad_link):
15575           Must set peer pads before calling the link function, otherwise
15576           a task started from a link function might get a flow-not-linked
15577           result when trying to push because the other thread where the
15578           linking happens hasn't had a chance to set the peers yet. This
15579           might happen for example when a queue gets linked to a downstream
15580           element, as queue starts a streaming task when its source pad
15581           gets linked. Happens in real life when playing back flac/musepack
15582           files in playbin (#332390).
15583           
15584 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
15585
15586         * gst/gstindex.h:
15587         * gst/gstxml.h:
15588         * libs/gst/base/gstadapter.h:
15589         * libs/gst/base/gstbasesink.h:
15590         * libs/gst/base/gstbasesrc.h:
15591         * libs/gst/base/gstbasetransform.h:
15592         * libs/gst/base/gstcollectpads.h:
15593         * libs/gst/base/gstpushsrc.h:
15594         Fix broken GObject macros
15595
15596 2006-04-07  Wim Taymans  <wim@fluendo.com>
15597
15598         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15599         Initialize start and stop times, thanks valgrind.
15600
15601 2006-04-07  Wim Taymans  <wim@fluendo.com>
15602
15603         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
15604         Be a bit nicer to badly behaving upstream elements that expect
15605         us to deal with non TIME segments and timestamps (such as fakesrc
15606         in the testsuite).
15607
15608 2006-04-07  Wim Taymans  <wim@fluendo.com>
15609
15610         * gst/gstbus.c:
15611         Small documentation clarification about the signal watch.
15612
15613         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
15614         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
15615         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15616         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
15617         (gst_base_sink_get_position_last),
15618         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
15619         Convert and store timestamps in stream time and running time, the
15620         raw timestamps are not useful, also document this better.
15621         Use different window sizes for good and bad QoS observations so
15622         we react to badness a little quicker.
15623         Keep track of the amount of rendered and dropped buffers.
15624         Send QoS timestamps in running time.
15625
15626         * libs/gst/base/gstbasetransform.c:
15627         (gst_base_transform_sink_eventfunc),
15628         (gst_base_transform_handle_buffer):
15629         Compare QoS timestamps against running time.
15630
15631 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
15632
15633         * gst/gstpad.c:
15634           Typo fixes in docs.
15635
15636 2006-04-06  Michael Smith  <msmith@fluendo.com>
15637
15638         * gst/gstpad.c: (gst_pad_set_property):
15639           Use g_value_get_object() instead of g_value_dup_gst_object(),
15640           to avoid double-reffing the pad template (which we then sink,
15641           so this worked previously if (and only if) the pad template
15642           was floating.
15643
15644         * gst/gstpadtemplate.c: (gst_pad_template_init),
15645         (gst_pad_template_pad_created):
15646           Never return floating references to pad templates, create
15647           them as initially-sunken.
15648
15649           Document an extra function (and make this stop sinking our
15650           pad template, since that is now guaranteed to do nothing,
15651           since we created it sunken).
15652
15653         * gst/gstghostpad.c:
15654           Fix docs typo.
15655
15656 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
15657
15658         * gst/gstinfo.c: (__gst_in_valgrind):
15659           Add some newlines.
15660
15661         * plugins/elements/gsttypefindelement.c:
15662         (gst_type_find_element_chain):
15663           Don't leak buffer caps.
15664
15665 2006-04-06  Michael Smith  <msmith@fluendo.com>
15666
15667         * gst/parse/grammar.y:
15668           Fix a leak in parse-launch for any source-or-sink named element 
15669           references used.
15670
15671         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
15672           Unref the pipeline if it exists after we've failed parsing.
15673
15674 2006-04-05  Michael Smith  <msmith@fluendo.com>
15675
15676         * gst/gstpipeline.c: (gst_pipeline_init):
15677           When we create a pipeline bus, initially create it in flushing mode.
15678           Fixes leaks in at least one test, and makes a new pipeline work the
15679           same as one that has gone to READY and then back to NULL.
15680
15681         * gst/gstelement.c:
15682           Typo fix in docs.
15683
15684 2006-04-05  Michael Smith  <msmith@fluendo.com>
15685
15686         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
15687           Unref a pad we reffed.
15688         * tests/check/gst/gstutils.c: (GST_START_TEST):
15689           Unref bins
15690
15691 2006-04-05  Michael Smith  <msmith@fluendo.com>
15692
15693         * gst/gstquery.c: (gst_query_set_formats),
15694         (gst_query_set_formatsv):
15695           Fix leaking GValues in queries, as shown by valgrind/testsuite.
15696
15697 2006-04-05  Michael Smith  <msmith@fluendo.com>
15698
15699         * tests/check/generic/sinks.c: (GST_START_TEST):
15700           Fix a variety of memleaks in sinks check, which are only sometimes 
15701           shown by running the tests under valgrind (weird?).
15702
15703 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
15704
15705         * docs/version.entities.in:
15706           Fix the substituted entity name after thomas' changes on the
15707           weekend.
15708
15709 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
15710
15711         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
15712         VALGRIND_PRINTF
15713         
15714 2006-04-05  Andy Wingo  <wingo@pobox.com>
15715
15716         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
15717
15718         * libs/gst/base/gstbasetransform.c
15719         (gst_base_transform_sink_eventfunc): When resetting our segment on
15720         FLUSH_STOP, also update the flag saying we haven't seen a
15721         newsegment.
15722
15723 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
15724
15725         Patch by: Paolo Borelli  <pborelli at katamail dot com>
15726
15727         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
15728         (gst_plugin_check_license):
15729           minor clean-ups: G_DEFINE_TYPE already takes care of the
15730           parent_class stuff, no need to do it twice. Mark array of
15731           license strings as constant. (#337103)
15732           
15733 2006-04-04  Michael Smith  <msmith@fluendo.com>
15734
15735         * tools/gst-inspect.c: (print_element_list):
15736           Free the right plugin list; fixes a memory leak.
15737
15738 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
15739
15740         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
15741
15742         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
15743           Don't error out on empty buffers (#336945).
15744           
15745 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
15746
15747         * docs/libs/gstreamer-libs-sections.txt:
15748         * gst/gsttaglist.c:
15749         * libs/gst/base/gstbasesink.c:
15750         * libs/gst/base/gstbasesink.h:
15751         * libs/gst/base/gstbasesrc.c:
15752         * libs/gst/base/gstbasesrc.h:
15753           Documentation updates. Make BaseSink and BaseSrc docs contain the
15754           class structure so that people can actually see the prototypes for
15755           virtual functions they're supposed to be overriding.
15756
15757 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
15758
15759         * plugins/elements/gsttypefindelement.c:
15760         (gst_type_find_element_chain):
15761           More debug info; when skipping typefinding, send cached
15762           events in all cases.
15763
15764 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
15765
15766         * configure.ac:
15767           use new AS_VERSION and AS_NANO macros
15768         * gst/gst-i18n-lib.h:
15769         * gst/gst.c:
15770         * gst/gsterror.c:
15771         * gst/gstversion.h.in:
15772         * win32/common/config.h:
15773         * win32/common/config.h.in:
15774           update accordingly
15775
15776 2006-03-31  Michael Smith  <msmith@fluendo.com>
15777
15778         * plugins/elements/gsttypefindelement.c:
15779         (gst_type_find_element_chain):
15780           Do not typefind content if the buffers already have caps.
15781           Neccesary for icydemux (#333657), and the right thing to do anyway.
15782
15783 2006-03-30  Wim Taymans  <wim@fluendo.com>
15784
15785         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
15786         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
15787         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
15788         (gst_base_sink_record_qos_observation),
15789         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15790         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
15791         (gst_base_sink_change_state):
15792         More QoS measurements as described in the design doc.
15793         Get rid of ringbuffer with observations, running average is
15794         more simple and equally good.
15795         Calculates valid proportion now.
15796         Added beginning of flood measurement.
15797
15798 2006-03-29  Wim Taymans  <wim@fluendo.com>
15799
15800         * docs/design/part-qos.txt:
15801         * gst/gstclock.c:
15802         Small documentation updates and additions.
15803
15804 2006-03-29  Wim Taymans  <wim@fluendo.com>
15805
15806         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
15807         (gst_base_src_send_event), (gst_base_src_loop),
15808         (gst_base_src_change_state):
15809         Perform the EOS logic when we reach the segment stop position.
15810         Fix compilation on gcc4.1
15811
15812 2006-03-29  Wim Taymans  <wim@fluendo.com>
15813
15814         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
15815
15816         * plugins/elements/gstqueue.c: (gst_queue_init),
15817         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
15818         (gst_queue_set_property):
15819         * plugins/elements/gstqueue.h:
15820         In queue, when EOS is received, if minimum threshold > max_size -
15821         current_level, there is chance that queue blocks forever in conditional
15822         item del wait. This is because the queue is not emptied completely due
15823         to minimum threshold.  Here is another approach. Instead of setting
15824         cur_levels to max in EOS, just zero all minimum threshold levels. This
15825         should make sure that queue gives out all data. When going to READY
15826         (stop) state, just reset the original minimum threshold levels.
15827         Fixes #336336.
15828
15829 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
15830
15831         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
15832         (gst_type_find_element_handle_event),
15833         (gst_type_find_element_send_cached_events),
15834         (gst_type_find_element_change_state):
15835         * plugins/elements/gsttypefindelement.h:
15836           When typefinding is done in push mode, we should cache
15837           events we receive during typefinding instead of just
15838           dropping them (e.g. newsegment, custom events from
15839           dvdreadsrc etc.) and then send them out once we've
15840           determined the type of the stream (and decodebin
15841           has had a chance to plug in a decoder/demuxer).
15842           
15843 2006-03-27  Wim Taymans  <wim@fluendo.com>
15844
15845         * docs/design/part-qos.txt:
15846         First QoS ideas.
15847
15848 2006-03-27  Wim Taymans  <wim@fluendo.com>
15849
15850         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
15851
15852         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
15853         (gst_base_src_send_event), (gst_base_src_change_state):
15854         Handle element seek correctly when we are streaming.
15855         Fixes #326998.
15856
15857 2006-03-24  Michael Smith  <msmith@fluendo.com>
15858
15859         * docs/faq/gst-uninstalled:
15860           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
15861           allow you to correctly run intalled applications built against old 
15862           core, using plugins that require updated core (e.g. running
15863           installed totem against a full uninstalled gstreamer stack)
15864
15865 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
15866
15867         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
15868         more debug details
15869
15870 2006-03-24  Wim Taymans  <wim@fluendo.com>
15871
15872         * docs/gst/gstreamer-sections.txt:
15873         Rearrange the order of the methods so that related methods
15874         are grouped together in sections.
15875
15876 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
15877
15878         * gst/gstelement.c:
15879           Little clarification in the docs
15880
15881 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
15882
15883         * docs/README:
15884         formatting fix
15885         * plugins/elements/gstidentity.c:
15886         * plugins/elements/gstqueue.c:
15887         * plugins/elements/gsttee.c:
15888         * plugins/elements/gsttypefindelement.c:
15889         GST_ELEMENT_DETAILS formatting
15890
15891 2006-03-24  Wim Taymans  <wim@fluendo.com>
15892
15893         * libs/gst/base/gstbasesink.h:
15894         Only add fields, not insert or we break ABI.
15895
15896 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
15897
15898         * win32/common/libgstbase.def:
15899         * win32/common/libgstreamer.def:
15900           Update, add recently added functions.
15901
15902 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
15903
15904         * docs/gst/gstreamer-sections.txt:
15905         * gst/gstutils.c: (gst_pad_query_peer_position),
15906         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
15907         * gst/gstutils.h:
15908           API: add some new utility functions:
15909            - gst_pad_query_peer_position()
15910            - gst_pad_query_peer_duration()
15911            - gst_pad_query_peer_convert()
15912           
15913 2006-03-23  Wim Taymans  <wim@fluendo.com>
15914
15915         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
15916         (gst_base_sink_init), (gst_base_sink_finalize),
15917         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
15918         (gst_base_sink_set_property), (gst_base_sink_get_property),
15919         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
15920         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
15921         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
15922         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
15923         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
15924         (gst_base_sink_preroll_object), (gst_base_sink_event),
15925         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
15926         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
15927         (gst_base_sink_query), (gst_base_sink_change_state):
15928         Decouple max-lateness and the fact that QoS messages are generated
15929         with a new property (qos).
15930         added API: GstBaseSink::async_play()
15931         Add vmethod so subclasses can be notified of ASYNC playing
15932         state changes.
15933         Collect timestamp start and stop to report better current
15934         position in EOS/PLAYING/PAUSED/READY/NULL.
15935         Refactor QoS/frame dropping and other measurements.
15936         API: GstBaseSrc::qos
15937         Fixes #326311
15938
15939         * libs/gst/base/gstbasesink.h:
15940         Added Private struct.
15941         API: gst_base_sink_set_qos_enabled()
15942         API: gst_base_sink_is_qos_enabled()
15943
15944 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
15945
15946         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
15947           If compiling against GLib-2.8 or newer, try to read the
15948           registry file using GMappedFile first before falling back
15949           to fopen() + fread() (#332151).
15950
15951 2006-03-22  Wim Taymans  <wim@fluendo.com>
15952
15953         * gst/gstinfo.c: (gst_debug_set_active),
15954         (gst_debug_category_set_threshold):
15955         Disable debugging unless explicitly activated.
15956         Fixes #335480.
15957
15958 2006-03-22  Wim Taymans  <wim@fluendo.com>
15959
15960         * gst/gstelement.c: (gst_element_set_locked_state),
15961         (gst_element_dispose):
15962         Cleanup the error case.
15963
15964         * gst/gstobject.c: (gst_object_dispose):
15965         print a critical when some object was disposed with
15966         a parent, also revive the object since it might
15967         crash the parent.
15968
15969 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
15970
15971         * tools/gst-launch.1.in:
15972           Fix another typo.
15973
15974 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15975
15976         * configure.ac:
15977         * tests/check/Makefile.am:
15978           disable some tests when we don't have a registry
15979         * tests/check/gst/gstutils.c: (gst_utils_suite):
15980           don't build the part that needs parsing
15981
15982 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15983
15984         * gst/Makefile.am
15985         * tests/examples/Makefile.am:
15986           fix --disable-parse build
15987
15988 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
15989
15990         * tools/gst-feedback.1.in:
15991           Fix typo: s/feeback/feedback/ (#133494).
15992
15993 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
15994
15995         * tools/Makefile.am:
15996         * tools/gst-launch.1.in:
15997           Add FILES section and correct entry about GST_REGISTRY_PATH
15998           environment variable (#133495; #133494).
15999
16000 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16001
16002         * tools/Makefile.am:
16003         * tools/gst-md5sum.1.in:
16004         * tools/gst-md5sum.c:
16005           Remove gst-md5sum and man page (the md5sink element
16006           required was removed ages ago)
16007
16008 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16009
16010         * gst/gststructure.c: (gst_structure_id_set_value):
16011           Make sure that string fields in structures/taglists
16012           contain valid UTF-8 - we don't want to pass rubbish to
16013           applications because of a buggy plugin (cp. #334167).
16014
16015 2006-03-21  Edward Hervey  <edward@fluendo.com>
16016
16017         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
16018         (gst_bin_handle_message_func):
16019         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
16020         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
16021         (gst_element_set_bus_func):
16022         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
16023         * gst/gstminiobject.c: (gst_value_set_mini_object),
16024         (gst_value_take_mini_object):
16025         * gst/gstpad.c: (gst_pad_set_pad_template):
16026         * gst/gstpipeline.c: (gst_pipeline_dispose),
16027         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
16028         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
16029         (gst_collect_pads_chain):
16030         * libs/gst/net/gstnettimeprovider.c:
16031         (gst_net_time_provider_set_property):
16032         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
16033         It's in fact all issues with gst_*object_replace().
16034
16035 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
16036
16037         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
16038         
16039         * pkgconfig/gstreamer-check-uninstalled.pc.in:
16040         * pkgconfig/gstreamer-check.pc.in:
16041           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
16042
16043 2006-03-21  Edward Hervey  <edward@fluendo.com>
16044
16045         * gst/gstbuffer.h:
16046         * gst/gstevent.h:
16047         * gst/gstmessage.h:
16048         gst_[buffer|event|message]_ref() macros are replaced by a static
16049         inline functions because gcc-4.1 will about if the return value
16050         isn't used.
16051         * tests/check/gst/gstevent.c: (event_probe):
16052         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
16053
16054 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
16055
16056         * gst/gstutils.h:
16057         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
16058         the type' case. (Closes: #335195 for now). In the future, when we
16059         depend on GLib 2.10, we could also intern the type name using
16060         g_intern_static_string()
16061
16062 2006-03-20  Wim Taymans  <wim@fluendo.com>
16063
16064         * gst/gstbin.c: (gst_bin_handle_message_func),
16065         (bin_query_max_init), (bin_query_position_fold),
16066         (bin_query_position_done), (gst_bin_query):
16067         Position query should also take max of all streams.
16068
16069 2006-03-20  Wim Taymans  <wim@fluendo.com>
16070
16071         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
16072         (gst_fake_src_finalize):
16073         Fix leaks in fakesrc.
16074
16075         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
16076         Fix leaks in the testcase.
16077
16078 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
16079
16080         * gst/gst_private.h:
16081           add win32 specific import decoration(__declspec(dllimport)) 
16082           for all extern GstDebugCategory * variables
16083         * win32/common/libgstbase.def:
16084         * win32/common/libgstcontroller.def:
16085         * win32/common/libgstreamer.def:
16086           Add some exports, remove empty lines
16087         * win32/common/libgstdataprotocol.def:
16088         * win32/common/libgstdataprotocol.dsp:
16089         * win32/common/libgstnet.def:
16090         * win32/common/libgstnet.dsp:
16091           new project files and exportation files added
16092         
16093 2006-03-19  Wim Taymans  <wim@fluendo.com>
16094
16095         * tests/check/libs/basesrc.c: (eos_event_counter):
16096         Use proper return value for probe.
16097
16098 2006-03-17  Wim Taymans  <wim@fluendo.com>
16099
16100         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16101         (gst_pad_push):
16102         Don't leak buffers, caps and pads on negotiation errors.
16103
16104 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
16105
16106         * docs/faq/cvs.xml:
16107         * docs/faq/dependencies.xml:
16108         * docs/faq/developing.xml:
16109         * docs/faq/faq.xml:
16110         * docs/faq/general.xml:
16111         * docs/faq/getting.xml:
16112         * docs/faq/legal.xml:
16113         * docs/faq/troubleshooting.xml:
16114         * docs/faq/using.xml:
16115         Faq review and update.
16116
16117 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
16118
16119         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
16120         (gst_pad_push):
16121         Don't pound the cpu to pieces by checking get_caps when accept_caps
16122         is called with the same caps as the pad already has.
16123         Use GST_DEBUG_OBJECT when outputting caps change information.
16124
16125 2006-03-15  Wim Taymans  <wim@fluendo.com>
16126
16127         * gst/gstclock.c: (gst_clock_class_init):
16128         Fix docs.
16129
16130 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
16131
16132         * gst/gstbuffer.h:
16133         Documentation fix.
16134
16135         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
16136         (gst_pad_accept_caps), (gst_pad_configure_sink),
16137         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
16138         Make the default acceptcaps behaviour be to check the requested 
16139         caps against the gst_pad_get_caps output. 
16140
16141         Ensure that gst_pad_accept_caps is used to check caps when a pad
16142         doesn't have a setcaps function, so that pads automatically refuse 
16143         caps that they don't allow in their pad template. (Fixes #332986)
16144
16145         When a buffer with attached caps is pushed, ensure that the source 
16146         pad receives those caps even if the element didn't call
16147         gst_pad_set_caps first.
16148
16149 2006-03-15  Wim Taymans  <wim@fluendo.com>
16150
16151         * libs/gst/base/gstadapter.c:
16152         Add some docs.
16153
16154 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
16155
16156         * win32/common/libgstbase.def:
16157         * win32/common/libgstcontroller.def:
16158         * win32/common/libgstreamer.def:
16159           Add a whole bunch of missing functions (#334434).
16160
16161 2006-03-14  Wim Taymans  <wim@fluendo.com>
16162
16163         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
16164         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
16165         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
16166         Better debug info when we receive a segment event.
16167         Reorganize a bit so we can pass the get_times() results around.
16168         Use the segment format when calculating the running time.
16169         Don't do QoS is sync is disabled or we have no clock or the
16170         element does not want us to sync to the clock.
16171         Don't drop buffers if QoS is disabled for now.
16172
16173 2006-03-14  Wim Taymans  <wim@fluendo.com>
16174
16175         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
16176         Marked the stats property as unimplemented so people don't get
16177         wild ideas.
16178         Add debug message when regression goes wrong.
16179         Added some more docs.
16180
16181 2006-03-14  Wim Taymans  <wim@fluendo.com>
16182
16183         * gst/gstsegment.c: (gst_segment_to_stream_time):
16184         Return correct return type in case of errors.
16185
16186 2006-03-14  Wim Taymans  <wim@fluendo.com>
16187
16188         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
16189           Don't segfault on invalid formats.
16190
16191 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16192
16193         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16194           Can't use gst_segment_to_running_time() when the segment
16195           is not in GST_TIME_FORMAT (like with filesink, for example).
16196           Stops flac encoding pipelines from spewing critical warnings
16197           at EOS (#331248).
16198           
16199 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
16200
16201         * gst/gstpipeline.c: (gst_pipeline_class_init):
16202           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
16203
16204         * plugins/elements/gsttypefindelement.c:
16205         (gst_type_find_element_handle_event):
16206           Don't try to typefind empty streams.
16207
16208 2006-03-14  Wim Taymans  <wim@fluendo.com>
16209
16210         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
16211         (gst_base_sink_do_qos):
16212         Separate QoS calculation.
16213         Only drop buffers when lateness is bigger than the 
16214         duration of the buffer.
16215
16216 2006-03-13  Wim Taymans  <wim@fluendo.com>
16217
16218         * gst/gstpipeline.c: (gst_pipeline_set_property),
16219         (gst_pipeline_get_property), (do_pipeline_seek),
16220         (gst_pipeline_change_state), (gst_pipeline_set_delay),
16221         (gst_pipeline_get_delay):
16222         Don't deadlock when reading properties.
16223
16224 2006-03-13  Wim Taymans  <wim@fluendo.com>
16225
16226         * libs/gst/base/gstbasetransform.c:
16227         (gst_base_transform_class_init), (gst_base_transform_init),
16228         (gst_base_transform_sink_event),
16229         (gst_base_transform_sink_eventfunc),
16230         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
16231         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16232         (gst_base_transform_set_property),
16233         (gst_base_transform_get_property),
16234         (gst_base_transform_change_state), (gst_base_transform_update_qos),
16235         (gst_base_transform_set_qos_enabled),
16236         (gst_base_transform_is_qos_enabled):
16237         * libs/gst/base/gstbasetransform.h:
16238         Make basetransform virtual method for src events too.
16239         Handle QOS in basetransform.
16240         API: gst_base_transform_update_qos()
16241         API: gst_base_transform_set_qos_enabled()
16242         API: gst_base_transform_is_qos_enabled()
16243
16244 2006-03-13  Wim Taymans  <wim@fluendo.com>
16245
16246         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
16247         (gst_base_sink_do_sync):
16248         Small cleanups.
16249         Use QOS debug category.
16250
16251 2006-03-13  Wim Taymans  <wim@fluendo.com>
16252
16253         * plugins/elements/gstqueue.c:
16254         Very small doc update.
16255
16256 2006-03-13  Wim Taymans  <wim@fluendo.com>
16257
16258         * gst/gst_private.h:
16259         * gst/gstinfo.c: (_gst_debug_init):
16260         Added QOS debug category
16261
16262 2006-03-13  Wim Taymans  <wim@fluendo.com>
16263
16264         * docs/gst/gstreamer-sections.txt:
16265         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
16266         * gst/gstbin.h:
16267         * gst/gstbus.c: (gst_bus_class_init):
16268         * gst/gstbus.h:
16269         * gst/gstclock.c:
16270         * gst/gstelement.c: (gst_element_set_locked_state):
16271         * gst/gstsegment.c:
16272         Documentation updates.
16273
16274         * gst/gstpipeline.c: (gst_pipeline_get_type),
16275         (gst_pipeline_class_init), (gst_pipeline_init),
16276         (gst_pipeline_dispose), (gst_pipeline_set_property),
16277         (gst_pipeline_get_property), (do_pipeline_seek),
16278         (gst_pipeline_send_event), (gst_pipeline_change_state),
16279         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
16280         (gst_pipeline_get_delay):
16281         * gst/gstpipeline.h:
16282         Added methods for setting the delay.
16283         API: gst_pipeline_set_delay()
16284         API: gst_pipeline_get_delay()
16285         Add pipeline debug category
16286         Various cleanups.
16287         Updated docs.
16288         Don't reset stream time when seek failed.
16289
16290 2006-03-13  Wim Taymans  <wim@fluendo.com>
16291
16292         * docs/design/draft-klass.txt:
16293         * docs/design/part-clocks.txt:
16294         * docs/design/part-events.txt:
16295         * docs/design/part-gstbin.txt:
16296         * docs/design/part-gstpipeline.txt:
16297         * docs/design/part-messages.txt:
16298         * docs/design/part-negotiation.txt:
16299         * docs/design/part-overview.txt:
16300         * docs/design/part-preroll.txt:
16301         * docs/design/part-seeking.txt:
16302         * docs/design/part-states.txt:
16303         * docs/design/part-streams.txt:
16304         Documentation updates.
16305
16306 2006-03-12  Julien MOUTTE  <julien@moutte.net>
16307
16308         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
16309         us to leak strings...
16310
16311 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16312
16313         * libs/gst/net/gstnettimeprovider.c:
16314           fix docs
16315         * win32/common/config.h:
16316           update
16317
16318 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
16319
16320         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
16321
16322         * configure.ac:
16323           Don't check for libgnomeui (leftover from old examples
16324           that aren't built or disted any longer) (#334303).
16325           
16326 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
16327
16328         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
16329         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
16330           Emit RESOURCE_NO_SPACE_LEFT error here as well when
16331           there's no space left on the device.
16332
16333 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
16334
16335         * gst/gstclock.h:
16336           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
16337           to cast the input to GstClockTime before comparing with
16338           another GstClockTime value.
16339
16340 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
16341
16342         * configure.ac:
16343           back to trunk
16344
16345 === release 0.10.4 ===
16346
16347 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
16348
16349         * configure.ac:
16350           releasing 0.10.4, "Light"
16351
16352 2006-03-10  Michael Smith  <msmith@fluendo.com>
16353
16354         * libs/gst/dataprotocol/dataprotocol.c:
16355           Fix docs for dataprocotol to not get the return types completely
16356           wrong for a few functions.
16357
16358 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16359
16360         * docs/gst/gstreamer-sections.txt:
16361         * gst/gstpipeline.c: (gst_pipeline_class_init),
16362         (gst_pipeline_init), (gst_pipeline_set_property),
16363         (gst_pipeline_get_property), (gst_pipeline_change_state),
16364         (gst_pipeline_set_auto_flush_bus),
16365         (gst_pipeline_get_auto_flush_bus):
16366         * gst/gstpipeline.h:
16367           Add new API: gst_pipeline_set_auto_flush_bus() and
16368           gst_pipeline_get_auto_flush_bus() to disable automatic
16369           flushing of the pipeline's GstBus when going from READY
16370           to NULL state (#332045).
16371
16372 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16373
16374         * docs/gst/gstreamer-sections.txt:
16375         * gst/gsturi.c: (gst_uri_has_protocol):
16376         * gst/gsturi.h:
16377            Add new API: gst_uri_has_protocol() (#333779).
16378
16379 2006-03-09  Wim Taymans  <wim@fluendo.com>
16380
16381         * gst/gstclock.c: (gst_clock_entry_new),
16382         (gst_clock_id_compare_func), (gst_clock_id_wait),
16383         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
16384         (gst_clock_init), (gst_clock_get_internal_time),
16385         (gst_clock_set_master), (do_linear_regression),
16386         (gst_clock_add_observation), (gst_clock_set_property):
16387         * gst/gstclock.h:
16388         Review docs.
16389         Small cleanups.
16390         Fix a possible segfault when the window-size is made smaller.
16391         Calculate jitter before performing the clock wait. Ideally
16392         the clock implementation should calculate jitter but we need
16393         API breakage for that.
16394
16395         * gst/gstsystemclock.c: (gst_system_clock_init):
16396         Docs review.
16397         
16398         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16399         Remove leftover else
16400
16401         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
16402         (gst_systemclock_suite):
16403         Added check to test GST_CLOCK_DIFF.
16404
16405 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
16406
16407         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
16408         (gst_type_find_helper_get_range):
16409           If we are provided with the size, we should implement
16410           GstTypeFind::get_length, so that typefind functions who
16411           want to can actually peek at the middle of a file.
16412
16413 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
16414
16415         * docs/manual/advanced-dataaccess.xml:
16416           Add some very very basic error checking.
16417
16418         * docs/pwg/appendix-checklist.xml:
16419           Some updates to the list of things to check when writing an element.
16420
16421 2006-03-08  Wim Taymans  <wim@fluendo.com>
16422
16423         * docs/design/part-element-transform.txt:
16424         Added some docs about the design of tranform elements.
16425
16426         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
16427         (gst_base_src_loop), (gst_base_src_change_state):
16428         Mark buffers with the DISCONT flag.
16429
16430 2006-03-08  Michael Smith  <msmith@fluendo.com>
16431
16432         * gst/gstregistry.h:
16433         * gst/gstregistryxml.c: (gst_registry_save),
16434         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
16435         (gst_registry_xml_save_pad_template),
16436         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
16437         (gst_registry_xml_write_cache):
16438           Rewrite registry-saving to avoid race conditions and check for
16439           failed writes.
16440
16441 2006-03-08  Wim Taymans  <wim@fluendo.com>
16442
16443         * libs/gst/base/gstbasetransform.c:
16444         (gst_base_transform_transform_caps),
16445         (gst_base_transform_transform_size),
16446         (gst_base_transform_prepare_output_buffer),
16447         (gst_base_transform_get_unit_size),
16448         (gst_base_transform_buffer_alloc),
16449         (gst_base_transform_handle_buffer),
16450         (gst_base_transform_change_state):
16451         Cleanups, separate normal flow from errors, add sensible
16452         DEBUG lines.
16453         Don't try to renegotiate when allocating an output buffer.
16454         Also copy DISCONT buffer flag when copying a buffer.
16455         Reset the transform after we finish streaming, not during.
16456
16457 2006-03-08  Wim Taymans  <wim@fluendo.com>
16458
16459         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
16460         Use last buffer timestamp in qos message.
16461
16462 2006-03-07  Wim Taymans  <wim@fluendo.com>
16463
16464         Patch by: Christophe Fergeau
16465
16466         * docs/pwg/advanced-tagging.xml:
16467         * docs/pwg/building-pads.xml:
16468           fixes #333416
16469
16470 2006-03-07  Wim Taymans  <wim@fluendo.com>
16471
16472         * docs/libs/gstreamer-libs-sections.txt:
16473         Added basesink new methods.
16474
16475         * gst/gstevent.c:
16476         * gst/gstevent.h:
16477         Docs updates. Flesh out the QoS docs.
16478
16479         * libs/gst/base/gstadapter.c:
16480         Small doc clarification about ownership and flushing.
16481
16482         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
16483         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
16484         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
16485         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16486         * libs/gst/base/gstbasesink.h:
16487         API additions: 
16488         Added new methods to allow subclass to control max-lateness 
16489         and sync.
16490         Generate very basic QoS events based on last sync observation.
16491         Updated docs, fix typo, added some QoS blurb.
16492
16493         * libs/gst/base/gstbasesrc.c:
16494         Remove obsolete _get_state() calls from docs.
16495
16496 2006-03-07  Wim Taymans  <wim@fluendo.com>
16497
16498         * docs/libs/gstreamer-libs-sections.txt:
16499         * libs/gst/base/gstbasetransform.h:
16500         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
16501         Fix docs for GstBaseSrc.
16502
16503 2006-03-07  Wim Taymans  <wim@fluendo.com>
16504
16505         * docs/gst/gstreamer-sections.txt:
16506         * gst/gstbuffer.h:
16507         * gst/gstvalue.c:
16508         * libs/gst/base/gstbasetransform.h:
16509         Small documentation fixes.
16510
16511 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16512
16513         * gst/gstvalue.c:
16514           Document thread-unsafety of gst_value_register_foo_func()
16515           when used at the same time as gst_value_foo() (#322628).
16516
16517 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
16518
16519         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
16520         (gst_push_src_check_get_range):
16521           Push sources don't support pull mode by default.
16522
16523 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16524
16525         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16526         (gst_base_src_init), (gst_base_src_pad_check_get_range),
16527         (gst_base_src_default_check_get_range):
16528         * libs/gst/base/gstbasesrc.h:
16529           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
16530           provide default implementation, and rename
16531           gst_base_src_check_get_range() to
16532           gst_base_src_pad_check_get_range() for clarity.
16533
16534 2006-03-06  Wim Taymans  <wim@fluendo.com>
16535
16536         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
16537         Make property overridable.
16538
16539 2006-03-06  Wim Taymans  <wim@fluendo.com>
16540
16541         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
16542         (gst_base_sink_init), (gst_base_sink_set_property),
16543         (gst_base_sink_get_property), (gst_base_sink_do_sync):
16544         * libs/gst/base/gstbasesink.h:
16545         API addition: Make max-lateness a property.
16546
16547 2006-03-06  Wim Taymans  <wim@fluendo.com>
16548
16549         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
16550         (gst_base_sink_do_sync), (gst_base_sink_render_object):
16551         Don't ever draw a frame that is >10ms late.
16552
16553 2006-03-06  Michael Smith  <msmith@fluendo.com>
16554
16555         * gst/gstmessage.c: (_gst_message_copy):
16556           When copying a message, set the parent_refcount of the enclosed
16557           structure to point at the copy, not the original message.
16558
16559 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
16560
16561         Patch by: Christophe Fergeau
16562
16563         * gst/gstutils.h:
16564           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
16565           usable in c++ code (#333417)
16566
16567 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16568
16569         * gst/gstclock.h:
16570           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
16571
16572 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
16573
16574         * libs/gst/base/gstbasetransform.c:
16575         (gst_base_transform_transform_caps):
16576           Make sure caps are writable before passing them to
16577           gst_caps_append().
16578
16579 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
16580
16581         * gst/gsterror.h:
16582           Fix some minor docs errors.
16583
16584 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
16585
16586           Patch by: Ross Burton <ross at burtonini dot com>
16587
16588         * gst/gsterror.c: (_gst_resource_errors_init):
16589         * gst/gsterror.h:
16590           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
16591
16592 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
16593
16594         * gst/gst.c:
16595         Add a check and output a g_warning when GStreamer is built
16596         against GLib 2.6 but running against 2.8 or higher, and vice 
16597         versa. (Closes: #323542)
16598
16599 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
16600
16601         * gst/parse/parse.l:
16602           Commit patch for parse_launch syntax from #331255. Removes 
16603           support for quoted strings and mimetypes when writing filtered 
16604           caps. See the bug report for more details - I'm pretty sure this
16605           obscure feature is not in use by _anyone_ anywhere.
16606
16607           With this simple change, the size of the gstreamer.so here 
16608           drops from 2193KB to 1565KB.
16609
16610 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16611
16612         * plugins/elements/gsttypefindelement.h:
16613         * plugins/elements/gsttypefindelement.c:
16614         (gst_type_find_element_src_event), (start_typefinding),
16615         (stop_typefinding), (gst_type_find_element_handle_event),
16616         (gst_type_find_element_chain),
16617         (gst_type_find_element_chain_do_typefinding):
16618           Use gst_type_find_helper_for_buffer() for chain-based
16619           typefinding.
16620
16621 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16622
16623         * plugins/elements/gsttypefindelement.c:
16624         (gst_type_find_element_class_init),
16625         (gst_type_find_element_set_property),
16626         (gst_type_find_element_get_property):
16627           Deprecate "maximum" property (not only was it only taken into
16628           account for typefinding in push-mode anyway, it also was never
16629           actually possible to set it in the first place because the
16630           property was registered with the numeric property ID for the
16631           "minimum" property). Register "maximum" property correctly,
16632           for the sake of future copy'n'pasters. Remove some cruft
16633           from property get/set functions.
16634
16635 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
16636
16637         * plugins/elements/gsttypefindelement.c:
16638         (gst_type_find_element_activate):
16639           Use gst_type_find_helper_get_range() here, so we
16640           can honour the "minimum" property and also emit
16641           the signal with the correct probability of the found caps.
16642
16643 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
16644
16645         * docs/libs/gstreamer-libs-sections.txt:
16646         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
16647         (helper_find_suggest), (gst_type_find_helper_get_range),
16648         (gst_type_find_helper):
16649         * libs/gst/base/gsttypefindhelper.h:
16650           New API: gst_type_find_helper_get_range() (#333042).
16651
16652 2006-03-02  Michael Smith  <msmith@fluendo.com>
16653
16654         * gst/gstregistryxml.c: (load_feature):
16655           Asserting on a failure to read part of the registry is Not Cool.
16656           Just log a warning and return NULL (which is already handled)
16657
16658 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
16659
16660         * win32/common/libgstbase.def:
16661           added export of gst_type_find_helper_for_buffer
16662         * win32/common/libgstbase.def:
16663           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
16664           gst_ghost_pad_get_target
16665
16666 2006-02-28  Wim Taymans  <wim@fluendo.com>
16667
16668         * docs/design/draft-klass.txt:
16669         We use Filter now.
16670         Added Connector to mark elements that are only used to
16671         allow pipeline connections.
16672         Moved Debug to extra feature since most of them are 
16673         functionally something else.
16674
16675 2006-02-28  Wim Taymans  <wim@fluendo.com>
16676
16677         * docs/design/draft-klass.txt:
16678         Some updates and clarifications.
16679
16680 2006-02-28  Wim Taymans  <wim@fluendo.com>
16681
16682         * docs/design/draft-klass.txt:
16683         Proposal for klass field values.
16684
16685         * docs/design/part-streams.txt:
16686         Start of a doc describing stream anatomy.
16687
16688 2006-02-28  Wim Taymans  <wim@fluendo.com>
16689
16690         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
16691         Help the compiler a bit with type registration.
16692         Use existing forward cod path instead of duplicating it when 
16693         handling a message.
16694         
16695         * gst/gstbus.c: (gst_bus_get_type):
16696         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
16697         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
16698         * gst/gstclock.c: (gst_clock_get_type):
16699         * gst/gstelement.c: (gst_element_get_type),
16700         * gst/gstelementfactory.c: (gst_element_factory_get_type):
16701         * gst/gstindexfactory.c: (gst_index_factory_get_type):
16702         * gst/gstminiobject.c: (gst_mini_object_get_type):
16703         * gst/gstpad.c: (gst_pad_get_type):
16704         * gst/gstsegment.c: (gst_segment_get_type):
16705         * gst/gststructure.c: (gst_structure_get_type):
16706         * gst/gstsystemclock.c: (gst_system_clock_get_type):
16707         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
16708         * gst/gstvalue.c:
16709         Help compiler with type registration.
16710
16711         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
16712         Small doc update.
16713
16714 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16715
16716         * plugins/elements/gsttypefindelement.c:
16717         (gst_type_find_element_handle_event):
16718           When we get an EOS event and have not found a type yet
16719           (most likely because we had not yet accumulated
16720           TYPE_FIND_MIN_SIZE of data yet), try to determine the
16721           type given the data we have so far. Fixes typefinding
16722           for very short streams again, most notably quicktime
16723           redirections as used on Apple's trailer site (#331701).
16724
16725 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16726
16727         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
16728         (gst_type_find_helper):
16729           Try typefinding factories with the highest rank first.
16730
16731 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16732
16733         * docs/libs/gstreamer-libs-docs.sgml:
16734         * docs/libs/gstreamer-libs-sections.txt:
16735         * libs/gst/base/gsttypefindhelper.c:
16736           Add section for typefind helper and add documentation
16737           for the old and the new function.
16738
16739 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16740
16741         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
16742         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
16743         (gst_type_find_helper_for_buffer):
16744         * libs/gst/base/gsttypefindhelper.h:
16745           New API: gst_type_find_helper_for_buffer() (#332723).
16746           
16747 2006-02-27  Michael Smith  <msmith@fluendo.com>
16748
16749         Patch by: Loïc Minier
16750
16751         * configure.ac:
16752         * docs/Makefile.am:
16753         * docs/slides/Makefile.am:
16754           prevent CVS directories getting disted.
16755
16756 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
16757
16758         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
16759           Use the REFCOUNTING category for caps refcounting.
16760           
16761 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
16762
16763         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
16764           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
16765
16766 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
16767
16768         * plugins/elements/gsttypefindelement.c:
16769         (gst_type_find_element_activate):
16770           Use gst_pad_check_pull_range() before _activate_pull()
16771           to avoid unnecessary open/close (see #331690).
16772
16773 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
16774
16775         * gst/gstutils.c:
16776           Docs enhancement: make it crystal clear what the
16777           gst_pad_add_*_probe() callbacks should look like.
16778
16779 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
16780
16781         * libs/gst/base/gstbasesrc.c:
16782           Document how applications can stop recording from
16783           live sources (see #330996).
16784
16785 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
16786
16787         * tests/check/Makefile.am:
16788         * tests/check/libs/basesrc.c: (eos_event_counter),
16789         (basesrc_eos_events_pull), (basesrc_eos_events_push),
16790         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
16791         (gst_basesrc_suite), (main):
16792           ... and add some tests for the base source EOS stuff.
16793
16794 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
16795
16796         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
16797           Test case originally showed the problem fixed below,
16798           but was then amended. Add checks back at the place
16799           where they used to be.
16800
16801 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
16802
16803         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
16804         (gst_base_src_init), (gst_base_src_loop),
16805         (gst_base_src_activate_push), (gst_base_src_activate_pull),
16806         (gst_base_src_change_state):
16807         * libs/gst/base/gstbasesrc.h:
16808           Don't unconditionally send EOS when going from PAUSED to
16809           READY state, esp. make sure we don't send two EOS events
16810           in some cases (e.g. one when reaching EOS and one when
16811           going from PAUSED to READY). Also, we don't want to send
16812           EOS events when operating in pull mode. However, we do
16813           want to send an EOS event when shutting down a live
16814           source explicitly, for example (fixes #330996).
16815           
16816 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
16817
16818         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
16819           Update src->read_position after a seek when not using mmap.
16820           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
16821
16822 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
16823
16824         * gst/Makefile.am:
16825         * gst/gstparse.h:
16826         * gst/gstutils.c:
16827         * gst/gstutils.h:
16828         Make things work with --disable-parse as they do with 
16829         --disable-load-save - the symbols involved disappear, but the
16830         header is still installed and GST_DISABLE_PARSE is included via
16831         gstconfig.h
16832
16833 2006-02-20  Julien MOUTTE  <julien@moutte.net>
16834
16835         * libs/gst/base/gstbasetransform.c:
16836         (gst_base_transform_change_state): Fix a stupid bug. I was 
16837         sure I compiled that.
16838
16839 2006-02-20  Julien MOUTTE  <julien@moutte.net>
16840
16841         * gst/gstpad.c: (gst_pad_set_blocked_async):
16842         * gst/gstutils.c: (gst_pad_add_data_probe),
16843         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
16844         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
16845         (gst_pad_remove_buffer_probe): Make those function act on the
16846         ghostpad target when it's a ghostpad. (Closes #331727)
16847
16848 2006-02-20  Julien MOUTTE  <julien@moutte.net>
16849
16850         * libs/gst/base/gstbasetransform.c:
16851         (gst_base_transform_change_state): Make basetransform reusable.
16852         (Closes #331898)
16853
16854 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
16855
16856         * docs/random/release:
16857         Move the current documentation of how to do a release to the top
16858         of the file.
16859
16860         * gst/gstbin.c: (gst_bin_class_init),
16861         (gst_bin_handle_message_func):
16862         Allow multiple state-recalculation threads. (Closes #328873)
16863
16864 2006-02-19  Julien MOUTTE  <julien@moutte.net>
16865
16866         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
16867         * gst/gstpad.c: (gst_pad_set_event_function),
16868         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
16869         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
16870         2 strings. You can't use the STR_NULL macro on that.
16871
16872 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
16873
16874         * gst/gstpad.c: (gst_pad_set_event_function),
16875         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
16876         (gst_pad_set_getcaps_function)
16877         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
16878           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
16879           So now, we can use --gst-debug-level=5 on Windows
16880         * win32/common/libgstcontroller.def:
16881           Added export of gst_controller_init
16882         * win32/vs6/libgstcontroller.dsp:
16883           Fixed Release post build configuration
16884
16885 2006-02-17  Wim Taymans  <wim@fluendo.com>
16886
16887         * tests/check/gst/gstquery.c: (GST_START_TEST):
16888         Added another check.
16889
16890 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
16891
16892         * plugins/elements/gsttypefindelement.c: (find_peek):
16893           We can do peeks at non-zero offsets, as long as they
16894           fall within the buffer we have.
16895
16896 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
16897
16898         * tests/check/Makefile.am:
16899         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
16900         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
16901         (parse_suite), (main):
16902           Add testsuite for parse launch syntax
16903
16904 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
16905
16906         * plugins/elements/gsttypefindelement.c:
16907         (gst_type_find_element_chain):
16908           When typefinding is unsuccessful in the chain function, don't
16909           error out immediately. Only error out with NO_CAPS_FOUND if
16910           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
16911           otherwise simply wait for more data so we can try typefinding
16912           again with more data later. Also, don't attempt to typefind
16913           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
16914           this should improve typefinding from network sources where the
16915           size of the first buffer can be somewhat random.
16916
16917 2006-02-14  Wim Taymans  <wim@fluendo.com>
16918
16919         * docs/gst/gstreamer-sections.txt:
16920         * gst/gstpadtemplate.c:
16921         * gst/gstpadtemplate.h:
16922         Fix padtemplate docs, fixes #328805.
16923
16924 2006-02-14  Wim Taymans  <wim@fluendo.com>
16925
16926         * tools/gst-launch.c: (main):
16927         NO_PREROLL is not an ERROR so don't send confusing messages
16928         to the user.
16929
16930 2006-02-14  Wim Taymans  <wim@fluendo.com>
16931
16932         Patch by: Torsten Schoenfeld
16933
16934         * gst/gstregistry.c: (gst_registry_get_default),
16935         (_gst_registry_cleanup):
16936         Protect default registry with lock and ref/sink it.
16937         Fixes #324818
16938
16939 2006-02-14  Wim Taymans  <wim@fluendo.com>
16940
16941         * gst/gstbuffer.c:
16942         * gst/gstquery.c: (gst_query_list_add_format),
16943         (gst_query_set_formatsv), (gst_query_parse_formats_length),
16944         (gst_query_parse_formats_nth):
16945         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
16946         Docs fixes.
16947
16948 2006-02-14  Wim Taymans  <wim@fluendo.com>
16949
16950         * docs/gst/gstreamer-sections.txt:
16951         Reworked query docs.
16952
16953         * gst/gstquery.c: (gst_query_new_formats),
16954         (gst_query_list_add_format), (gst_query_set_formats),
16955         (gst_query_set_formatsv), (gst_query_parse_formats_length),
16956         (gst_query_parse_formats_nth):
16957         * gst/gstquery.h:
16958         Flesh out formats query, added some new methods.
16959         Fix part of #324398.
16960
16961         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
16962         Added query creation tests.
16963
16964 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
16965
16966         * gst/gstpad.c: (fixate_value):
16967         Add a default fixation for fraction lists.
16968
16969 2006-02-13  Wim Taymans  <wim@fluendo.com>
16970
16971         * gst/gsttask.c: (gst_task_init), (gst_task_func),
16972         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
16973         (gst_task_join):
16974         * gst/gsttask.h:
16975         Detect and warn for obvious deadlocks. fixes #320340
16976         Fix error case where lock was not released.
16977
16978         * tests/check/Makefile.am:
16979         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
16980         (task_func), (gst_element_suite), (main):
16981         Add task check.
16982
16983 2006-02-13  Wim Taymans  <wim@fluendo.com>
16984
16985         * docs/gst/gstreamer-sections.txt:
16986         * gst/gstbus.c:
16987         Add new functions to docs.
16988
16989 2006-02-13  Wim Taymans  <wim@fluendo.com>
16990
16991         * docs/design/part-TODO.txt:
16992         Updated TODO list, basesrc supports seeking to non-bytes
16993         formats.
16994
16995         * docs/design/part-element-sink.txt:
16996         Update docs.
16997
16998         * gst/gstbin.c: (bin_replace_message),
16999         (gst_bin_handle_message_func):
17000         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
17001         * gst/gstevent.c: (gst_event_finalize):
17002         * gst/gstpad.c: (gst_pad_event_default_dispatch),
17003         (gst_pad_send_event):
17004         Use shiny new _TYPE_NAME macros.
17005
17006         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17007         Move debug statement up.
17008
17009         * gst/gstelement.c: (gst_element_set_locked_state):
17010         Add some debugging.
17011
17012 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
17013
17014         * docs/gst/gstreamer-sections.txt:
17015         * gst/gstmessage.h:
17016         * gst/gstquery.h:
17017           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
17018           macros (#330906). Also, document the already existing
17019           GST_QUERY_TYPE macro.
17020
17021 2006-02-13  Wim Taymans  <wim@fluendo.com>
17022
17023         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
17024         (event_probe), (GST_START_TEST):
17025         Only events up to the pipeline EOS are counted, there are
17026         some more when going to NULL currently which we don't care
17027         about for now.
17028
17029 2006-02-13  Wim Taymans  <wim@fluendo.com>
17030
17031         * gst/gstpad.c: (gst_pad_send_event):
17032         Correctly check flushing and emit probes. fixes #330125
17033
17034 2006-02-10  Andy Wingo  <wingo@pobox.com>
17035
17036         * gst/gstbus.c (gst_bus_class_init): Declare our private data
17037         structure.
17038         (gst_bus_init): Cache the location of the private data in the
17039         instance structure.
17040         (gst_bus_enable_sync_message_emission) 
17041         (gst_bus_disable_sync_message_emission): Implement new public
17042         functions.
17043         (gst_bus_post): Emit the sync-message signal if the user asked for
17044         it. Fixes #330684.
17045
17046         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
17047         location of the bus-private structure.
17048         (gst_bus_enable_sync_message_emission)
17049         (gst_bus_disable_sync_message_emission): API addition
17050
17051 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
17052
17053         Patch by: Vincent Torri
17054
17055         * docs/pwg/building-boiler.xml:
17056         PWG patch from #326800
17057
17058 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
17059
17060         * configure.ac:
17061         * docs/Makefile.am:
17062         * docs/design/Makefile.am:
17063           Dist design docs.
17064
17065 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17066
17067         * configure.ac:
17068           back to CVS
17069
17070 === release 0.10.3 ===
17071
17072 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
17073
17074         * configure.ac:
17075           releasing 0.10.3, "Like a virgin"
17076
17077 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
17078
17079         * configure.ac:
17080           2nd prerelease of 0.10.3
17081           Bump libtool versioning.
17082
17083 2006-02-07  Andy Wingo  <wingo@pobox.com>
17084
17085         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
17086         update last_stop if we're in TIME format and the timestamp is
17087         valid.
17088
17089         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
17090         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
17091         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
17092         If we get a new newsegment with a different format, adapt
17093         accordingly.
17094
17095         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
17096         of 0. Not a problem, really.
17097
17098         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
17099         warn if sync=true.
17100
17101 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
17102
17103         * configure.ac:
17104           Prelease of 0.10.3
17105
17106 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
17107
17108         * win32/vs7:
17109           project files updated to the default vs7 configuration
17110         * win32/common/libgstbase.def:
17111         * win32/common/libgstreamer.def:
17112           added new symbols,
17113           removed empty lines,
17114           sorted all exported symbols alphabetically
17115         * win32/common/dirent.c:
17116         * win32/common/dirent.h:
17117         * win32/common/gchar.h:
17118           use windows line end.
17119           
17120 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17121
17122         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
17123           Send EOS event when stopping.
17124
17125 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
17126
17127         * docs/README:
17128           Tell folks what to do if the plugin-foobar.xml file
17129           hasn't been generated for a newly-added plugin.
17130
17131 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17132
17133         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
17134         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
17135         (gst_collect_pads_start), (gst_collect_pads_stop),
17136         (gst_collect_pads_event): Collectpads now holds a reference
17137         to the GstPad that was added. Indeed we don't want to look
17138         at pads that might just go away with no warning...
17139
17140 2006-02-05  Julien MOUTTE  <julien@moutte.net>
17141
17142         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
17143         (gst_collect_pads_start), (gst_collect_pads_stop),
17144         (gst_collect_pads_event), (gst_collect_pads_chain):
17145         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
17146         Mark Nauwelaerts's patch on bug #328491.
17147
17148 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17149
17150         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
17151         (gst_utils_suite):
17152           Add some simple tests for gst_parse_bin_from_description() and
17153           gst_bin_find_unconnected_pad() (#329069).
17154
17155 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
17156
17157         * tools/gst-launch.c: (event_loop), (main):
17158           Catch errors during preroll (#320084).
17159
17160 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
17161
17162         * plugins/elements/gsttypefindelement.c:
17163         (gst_type_find_element_activate):
17164           Post TYPE_NOT_FOUND error message when typefinding
17165           is unsuccessful in the activate function as well.
17166
17167 2006-02-02  Wim Taymans  <wim@fluendo.com>
17168
17169         * docs/design/part-element-sink.txt:
17170         Updated doc.
17171
17172 2006-02-02  Wim Taymans  <wim@fluendo.com>
17173
17174         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
17175         (gst_base_sink_render_object),
17176         (gst_base_sink_queue_object_unlocked):
17177         Only keep track of prerollable items when we are 
17178         prerolling.
17179         Before rendering after preroll, always check if we
17180         have queued items.
17181         Added some more debugging.
17182
17183 2006-02-02  Wim Taymans  <wim@fluendo.com>
17184
17185         * gst/gstelement.c: (gst_element_continue_state),
17186         (gst_element_set_state_func), (gst_element_change_state):
17187         Fixed #326576, been running this for quite some time with
17188         no regressions at all.
17189
17190 2006-02-02  Wim Taymans  <wim@fluendo.com>
17191
17192         * common/gst.supp:
17193         Added more suppressions
17194
17195 2006-02-02  Wim Taymans  <wim@fluendo.com>
17196
17197         * docs/design/part-element-sink.txt:
17198         Updated document.
17199
17200         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17201         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
17202         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
17203         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
17204         (gst_base_sink_do_sync), (gst_base_sink_render_object),
17205         (gst_base_sink_preroll_object),
17206         (gst_base_sink_queue_object_unlocked),
17207         (gst_base_sink_queue_object), (gst_base_sink_event),
17208         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
17209         (gst_base_sink_loop), (gst_base_sink_activate_pull),
17210         (gst_base_sink_get_position), (gst_base_sink_change_state):
17211         * libs/gst/base/gstbasesink.h:
17212         Totally refactored matching the design doc.
17213         Use two segments, one to clip incomming buffers and another to
17214         perform sync.
17215         Handle queueing correctly, bypass the queue when playing.
17216         Make EOS cancelable.
17217         Handle errors correctly when operating in pull based mode.
17218
17219         * tests/check/elements/fakesink.c: (GST_START_TEST),
17220         (fakesink_suite):
17221         Added new check for sinks.
17222
17223 2006-02-02  Wim Taymans  <wim@fluendo.com>
17224
17225         * gst/gstsegment.c: (gst_segment_clip):
17226         No reason to refuse to clip when start == -1
17227
17228 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
17229
17230         * docs/README:
17231         * docs/manual/intro-basics.xml:
17232         * docs/manual/intro-preface.xml:
17233         * docs/manual/manual.xml:
17234         * docs/pwg/advanced-dparams.xml:
17235         * docs/pwg/intro-basics.xml:
17236         * docs/pwg/intro-preface.xml:
17237         * docs/pwg/pwg.xml:
17238           describe dparams (controller) for plugins
17239           unify docs a little more
17240
17241 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
17242
17243         * docs/gst/gstreamer-sections.txt:
17244         * gst/gstutils.c: (element_find_unconnected_pad),
17245         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
17246         * gst/gstutils.h:
17247           Add new API: gst_parse_bin_from_description() and
17248           gst_bin_find_unconnected_pad() (#329069).
17249
17250 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
17251
17252         * docs/manual/README:
17253           uncover a nasty detail of the docs build
17254
17255 2006-01-31  Wim Taymans  <wim@fluendo.com>
17256
17257         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
17258         Don't cache duration messages if we're not going to use or
17259         free them.
17260
17261 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
17262
17263         * docs/manual/advanced-dparams.xml:
17264         * docs/pwg/advanced-dparams.xml:
17265           more dparam docs
17266         * gst/gstindex.c:
17267           fix docs
17268         * libs/gst/controller/lib.c: (gst_controller_init):
17269           init just once
17270
17271 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
17272
17273         * gst/gstelement.c: (gst_element_message_full):
17274           also show file/line/func if no additional debug was given
17275
17276 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
17277         
17278         * win32/vs7/grammar.vcproj:
17279           activate copy of autogenerated files for Release mode
17280
17281 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17282         
17283         * win32/common/libgstreamer.def:
17284           export gst_value_compare
17285
17286 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
17287
17288         * plugins/elements/Makefile.am:
17289         * plugins/elements/gstelements.c:
17290         * plugins/elements/gstfdsink.c: (_do_init),
17291         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
17292         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
17293         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
17294         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
17295         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
17296         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
17297         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
17298         * plugins/elements/gstfdsink.h:
17299         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
17300
17301 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
17302
17303         * docs/manual/advanced-dparams.xml:
17304           describe controller
17305         * docs/manual/advanced-position.xml:
17306         * docs/manual/basics-init.xml:
17307         * docs/manual/manual.xml:
17308         * docs/manual/titlepage.xml:
17309         * docs/pwg/pwg.xml:
17310         * docs/pwg/titlepage.xml:
17311           cleanup xml (more to come)
17312         * libs/gst/controller/gstcontroller.c:
17313           fix typo
17314
17315 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
17316         
17317         * win32/vs6/grammar.dsp:
17318           add autogen of gstmarshal.c,h for Release mode
17319                 
17320 2006-01-30  Wim Taymans  <wim@fluendo.com>
17321
17322         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
17323         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
17324         (gst_base_sink_handle_object), (gst_base_sink_event),
17325         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
17326         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
17327         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
17328         (gst_base_sink_deactivate), (gst_base_sink_activate),
17329         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
17330         (gst_base_sink_query), (gst_base_sink_change_state):
17331         Basesink cleanups, remove some old code.
17332         Handle the case where a subclass can preroll in the render
17333         method (mostly audiosinks).
17334         Handle more events.
17335         Remove some locks around variables that are now protected
17336         with the PREROLL_LOCK (clock_id, flushing, ..).
17337         Optimize position query some more, do correct locking.
17338         Remove old code to push queue in state change, this is not
17339         needed anymore since preroll blocks on all prerollable items 
17340         now.
17341         Almost implemented as described in design doc.
17342
17343 2006-01-30  Wim Taymans  <wim@fluendo.com>
17344
17345         * tests/check/gst/gstbin.c: (GST_START_TEST):
17346         Wait for refcount to settle down before checking.
17347
17348 2006-01-30  Wim Taymans  <wim@fluendo.com>
17349
17350         * docs/design/part-element-sink.txt:
17351         Pseudo code overview of desired sink behaviour regarding
17352         preroll.
17353
17354 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17355         * win32/vs6/grammar.dsp:
17356           fix some bugs in Release mode for autogenerated files
17357                 
17358 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17359         * win32/common/libgstbase.def:
17360         * win32/common/libgstreamer.def:
17361           export some new symbols: gst_base_src_set_format,
17362           gst_iterator_next, gst_structure_set_valist
17363
17364 2006-01-29  Julien MOUTTE  <julien@moutte.net>
17365
17366         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
17367         Set pad functions unconditionally. Fixes #329105.
17368
17369 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
17370         * win32/vs8:
17371           add vs8 project files created by Sergey Scobich
17372
17373 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
17374
17375         * gst/gstutils.c: (gst_element_unlink_pads):
17376         Don't leak pad references.
17377
17378         * tests/check/elements/fakesink.c: (GST_START_TEST):
17379         * tests/check/generic/sinks.c: (GST_START_TEST):
17380         * tests/check/generic/states.c: (GST_START_TEST):
17381         * tests/check/gst/gstbin.c: (GST_START_TEST):
17382         * tests/check/gst/gstcaps.c: (GST_START_TEST):
17383         * tests/check/gst/gstelement.c: (GST_START_TEST):
17384         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
17385         * tests/check/gst/gstiterator.c: (GST_START_TEST):
17386         * tests/check/gst/gstvalue.c: (GST_START_TEST):
17387         Fix a bunch of leaks. Make generic/sinks.c
17388         use a bit less cpu by slowing the buffer rate
17389         between fakesrc and fakesink.
17390         
17391 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
17392         * gst/gstcaps.c:
17393         * gst/gstelement.c: (gst_element_send_event):
17394         * gst/gstevent.c:
17395         * gst/gstinfo.c:
17396         * gst/gstiterator.c:
17397         * gst/gstiterator.h:
17398         * gst/gstpad.c: (gst_pad_send_event):
17399         * gst/gststructure.c:
17400         * gst/gsturi.c:
17401         * gst/gstutils.c:
17402         * gst/gstvalue.c:
17403         * libs/gst/base/gstadapter.c:
17404           doc fixes, to link to function, just write gst_cool_function(), don't
17405           prefix with '#'
17406
17407 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17408
17409         * plugins/elements/gsttee.c: (gst_tee_do_push),
17410         (gst_tee_handle_buffer):
17411         Always prefer an actual return value from a src
17412         pad in place of NOT_LINKED. This means we return
17413         WRONG_STATE when all src pads are WRONG_STATE
17414         instead of NOT_LINKED.
17415
17416         Lock when replacing the last message to prevent
17417         racing with the get_property method.
17418
17419         Add debug output
17420
17421 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17422
17423         * tests/check/Makefile.am:
17424         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
17425         (main):
17426         Add a very simple check that should have caught the memleak I fixed
17427         last night (if not for the slice allocator hiding it)
17428
17429 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
17430
17431         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
17432         (gst_bin_remove_func), (gst_bin_handle_message_func),
17433         (bin_query_duration_fold), (bin_query_generic_fold):
17434         Clean up references to the clock provider when disposed or when
17435         handling a clock-lost message from it.
17436
17437         Unref sinks when performing a query via gst_iterator_fold, as the
17438         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
17439
17440         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
17441         (gst_clock_set_master):
17442         Drop our reference to the master clock, if any, when we are disposed.
17443
17444         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
17445         Chain up in dispose. 
17446
17447 2006-01-26  Wim Taymans  <wim@fluendo.com>
17448
17449         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
17450         Add some debugging.
17451
17452 2006-01-26  Julien MOUTTE  <julien@moutte.net>
17453
17454         * plugins/elements/gsttee.c: (gst_tee_do_push),
17455         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
17456         handles pad being NOT_LINKED or in WRONG_STATE.
17457
17458 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17459
17460         * win32/MANIFEST:
17461           more updating
17462
17463 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17464
17465         * win32/MANIFEST:
17466           remove obsolete entry
17467
17468 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
17469
17470         * docs/gst/gstreamer-sections.txt:
17471         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
17472         (gst_bin_iterate_sources), (gst_bin_send_event):
17473         * gst/gstbin.h:
17474         * gst/gstelement.c: (gst_element_send_event):
17475         * gst/gstevent.c:
17476         * gst/gstpad.c: (gst_pad_send_event):
17477           added code for downstream events, reviewed docs in gstevent.c
17478
17479 2006-01-25  Julien MOUTTE  <julien@moutte.net>
17480
17481         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
17482         We only query position using the clock in the playing state.
17483         Query peer in the other cases.
17484         * win32/common/config.h: Updates.
17485
17486 2006-01-24  Wim Taymans  <wim@fluendo.com>
17487
17488         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
17489         A clock entry that is scheduled for the exact time of the
17490         clock is still in time.
17491
17492         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17493         (gst_base_sink_do_sync):
17494         Add some more debug info.
17495
17496 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17497
17498         * win32/vs7:
17499           Add new vs7 project files and solution.
17500
17501 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
17502
17503         * win32/vs7:
17504           all files removed as they were out-dated.
17505
17506 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17507
17508         * docs/random/release:
17509           update notes
17510         * gst/gstbin.c: (gst_bin_init):
17511         * gst/gstbus.c: (gst_bus_new):
17512         * gst/gstbus.h:
17513         * gst/gstpipeline.c: (gst_pipeline_init):
17514           use gst_bus_new(), improve logging, fix docs
17515         * win32/common/config.h:
17516           update for cvs build
17517
17518 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17519
17520         * autogen.sh:
17521           up required version of automake to 1.7
17522
17523 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
17524
17525         * win32/common/libgstreamer.def:
17526           export gst_buffer_is_metadata_writable
17527
17528 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
17529
17530         * docs/gst/gstreamer-sections.txt:
17531         * gst/gstevent.h:
17532           Add gst_event_replace() (#327001)
17533
17534 2006-01-20  Wim Taymans  <wim@fluendo.com>
17535
17536         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
17537         Make it actually compile too..
17538
17539 2006-01-20  Wim Taymans  <wim@fluendo.com>
17540
17541         * gst/gstcaps.c:
17542         Clarify behaviour of _is_equal() when passing NULL parameters.
17543
17544         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
17545         (gst_pad_set_caps):
17546         Cleanups. Don't unref NULL caps.
17547         When setting the same caps, protect caps of the pad with
17548         proper lock.
17549         Use full functionality of _is_equal() when comparing caps.
17550
17551 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17552
17553         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
17554         Don't loop infinitely if there are no buffers to present. Partially
17555         fixes #327197, but collectpads is just broken for reusing elements
17556         to do multiple encodes atm.
17557
17558 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
17559
17560         * tools/gst-inspect.c: (print_element_features):
17561         * tools/gst-xmlinspect.c: (main):
17562         URL_HANDLER is not a plugin feature we can search for in
17563         the registry.
17564
17565 2006-01-19  Edward Hervey  <edward@fluendo.com>
17566
17567         * gst/gstelement.c: (gst_element_pads_activate): 
17568         When activating, do src pads first, then sink pads.
17569         When de-activating, do sink pads first, then src pads.
17570
17571 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17572
17573         * docs/gst/gstreamer-sections.txt:
17574         Add gst_index_add_associationv to the docs
17575
17576 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17577
17578         * gst/gstevent.c:
17579           Fix docs typo
17580
17581         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
17582         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
17583           Do some refactoring. Doesn't actually change functionality,
17584           but makes landing the DRAIN event easier later.
17585
17586 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
17587
17588         * docs/pwg/advanced-scheduling.xml:
17589           Update from 0.9.x to 0.10 API and make example a bit
17590           clearer.
17591
17592 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17593
17594         * docs/gst/gstreamer-sections.txt:
17595         Add gst_buffer_(is|make)_metadata_writable methods.
17596
17597 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
17598
17599         * docs/design/part-sparsestreams.txt:
17600         Update sparse streams doc, hopefully for greater clarity
17601
17602 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
17603
17604         * docs/design/part-events.txt:
17605         Remove mention of FILLER events.
17606         Add DRAIN event.
17607
17608         * docs/design/part-sparsestreams.txt:
17609         Write some things about using NEWSEGMENT to keep sparse streams
17610         flowing.
17611
17612 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
17613
17614         * gst/gstbin.c: (gst_bin_dispose):
17615           Guard gst_object_unref call against a NULL object (dispose
17616           can theoretically be called multiple times).
17617           
17618 2006-01-18  Wim Taymans  <wim@fluendo.com>
17619
17620         * gst/gstbin.c: (gst_bin_element_set_state):
17621         * gst/gstclock.c: (gst_clock_id_wait):
17622         Added some more debug info.
17623
17624         * libs/gst/base/gstadapter.c:
17625         Added more docs.
17626
17627         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17628         (gst_base_sink_do_sync), (gst_base_sink_chain):
17629         Added some comments.
17630
17631 2006-01-18  Wim Taymans  <wim@fluendo.com>
17632
17633         * tests/check/Makefile.am:
17634         * tests/check/elements/fakesink.c: (chain_async_buffer),
17635         (chain_async), (chain_async_return), (GST_START_TEST),
17636         (fakesink_suite), (main):
17637         Added fakesink test that checks prerolling and clipping
17638         behaviour.
17639
17640         * tests/check/gst/gstutils.c: (GST_START_TEST):
17641         Make check run faster so that buildbots don't timeout.
17642
17643 2006-01-18  Wim Taymans  <wim@fluendo.com>
17644
17645         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17646         (gst_base_sink_do_sync):
17647         Some cleanups.
17648         When the sink finishes blocking on the preroll buffer, it can
17649         immediatly render it instead of rendering when the next buffer
17650         arrives.
17651
17652 2006-01-18  Wim Taymans  <wim@fluendo.com>
17653
17654         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
17655         (gst_base_sink_get_property), (gst_base_sink_do_sync),
17656         (gst_base_sink_chain):
17657         Small cleanups.
17658         GST_ELEMENT_CLOCK and sync are protected with LOCK.
17659         Don't store _last_stop if the buffer is dropped.
17660
17661 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
17662
17663         * plugins/elements/gsttypefindelement.c:
17664         (gst_type_find_element_class_init):
17665           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
17666           object method handler that sets the caps on the pad and we want
17667           that to happen before we emit the signal (fixes e.g. feeding a
17668           plain text file to decodebin).
17669
17670 2006-01-18  Christian Schaller  <Christian@fluendo.com>
17671
17672         * gst/gstplugin.c: Add MPL and Proprietary as license options
17673
17674 2006-01-18  Andy Wingo  <wingo@pobox.com>
17675
17676         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
17677         symbol was exported before, it appears this was just an oversight.
17678         Fixes #168703.
17679         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
17680
17681         * gst/gstindex.c (gst_index_add_associationv): Changed int in
17682         prototype to gint. OK since this prototype was not in the header.
17683
17684 2006-01-17  Andy Wingo  <wingo@pobox.com>
17685
17686         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
17687         registry while we remove plugins.
17688
17689         * tools/gst-inspect.c (print_element_info): Don't unref the
17690         factory arg, that should be the responsibility of whatever code
17691         received the ref. Fixes a double-free when called from
17692         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
17693         (main): Unref the factory if we have one.
17694         (print_element_list): No change -- relies on the
17695         plugin_feature_list_free to free the list of features.
17696
17697 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
17698
17699         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
17700         (gst_buffer_make_metadata_writable):
17701         * gst/gstbuffer.h:
17702         * libs/gst/base/gstbasetransform.c:
17703         (gst_base_transform_prepare_output_buf):
17704         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17705         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17706           Replace gst_buffer_(make|is)_metadata_writable patch now
17707           that the release is out.
17708
17709 2006-01-17  Andy Wingo  <wingo@pobox.com>
17710
17711         * gst/gstregistry.c: Reflow design comment. Update so as to speak
17712         in the present tense without reference to versions.
17713
17714         * gst/gstregistry.c (gst_registry_add_plugin)
17715         (gst_registry_remove_plugin, gst_registry_remove_feature)
17716         (gst_registry_find_feature, gst_registry_get_feature_list)
17717         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
17718         (gst_registry_lookup, gst_registry_scan_path)
17719         (_gst_registry_remove_cache_plugins)
17720         (gst_registry_get_feature_list_by_plugin): Add argument
17721         validation.
17722
17723 === release 0.10.2 ===
17724
17725 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
17726
17727         * configure.ac:
17728           releasing 0.10.2, "If man is five"
17729
17730 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
17731
17732         * gst/gstbuffer.c:
17733         * gst/gstbuffer.h:
17734         * libs/gst/base/gstbasetransform.c:
17735         (gst_base_transform_prepare_output_buf):
17736         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17737         * tests/check/gst/gstbuffer.c: (gst_test_suite):
17738           Back out patch until after the release.
17739
17740 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
17741
17742         * gst/gstminiobject.c:
17743           Spelling fix in docs.
17744         * ChangeLog - remove conflict indicator
17745
17746 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
17747
17748         Reviewed By: Andy Wingo
17749
17750         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
17751         (gst_buffer_make_metadata_writable):
17752         * gst/gstbuffer.h:
17753           Add gst_buffer_(is|make)_metadata_writable as analogues of
17754           gst_buffer_(is|make)_writable.
17755
17756         * libs/gst/base/gstbasetransform.c:
17757         (gst_base_transform_prepare_output_buf):
17758         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
17759           Use name gst_buffer_(is|make)_metadata_writable functions.
17760
17761         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17762           Test gst_buffer_(is|make)_metadata_writable
17763         
17764           (Closes: #324162)
17765
17766 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
17767
17768         * docs/manual/Makefile.am:
17769           don't do parallel make
17770         * configure.ac:
17771           AC_SUBST HOST_CPU
17772         * win32/common/config.h.in:
17773           add generations for HOST_CPU and GST_MAJORMINOR
17774         * win32/common/config.h:
17775           commit generated result
17776
17777 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
17778
17779         * docs/manual/appendix-integration.xml:
17780           Update GNOME integration section to use gst_init_get_option_group()
17781           instead of the old popt stuff (#322911). Also, GNOME applications
17782           should  now use gconf*sink and gconf*src instead of the old gconf
17783           helper lib we had.
17784
17785 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
17786
17787
17788         * docs/gst/gstreamer-docs.sgml:
17789         * docs/gst/gstreamer-sections.txt:
17790         * docs/libs/gstreamer-libs-sections.txt:
17791           add new API entries to the docs
17792         * libs/gst/controller/Makefile.am:
17793         * libs/gst/controller/gstcontroller.c:
17794         * libs/gst/controller/gstcontroller.h:
17795         * libs/gst/controller/gstcontrollerprivate.h:
17796         * libs/gst/controller/gsthelper.c:
17797         * libs/gst/controller/gstinterpolation.c:
17798           move private structs to private header
17799         * po/README:
17800           gstreamer-0.7 -> gstreamer-0.10
17801         * tests/check/libs/struct_i386.h:
17802           remove private structs
17803
17804 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17805
17806         * plugins/indexers/Makefile.am:
17807           Fixes as part of #317048
17808
17809 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
17810
17811         * plugins/indexers/Makefile.am:
17812           fix #316086 - compilation when mmap is missing
17813
17814 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
17815
17816         * libs/gst/base/gstbasesink.c:
17817           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
17818           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
17819         * win32/common/config.h:
17820           added some defines GST_MAJORMINOR and HOST_CPU
17821         * win32/common/libgstbase.def:
17822         * win32/common/libgstreamer.def:
17823           added some exported functions.
17824
17825 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
17826
17827         * libs/gst/controller/gstcontroller.c:
17828         (gst_controlled_property_set_interpolation_mode),
17829         (gst_controlled_property_new):
17830         * libs/gst/controller/gstcontroller.h:
17831         * libs/gst/controller/gstinterpolation.c:
17832         (interpolate_none_get_string_value_array):
17833           make G_TYPE_STRING controlable
17834
17835 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
17836
17837         * tools/README:
17838         * tools/gst-feedback.1.in:
17839         * tools/gst-inspect.1.in:
17840         * tools/gst-launch.1.in:
17841         * tools/gst-md5sum.1.in:
17842         * tools/gst-typefind.1.in:
17843         * tools/gst-xmlinspect.1.in:
17844         * tools/gst-xmllaunch.1.in:
17845           cleanup man-pages, remove reference to gst-register, document env-vars
17846
17847 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
17848
17849         * gst/gstbuffer.c: (gst_buffer_span):
17850           gst_buffer_span should copy the timestamp of the first buffer
17851           if they were both originally overlapping subbuffers of the 
17852           same parent, using the same logic as the 'slow copy' case.
17853
17854 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
17855
17856         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
17857           Need to awaken ALL the pads when we pop a buffer, otherwise
17858           collectpads only works when there is 2 input streams.
17859
17860 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
17861
17862         * docs/random/ensonic/media-device-daemon.txt:
17863           more ideas (dbus)
17864         * gst/gstbuffer.c:
17865           fix doc example, add clarification
17866         * tools/gst-launch.1.in:
17867           add initial info about GST_PLUGIN_PATH, needs more work
17868
17869 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
17870
17871         * docs/manual/basics-bins.xml:
17872         * docs/manual/basics-elements.xml:
17873         * docs/manual/intro-basics.xml:
17874           Some more minor docs additions and updates.
17875
17876 2006-01-11  Wim Taymans  <wim@fluendo.com>
17877
17878         * docs/manual/basics-bins.xml:
17879         * docs/manual/basics-elements.xml:
17880         Some small fixes as pointed out by Ser-ver on IRC.
17881
17882 2006-01-10  Edward Hervey  <edward@fluendo.com>
17883
17884         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
17885         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
17886         the single-segment mode.
17887
17888 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
17889
17890         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17891
17892         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
17893         (gst_base_src_perform_seek), (gst_base_src_send_event),
17894         (gst_base_src_set_property), (gst_base_src_get_property),
17895         (gst_base_src_loop), (gst_base_src_start),
17896         (gst_base_src_activate_push):
17897         * libs/gst/base/gstbasesrc.h:
17898           Name (private) union; makes Sun's Forte compiler happy (#324900).
17899
17900 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
17901
17902         * README:
17903           gst-register is gone.
17904
17905 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
17906
17907         * gst/gstvalue.c: (_gst_value_initialize):
17908           make the G_TYPE_DATE instantiation work if debug is disabled
17909
17910 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
17911
17912         * gst/gstmessage.c: (gst_message_parse_tag),
17913         (gst_message_parse_error), (gst_message_parse_warning):
17914           Don't crash when return location for error/warning debug
17915           string is NULL; add fact that return locations can be
17916           NULL to docs where appropriate.
17917
17918 2006-01-05  Wim Taymans  <wim@fluendo.com>
17919
17920         * gst/gstplugin.c: (gst_plugin_load_file):
17921         Replace strdup by g_strdup.
17922
17923 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17924
17925         * docs/pwg/advanced-types.xml:
17926           fix doc borkage
17927
17928 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
17929
17930         submitted by: Abel Cheung
17931
17932         * po/LINGUAS:
17933         * po/zh_TW.po:
17934           Added Chinese (traditional) translation
17935
17936 2006-01-04  Wim Taymans  <wim@fluendo.com>
17937
17938         * docs/manual/basics-pads.xml:
17939         * docs/plugins/Makefile.am:
17940         * docs/plugins/gstreamer-plugins-docs.sgml:
17941         * docs/plugins/gstreamer-plugins-sections.txt:
17942         * docs/pwg/advanced-clock.xml:
17943         * docs/pwg/advanced-scheduling.xml:
17944         * docs/pwg/advanced-types.xml:
17945         * plugins/elements/gstfdsink.c:
17946         * plugins/elements/gstfdsrc.c:
17947         * plugins/elements/gstfdsrc.h:
17948         * plugins/elements/gstidentity.c: (gst_identity_class_init):
17949         * plugins/elements/gstidentity.h:
17950         * plugins/elements/gstqueue.h:
17951         * plugins/elements/gsttee.c:
17952         * plugins/elements/gsttee.h:
17953         * plugins/elements/gsttypefindelement.c:
17954         (gst_type_find_element_class_init):
17955         * plugins/elements/gsttypefindelement.h:
17956         Small updates to various docs.
17957         Added core plugins to docs.
17958
17959 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
17960
17961         * common/gst.supp:
17962           add a suppression for liboil's uninitialized variable
17963
17964 2006-01-02  James Livingston  <jrl at ids dot org dot au>
17965
17966         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
17967
17968         * gst/gstutils.h:
17969           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
17970           macro, so that gcc doesn't complain if the -Wmissing-prototypes
17971           compiler switch is being used (#325429).
17972
17973 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
17974
17975         * gst/gstbin.c: (gst_bin_query):
17976           Disable duration query caching in bins until it gets
17977           fixed (see #324807).
17978
17979 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
17980
17981         * tools/gst-inspect.c: (print_element_properties_info):
17982           Handle properties of POINTER and BOXED type.
17983
17984 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
17985
17986         * gst/gst.c: (init_post):
17987           Init tags stuff and some other things before loading
17988           any static plugins (there may be other static plugins
17989           than just the GStreamer ones, and they may want to
17990           register their own tags or formats or whatever, and
17991           preferably without segfaulting).
17992
17993         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
17994           Print at least a warning in the debug logs if we drop a
17995           query just because we don't know how to adjust the value
17996           in the particular format.
17997
17998 2005-12-24  David Schleef  <ds@schleef.org>
17999
18000         * tools/gstreamer-completion:
18001           Replacement for gst-complete written in sh and sed.  Only
18002           completes names of features, but that's 90% of what I want
18003           it for.  Properties are not available in registry.xml.  (Maybe
18004           they should be...)
18005
18006 === release 0.10.1 ===
18007
18008 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
18009
18010         * configure.ac:
18011           releasing 0.10.1, "Nollaig chridheil"
18012
18013 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
18014
18015         * docs/faq/cvs.xml:
18016           Add missing quote, should be make ERROR_CFLAGS="".
18017
18018 2005-12-20  Wim Taymans  <wim@fluendo.com>
18019
18020         * docs/design/part-trickmodes.txt:
18021         More documentation on trickmodes.
18022
18023 2005-12-20  Edward Hervey  <edward@fluendo.com>
18024
18025         * gst/gstcaps.c: (gst_static_caps_get_type):
18026         * gst/gstcaps.h:
18027           API addition: GST_TYPE_STATIC_CAPS
18028         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
18029         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
18030         * gst/gstpadtemplate.h:
18031           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
18032         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
18033         bindings.
18034
18035 2005-12-18  Wim Taymans  <wim@fluendo.com>
18036
18037         * libs/gst/base/gstadapter.c:
18038         * libs/gst/base/gstadapter.h:
18039         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
18040         (gst_base_sink_get_position):
18041         * libs/gst/base/gstbasesink.h:
18042         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18043         (gst_base_src_default_query), (gst_base_src_default_do_seek),
18044         (gst_base_src_do_seek), (gst_base_src_perform_seek),
18045         (gst_base_src_send_event), (gst_base_src_update_length),
18046         (gst_base_src_get_range), (gst_base_src_loop),
18047         (gst_base_src_start):
18048         * libs/gst/base/gstbasesrc.h:
18049         * libs/gst/base/gstbasetransform.h:
18050         * libs/gst/base/gstcollectpads.h:
18051         * libs/gst/base/gstpushsrc.c:
18052         * libs/gst/base/gstpushsrc.h:
18053         * libs/gst/dataprotocol/dataprotocol.c:
18054         * libs/gst/dataprotocol/dataprotocol.h:
18055         * libs/gst/net/gstnetclientclock.h:
18056         * libs/gst/net/gstnettimeprovider.h:
18057         Documentation updates.
18058
18059 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
18060
18061         * docs/manual/basics-helloworld.xml:
18062           Remove superfluous closing bracket in helloworld example.
18063
18064 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
18065
18066         * tools/gst-launch.1.in:
18067           Update gst-launch man page; add a section with useful
18068           environment variables. Fixes #323882.
18069
18070 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
18071
18072         * gst/gst.c:
18073         * gst/gst_private.h:
18074           change some char* into char[]
18075
18076 2005-12-16  Wim Taymans  <wim@fluendo.com>
18077
18078         * gst/gstregistryxml.c: (load_feature):
18079         Cleanups.
18080         Don't use g_object_unref on GstObjects so that we avoid
18081         leaks on unsafe glibs.
18082
18083 2005-12-16  Wim Taymans  <wim@fluendo.com>
18084
18085         * gst/gstbin.c: (gst_bin_recalc_state):
18086         Small doc updates.
18087
18088 2005-12-16  Wim Taymans  <wim@fluendo.com>
18089
18090         * common/check.mak:
18091         Added make forever target for check.
18092
18093 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
18094
18095         * gst/gst.c: (init_post):
18096           make the registry cache file HOST_CPU-dependent
18097
18098 2005-12-16  Andy Wingo  <wingo@pobox.com>
18099
18100         * plugins/elements/gstbufferstore.c
18101         (gst_buffer_store_cleared_func): Pay attention to g_list_append
18102         return value.
18103
18104         * tests/check/gst/gstobject.c
18105         (test_fake_object_name_threaded_unique): Pay attention to
18106         g_list_sort return value.
18107
18108 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
18109
18110         * tools/gst-feedback-m.m:
18111           Update for 0.9/0.10 (fixes #323870).
18112
18113 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
18114
18115         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
18116           Fix lcopy for mini objects, the mini object needs to be ref'ed.
18117           
18118         * tests/check/gst/gstminiobject.c: (my_foo_init),
18119         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
18120         (test_value_collection), (gst_mini_object_suite):
18121           Add test to ensure refcounts end up as expected when passing
18122           GstMiniObjects through g_object_get() and g_object_set().
18123
18124 2005-12-14  Julien MOUTTE  <julien@moutte.net>
18125
18126         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
18127         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
18128         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
18129         of collectpads. This version removes a lot of races without
18130         touching API/ABI. Yay !
18131
18132 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
18133
18134         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
18135           Don't allow activation of a srcpad in pull_range if it has no
18136           getrange function.
18137           Change some debug statements to be a little clearer
18138
18139         * plugins/elements/gsttypefindelement.c:
18140         (gst_type_find_handle_src_query):
18141           Check that we have a peer before executing queries thereupon.
18142
18143         * tests/examples/metadata/read-metadata.c: (message_loop):
18144           Use gst_bus_pop instead of gst_bus_poll when we just want it to
18145           immediately return us any available message with 0 timeout.
18146
18147 2005-12-12  Michael Smith  <msmith@fluendo.com>
18148
18149         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
18150           Don't unref factories after calling them.
18151         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
18152         * plugins/elements/gsttypefindelement.c:
18153         (gst_type_find_element_chain):
18154           Free lists of factories after using them. Fixing typefinding memory
18155           leaks.
18156
18157 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18158
18159         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
18160         (gst_plugin_feature_load):
18161           more meaningful debug output
18162         * configure.ac:
18163         * tests/Makefile.am:
18164         * tests/old/examples/Makefile.am:
18165           make make distcheck happy again
18166
18167 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18168
18169         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
18170           Catch the special case where we are operating chain-based,
18171           but the downstream peer pad has no chain function. Emit a
18172           custom error message in this case instead of letting the
18173           core generate one implying that this is some sort of core
18174           bug. It's not, it just means that whatever got plugged
18175           into the pipeline downstream when we announced the type
18176           can only operate pull-based, while our source can only
18177           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
18178           Error string has not been marked for translation yet, as
18179           it probably needs some more work first.
18180
18181         (gst_type_find_element_get_best_possibility):
18182           Add helper function to find the best of all available
18183           found possibilities that qualify given the min. threshold.
18184
18185         (gst_type_find_element_handle_event):
18186           Fix the case where we get an EOS while still in TYPEFIND
18187           mode (we want to chose the best of all possible types,
18188           not just the first type that happens to be in our unsorted
18189           list of possible types).
18190
18191         (gst_type_find_element_chain):
18192           Make sure we return GST_FLOW_ERROR when we errored out
18193           in stop_typefinding(); also, don't just find the best of
18194           all found type entries and then use the last examined
18195           type entry, but actually use the best entry.
18196
18197 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
18198
18199         * tests/examples/typefind/typefind.c: (type_found):
18200         * tests/examples/xml/runxml.c: (xml_loaded):
18201           More gcc4 fixes and a mem leak fix.
18202
18203 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18204
18205         * tests/examples/xml/createxml.c: (object_saved):
18206           gcc 4 fixes
18207
18208 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18209
18210         * tests/Makefile.am:
18211           enable the examples even more
18212
18213 2005-12-12  Andy Wingo  <wingo@pobox.com>
18214
18215         * libs/gst/net/gstnettimeprovider.c
18216         (gst_net_time_provider_class_init, gst_net_time_provider_init)
18217         (gst_net_time_provider_set_property)
18218         (gst_net_time_provider_get_property):
18219         API addition: Export "active" as a GObject property.
18220         (gst_net_time_provider_thread): Only respond to time queries if
18221         the time provider is active.
18222
18223         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
18224         NetTimeProvider, preserving binary compat.
18225
18226 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18227
18228         * tests/examples/controller/audio-example.c: (main):
18229         * tests/examples/launch/Makefile.am:
18230           convert comments again
18231
18232 2005-12-12  Wim Taymans  <wim@fluendo.com>
18233
18234         * libs/gst/base/gstpushsrc.c:
18235         Fix typo.
18236
18237 2005-12-12  Wim Taymans  <wim@fluendo.com>
18238
18239         * docs/libs/gstreamer-libs-sections.txt:
18240         Added new symbol to docs.
18241
18242         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
18243         (gst_base_src_init), (gst_base_src_set_format),
18244         (gst_base_src_default_query), (gst_base_src_query),
18245         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
18246         (gst_base_src_perform_seek), (gst_base_src_send_event),
18247         (gst_base_src_default_event), (gst_base_src_event_handler),
18248         (gst_base_src_set_property), (gst_base_src_get_property),
18249         (gst_base_src_wait), (gst_base_src_do_sync),
18250         (gst_base_src_update_length), (gst_base_src_get_range),
18251         (gst_base_src_check_get_range), (gst_base_src_loop),
18252         (gst_base_src_default_negotiate), (gst_base_src_start),
18253         (gst_base_src_activate_push), (gst_base_src_activate_pull),
18254         (gst_base_src_change_state):
18255         * libs/gst/base/gstbasesrc.h:
18256         Implement seeking to other formats than _BYTES.
18257         Implement more seeking methods correctly.
18258         Doc updates.
18259         Added query vmethod.
18260         Added do_seek vmethod to make life easier for subclasses
18261         when seeking.
18262         API addition: gst_base_src_set_format()
18263
18264 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18265
18266         * tests/examples/Makefile.am:
18267           added that too
18268
18269 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
18270
18271         * configure.ac:
18272         * docs/random/ensonic/media-device-daemon.txt:
18273         * tests/examples/controller/.cvsignore:
18274         * tests/examples/controller/Makefile.am:
18275         * tests/examples/controller/audio-example.c: (main):
18276         * tests/examples/helloworld/.cvsignore:
18277         * tests/examples/helloworld/Makefile.am:
18278         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
18279         * tests/examples/launch/.cvsignore:
18280         * tests/examples/launch/Makefile.am:
18281         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
18282         * tests/examples/metadata/.cvsignore:
18283         * tests/examples/metadata/Makefile.am:
18284         * tests/examples/metadata/read-metadata.c: (message_loop),
18285         (make_pipeline), (print_tag), (main):
18286         * tests/examples/queue/.cvsignore:
18287         * tests/examples/queue/Makefile.am:
18288         * tests/examples/queue/queue.c: (event_loop), (main):
18289         * tests/examples/typefind/.cvsignore:
18290         * tests/examples/typefind/Makefile.am:
18291         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
18292         (main):
18293         * tests/examples/xml/.cvsignore:
18294         * tests/examples/xml/Makefile.am:
18295         * tests/examples/xml/createxml.c: (object_saved), (main):
18296         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
18297         * tests/old/examples/Makefile.am:
18298         * tests/old/examples/TODO:
18299         * tests/old/examples/controller/.cvsignore:
18300         * tests/old/examples/controller/Makefile.am:
18301         * tests/old/examples/controller/audio-example.c:
18302         * tests/old/examples/helloworld/.cvsignore:
18303         * tests/old/examples/helloworld/Makefile.am:
18304         * tests/old/examples/helloworld/helloworld.c:
18305         * tests/old/examples/launch/.cvsignore:
18306         * tests/old/examples/launch/Makefile.am:
18307         * tests/old/examples/launch/mp3parselaunch.c:
18308         * tests/old/examples/launch/mp3play:
18309         * tests/old/examples/manual/Makefile.am:
18310         * tests/old/examples/metadata/Makefile.am:
18311         * tests/old/examples/metadata/read-metadata.c:
18312         * tests/old/examples/queue/.cvsignore:
18313         * tests/old/examples/queue/Makefile.am:
18314         * tests/old/examples/queue/queue.c:
18315         * tests/old/examples/typefind/.cvsignore:
18316         * tests/old/examples/typefind/Makefile.am:
18317         * tests/old/examples/typefind/typefind.c:
18318         * tests/old/examples/xml/.cvsignore:
18319         * tests/old/examples/xml/Makefile.am:
18320         * tests/old/examples/xml/createxml.c:
18321         * tests/old/examples/xml/runxml.c:
18322           applied some simple fixing to some examples
18323           re-enabled the working examples
18324
18325 2005-12-12  Wim Taymans  <wim@fluendo.com>
18326
18327         * gst/gstsegment.c: (gst_segment_init),
18328         (gst_segment_set_last_stop), (gst_segment_set_seek),
18329         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
18330         (gst_segment_to_running_time):
18331         Added more documentation.
18332         Make sure the last_pos value is updated properly.
18333         Make sure to_stream_time and to_running_time don't
18334         operate on wrong values.
18335
18336         * tests/check/gst/gstsegment.c: (GST_START_TEST):
18337         Update check.
18338
18339 2005-12-12  Michael Smith  <msmith@fluendo.com>
18340
18341         * plugins/elements/gsttypefindelement.c: (free_entry),
18342         (gst_type_find_element_chain):
18343           Now that we're not leaking factories, make sure we keep references
18344           to them while we need them.
18345
18346 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18347
18348         * tests/check/gst/struct_i386.h:
18349           ifdef out the XML structs
18350
18351 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
18352
18353         * gst/gstvalue.c: (gst_value_transform_double_fraction):
18354           floor is not needed, F is always positive; this obviates the
18355           need for adding -lm when building without libxml
18356
18357 2005-12-12  Wim Taymans  <wim@fluendo.com>
18358
18359         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18360         Take current playback rate into account when reporting
18361         the position.
18362
18363 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18364
18365         * docs/manual/mime-world.fig:
18366           Let's try this again, this time with a file that is
18367           actually in XFig format.
18368
18369 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18370
18371         * docs/manual/mime-world.fig:
18372           Add audioconvert element to diagram so that it
18373           matches the text and the code (fixes #319526).
18374
18375 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18376
18377         * docs/pwg/building-chainfn.xml:
18378         * docs/pwg/building-pads.xml:
18379         * docs/pwg/building-state.xml:
18380         * docs/pwg/other-source.xml:
18381           Update state change stuff for 0.10 (fixes #322969).
18382
18383 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18384
18385         * docs/manual/advanced-dataaccess.xml:
18386         * docs/manual/appendix-checklist.xml:
18387         * docs/manual/appendix-programs.xml:
18388         * docs/manual/basics-pads.xml:
18389         * docs/manual/highlevel-components.xml:
18390         * docs/manual/manual.xml:
18391           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
18392           add converters in front of pipelines; remove curly
18393           brackets for threads stuff, they no longer exist; use
18394           GST_TYPE_FRACTION for framerates; update some pieces of
18395           code to 0.10, but there's plenty more to do.
18396
18397         * docs/manual/appendix-porting.xml:
18398           Expand on asynchroneous state changes; s/0.9/0.10/;
18399           mention disappearance of gst_init_get_popt_table()
18400           (fixes #322916).
18401
18402 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
18403
18404         * docs/faq/using.xml:
18405           Spider no longer exists, and neither does gst-launch-ext.
18406           Update examples to use decodebin and playbin and put
18407           converters in front of sinks (fixes #323726).
18408
18409 2005-12-09  Michael Smith  <msmith@fluendo.com>
18410
18411         * plugins/elements/gsttypefindelement.c: (find_peek),
18412         (gst_type_find_element_chain):
18413           Fix leaking element factories in typefinding.
18414           Fix problem where we forgot about a probable type on non-seekable
18415           files, and thus later mis-typefound it.
18416
18417 2005-12-09  Michael Smith  <msmith@fluendo.com>
18418
18419         * common/m4/gst-makecontext.m4:
18420         * common/m4/gst-mcsc.m4:
18421         * configure.ac:
18422         * win32/common/config.h:
18423         * win32/common/config.h.in:
18424           Remove makecontext stuff; not used in 0.10 and causes problems on
18425           HPUX according to bug #322441
18426
18427 2005-12-07  Wim Taymans  <wim@fluendo.com>
18428
18429         * tests/check/Makefile.am:
18430         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
18431         (main):
18432         * tests/check/libs/struct_i386.h:
18433         Added ABI check for libs
18434
18435 2005-12-07  Wim Taymans  <wim@fluendo.com>
18436
18437         * tests/check/Makefile.am:
18438         And add the struct_i386.h to dist.
18439
18440 2005-12-07  Wim Taymans  <wim@fluendo.com>
18441
18442         * tests/check/Makefile.am:
18443         * tests/check/gst/.cvsignore:
18444         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
18445         (main):
18446         * tests/check/gst/struct_i386.h:
18447         Added check for ABI compatibility.
18448
18449 2005-12-07  Wim Taymans  <wim@fluendo.com>
18450
18451         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18452         (gst_fake_src_get_times), (gst_fake_src_create):
18453         Fix broken sync option, fixes #323259
18454
18455 2005-12-07  Wim Taymans  <wim@fluendo.com>
18456
18457         * gst/gstbuffer.c:
18458         Small docs update.
18459
18460         * gst/gstcaps.c: (gst_caps_is_equal):
18461         Don't assert on NULL <--> X. Fixes #323260
18462
18463         * gst/gstminiobject.c: (gst_mini_object_replace):
18464         If we're doing atomic operations, we might just as well use
18465         the proper way to get an atomic pointer.
18466
18467         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
18468         Clean up debugging.
18469
18470 2005-12-07  Michael Smith  <msmith@fluendo.com>
18471
18472         * gst/parse/grammar.y:
18473           Remove handling of { } for threads.
18474
18475 2005-12-06  David Schleef  <ds@schleef.org>
18476
18477         * libs/gst/base/gstbasetransform.c: speling fix.
18478
18479 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
18480
18481         * docs/libs/tmpl/gstdataprotocol.sgml:
18482         * docs/random/omega/testing/gstobject.c:
18483         * gst/gst.c:
18484         * gst/gstclock.c:
18485         * gst/gstelement.c:
18486         * gst/gstelementfactory.c:
18487         * gst/gsterror.c:
18488         * gst/gstevent.c:
18489         * gst/gstghostpad.c:
18490         * gst/gstinfo.c:
18491         * gst/gstpadtemplate.c:
18492         * gst/gstregistryxml.c:
18493         * gst/gsttaglist.c:
18494         * gst/gsttagsetter.c:
18495         * gst/gsttypefind.c:
18496         * gst/gstvalue.c:
18497         * libs/gst/base/gstbasesrc.c:
18498         * libs/gst/net/gstnetclientclock.c:
18499         * libs/gst/net/gstnettimeprovider.c:
18500         * plugins/elements/gstfakesrc.c:
18501         * plugins/elements/gstfdsrc.c:
18502         * plugins/elements/gstfilesrc.c:
18503         * plugins/elements/gstidentity.c:
18504         * plugins/elements/gstqueue.c:
18505         * plugins/elements/gsttypefindelement.c:
18506         * plugins/indexers/gstfileindex.c:
18507         * plugins/indexers/gstmemindex.c:
18508         * tests/check/gst/gsttag.c:
18509         * tests/old/examples/cutter/cutter.c:
18510         * tests/old/examples/mixer/mixer.c:
18511         * tests/old/examples/xml/runxml.c: (main):
18512         * tests/old/testsuite/caps/normalisation.c:
18513         * tests/old/testsuite/debug/global.c:
18514         * tests/old/testsuite/parse/parse1.c:
18515         * tools/gst-xmlinspect.c:
18516         * win32/common/dirent.c:
18517           expand tabs
18518
18519 === release 0.10.0 ===
18520
18521 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18522
18523         * configure.ac:
18524           releasing 0.10.0, "Maroilles"
18525
18526 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18527
18528         submitted by: Funda Wang <fundawang@linux.net.cn>
18529
18530         * po/LINGUAS:
18531         * po/zh_CN.po:
18532           added Chinese (Traditional) translation
18533
18534 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18535
18536         * docs/gst/gstreamer-sections.txt:
18537         * docs/libs/tmpl/gstdataprotocol.sgml:
18538         * docs/random/thomasvs/TODO:
18539         * gst/gstutils.c:
18540         * gst/gstutils.h:
18541           fix docs
18542
18543 2005-12-05  Andy Wingo  <wingo@pobox.com>
18544
18545         patch by: Wim Taymans <wim@fluendo.com>
18546
18547         * libs/gst/base/gstbasetransform.c
18548         (gst_base_transform_prepare_output_buf)
18549         (gst_base_transform_buffer_alloc):
18550         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
18551         alloc_buffer_and_set_caps.
18552
18553         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
18554         set_caps on the source pad.
18555         (gst_pad_alloc_buffer_and_set_caps): New function, does what
18556         alloc_buffer used to do. Fixes #322874.
18557
18558         * docs/gst/gstreamer-sections.txt: 
18559         * docs/design/part-negotiation.txt: 
18560         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
18561         changes.
18562
18563 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18564
18565         patch by: Sebastien Moutte
18566
18567         * win32/MANIFEST:
18568         * win32/common/config.h.in:
18569         * win32/vs6/libgstcontroller.dsp:
18570           win32 build fixes
18571
18572 2005-12-05  Wim Taymans  <wim@fluendo.com>
18573
18574         * gst/gstcaps.c: (gst_caps_is_equal):
18575         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18576         (gst_fake_src_create):
18577         Back out previous code changes, leave doc updates, file bugs 
18578         instead. 
18579
18580 2005-12-05  Wim Taymans  <wim@fluendo.com>
18581
18582         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
18583         (gst_fake_src_get_times), (gst_fake_src_create):
18584         * plugins/elements/gstfakesrc.h:
18585         Fix broken sync code.
18586
18587 2005-12-05  Wim Taymans  <wim@fluendo.com>
18588
18589         * gst/gstcaps.c: (gst_caps_is_equal):
18590         Comparing NULL against !NULL yields different caps, not a
18591         failure.
18592
18593 2005-12-05  Wim Taymans  <wim@fluendo.com>
18594
18595         * gst/gstpipeline.c:
18596         Fix small typo in docs.
18597
18598 2005-12-05  Andy Wingo  <wingo@pobox.com>
18599
18600         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
18601
18602         * gst/gst.c (init_post): remove hard-coded 0.9 location for
18603         registries/plugins with a MAJORMINOR one.
18604         (plugin_desc): Rename library from gstcoreleements to
18605         staticelements. Fixes #323222.
18606
18607 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
18608
18609         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
18610           Change debug category to 'collectpads' from 'collect_pads'
18611           (fixes #323250).
18612
18613 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
18614
18615         patch by: Sebastien Moutte
18616
18617         * libs/gst/controller/gstinterpolation.c:
18618           use convert function for uint64/double
18619         * win32/vs6/libgstcontroller.dsp:
18620           link to GLib
18621
18622 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
18623
18624         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
18625         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
18626         * gst/gstutils.h:
18627         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
18628           add tests that seem to show that the guint64/gdouble conversions
18629           are correct.
18630
18631 2005-12-02  Wim Taymans  <wim@fluendo.com>
18632
18633         * gst/gstregistry.c: (gst_registry_add_path):
18634         * gst/gstregistry.h:
18635         * gst/gstregistryxml.c:
18636         Fix docs again.
18637
18638 2005-12-02  Wim Taymans  <wim@fluendo.com>
18639
18640         * gst/gstutils.c: (gst_util_uint64_scale_int64),
18641         (gst_util_uint64_scale_int):
18642         Small cleanup.
18643
18644         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18645         Add debug log line.
18646
18647         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
18648         Add FIXME.
18649
18650 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18651
18652         * win32/MANIFEST:
18653         * win32/common/config.h:
18654         * win32/vs6/gstreamer.dsw:
18655         * win32/vs6/libgstcoreelements.dsp:
18656         * win32/vs6/libgstelements.dsp:
18657           renamed core elements plugin
18658
18659 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
18660
18661         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
18662         (get_candidates):
18663           do piece-wise major/minor comparison so 0.9 < 0.10
18664           also allow .exe extensions for tools
18665
18666 2005-12-02  Michael Smith  <msmith@fluendo.com>
18667
18668         * gst/gst.c:
18669           Escape a % to make gtkdoc happier; bug 322958.
18670
18671 === release 0.9.7 ===
18672
18673 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
18674
18675         * configure.ac:
18676           releasing 0.9.7, "My Dog Has No Nose"
18677
18678 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18679
18680         * common/gst-xmlinspect.py:
18681         * configure.ac:
18682         * docs/libs/tmpl/gstdataprotocol.sgml:
18683         * docs/random/release:
18684         * po/af.po:
18685         * po/az.po:
18686         * po/bg.po:
18687         * po/ca.po:
18688         * po/cs.po:
18689         * po/de.po:
18690         * po/en_GB.po:
18691         * po/fr.po:
18692         * po/it.po:
18693         * po/nb.po:
18694         * po/nl.po:
18695         * po/ru.po:
18696         * po/sq.po:
18697         * po/sr.po:
18698         * po/sv.po:
18699         * po/tr.po:
18700         * po/uk.po:
18701         * po/vi.po:
18702         * win32/common/config.h:
18703         * win32/common/config.h.in:
18704         * win32/vs6/gst_inspect.dsp:
18705         * win32/vs6/gst_launch.dsp:
18706         * win32/vs6/libgstbase.dsp:
18707         * win32/vs6/libgstelements.dsp:
18708         * win32/vs6/libgstreamer.dsp:
18709         * win32/vs7/GStreamer.vcproj:
18710         * win32/vs7/gst-inspect.vcproj:
18711         * win32/vs7/gst-launch.vcproj:
18712         * win32/vs7/libgstbase.vcproj:
18713           bump GST_MAJORMINOR to 0.10
18714           reset libtool version
18715
18716 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18717
18718         * po/LINGUAS:
18719         * po/bg.po:
18720           Added Bulgarian translation by (Alexander Shopov)
18721
18722 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18723
18724         * tests/check/gst/gstplugin.c:
18725           fix test
18726
18727 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18728
18729         * common/gst-xmlinspect.py:
18730         * common/gtk-doc-plugins.mak:
18731         * configure.ac:
18732         * docs/Makefile.am:
18733         * docs/gst/Makefile.am:
18734         * docs/gst/gstreamer-docs.sgml:
18735         * docs/gst/gstreamer-sections.txt:
18736         * docs/gst/gstreamer.types:
18737         * docs/gst/gstreamer.types.in:
18738         * docs/plugins/Makefile.am:
18739         * docs/plugins/gstreamer-plugins-docs.sgml:
18740         * docs/plugins/gstreamer-plugins-sections.txt:
18741         * docs/plugins/gstreamer-plugins.types:
18742         * docs/plugins/inspect.stamp:
18743         * docs/plugins/inspect/plugin-coreelements.xml:
18744         * docs/plugins/inspect/plugin-coreindexers.xml:
18745         * docs/plugins/scanobj-build.stamp:
18746         * gstreamer.spec.in:
18747         * plugins/elements/Makefile.am:
18748         * plugins/elements/gstelements.c:
18749         * plugins/elements/gstfakesink.c:
18750         * plugins/elements/gstfakesrc.c:
18751         * plugins/elements/gstfilesink.c:
18752         * plugins/elements/gstfilesrc.c:
18753         * plugins/elements/gstqueue.c:
18754         * plugins/indexers/Makefile.am:
18755         * plugins/indexers/gstindexers.c:
18756           document core plugins in a separate document just like all the
18757           others
18758           rename these plugins to something starting with core
18759
18760 2005-12-01  Andy Wingo  <wingo@pobox.com>
18761
18762         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
18763         padding here before, but it missed the commit.
18764
18765 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
18766
18767         * libs/gst/controller/gstinterpolation.c:
18768           whitespace prices have crashed, we should feel free to use some now
18769           use gst_guint64_to_gdouble
18770
18771 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
18772
18773         * libs/gst/controller/gstcontroller.c:
18774         * libs/gst/controller/gsthelper.c:
18775         * libs/gst/controller/gstinterpolation.c:
18776         * libs/gst/controller/lib.c:
18777           wrap config.h include
18778
18779 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
18780
18781         * docs/gst/gstreamer-sections.txt:
18782           update docs
18783
18784 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
18785
18786         * plugins/elements/gstelements.c:
18787         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
18788         (gst_fd_sink__class_init), (gst_fd_sink__init),
18789         (gst_fd_sink__chain), (gst_fd_sink__set_property),
18790         (gst_fd_sink__get_property):
18791         * plugins/elements/gstfdsink.h:
18792         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
18793         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
18794         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
18795         (gst_fd_src_unlock), (gst_fd_src_set_property),
18796         (gst_fd_src_get_property), (gst_fd_src_create),
18797         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
18798         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
18799         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
18800         (gst_fd_src_uri_handler_init):
18801         * plugins/elements/gstfdsrc.h:
18802         * plugins/elements/gstqueue.c: (gst_queue_get_type):
18803           more anal cleanup
18804
18805 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
18806
18807         * docs/gst/Makefile.am:
18808         * docs/gst/gstreamer.types.in:
18809         * gst/Makefile.am:
18810           fix the docs build
18811
18812 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18813
18814         * configure.ac:
18815         * gst/Makefile.am:
18816         * gst/gst.c:
18817         * gst/gstplugin.h:
18818         * gst/gstregistry.h:
18819         * tests/benchmarks/complexity.c:
18820         * tests/benchmarks/mass-elements.c:
18821         * tests/check/Makefile.am:
18822         * tools/Makefile.am:
18823         * tools/gst-inspect.c:
18824         * tools/gst-xmlinspect.c:
18825           various fixes to make
18826           --disable-nls --disable-registry --disable-loadsave
18827           --disable-parse --disable-gst-debug
18828           work and get the core .so down to 360444 bytes after stripping
18829
18830 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18831
18832         * Makefile.am:
18833         * configure.ac:
18834           descend into tests
18835         * docs/random/thomasvs/TODO:
18836         * tests/Makefile.am:
18837         * tests/README:
18838           add a README
18839
18840 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18841
18842         * win32/GStreamer.vcproj:
18843         * win32/MANIFEST:
18844         * win32/Makefile:
18845         * win32/Makefile.inspect:
18846         * win32/Makefile.launch:
18847         * win32/Makefile.register:
18848         * win32/README.txt:
18849         * win32/gst-inspect.vcproj:
18850         * win32/gst-launch.vcproj:
18851         * win32/gst-register.vcproj:
18852         * win32/gstelements.vcproj:
18853         * win32/gstgetbits.def:
18854         * win32/gstgetbits.vcproj:
18855         * win32/gstreamer-dbg.def:
18856         * win32/gstreamer.def:
18857         * win32/libgstbase.def:
18858         * win32/libgstbase.vcproj:
18859         * win32/link_oldruntime.c:
18860         * win32/mman.c:
18861         * win32/mman.h:
18862         * win32/mman.inl:
18863         * win32/msvc71.sln:
18864           move even more stuff, win32/ is nice and clean now
18865
18866 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18867
18868         * libs/gst/control/.cvsignore:
18869         * win32/MANIFEST:
18870         * win32/config.h:
18871         * win32/dirent.c:
18872         * win32/dirent.h:
18873         * win32/gstbytestream.def:
18874         * win32/gstbytestream.vcproj:
18875         * win32/gstconfig.h:
18876         * win32/gstenumtypes.c:
18877         * win32/gstenumtypes.h:
18878         * win32/gstoptimalscheduler.vcproj:
18879         * win32/gstversion.h:
18880         * win32/gtchar.h:
18881         * win32/testsuite/bins.vcproj:
18882         * win32/testsuite/bytestream.vcproj:
18883         * win32/testsuite/caps.vcproj:
18884         * win32/testsuite/cleanup.vcproj:
18885         * win32/testsuite/clock.vcproj:
18886         * win32/testsuite/debug.vcproj:
18887         * win32/testsuite/dlopen.vcproj:
18888         * win32/testsuite/dynparams.vcproj:
18889         * win32/testsuite/elements.vcproj:
18890         * win32/testsuite/ghostpads.vcproj:
18891         * win32/testsuite/indexers.vcproj:
18892         * win32/testsuite/negotiation.vcproj:
18893         * win32/testsuite/parse.vcproj:
18894         * win32/testsuite/plugin.vcproj:
18895         * win32/testsuite/refcounting.vcproj:
18896         * win32/testsuite/schedulers.vcproj:
18897         * win32/testsuite/states.vcproj:
18898         * win32/testsuite/tags.vcproj:
18899         * win32/testsuite/threads.vcproj:
18900           remove old win32 stuff that isn't maintained and should be
18901           reorganized
18902
18903 2005-11-30  Andy Wingo  <wingo@pobox.com>
18904
18905         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
18906         loading the gst.interfaces python module bork.
18907
18908         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
18909         available since GLib 2.2. Fixes #318031.
18910
18911 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
18912
18913         * Makefile.am:
18914         * check/.cvsignore:
18915         * check/Makefile.am:
18916         * check/elements/.cvsignore:
18917         * check/elements/fakesrc.c:
18918         * check/elements/fdsrc.c:
18919         * check/elements/identity.c:
18920         * check/generic/.cvsignore:
18921         * check/generic/states.c:
18922         * check/gst-libs/.cvsignore:
18923         * check/gst-libs/controller.c:
18924         * check/gst-libs/gdp.c:
18925         * check/gst/.cvsignore:
18926         * check/gst/capslist.h:
18927         * check/gst/gst.c:
18928         * check/gst/gstbin.c:
18929         * check/gst/gstbuffer.c:
18930         * check/gst/gstbus.c:
18931         * check/gst/gstcaps.c:
18932         * check/gst/gstelement.c:
18933         * check/gst/gstevent.c:
18934         * check/gst/gstghostpad.c:
18935         * check/gst/gstiterator.c:
18936         * check/gst/gstmessage.c:
18937         * check/gst/gstminiobject.c:
18938         * check/gst/gstobject.c:
18939         * check/gst/gstpad.c:
18940         * check/gst/gstpipeline.c:
18941         * check/gst/gstplugin.c:
18942         * check/gst/gstsegment.c:
18943         * check/gst/gststructure.c:
18944         * check/gst/gstsystemclock.c:
18945         * check/gst/gsttag.c:
18946         * check/gst/gstutils.c:
18947         * check/gst/gstvalue.c:
18948         * check/net/.cvsignore:
18949         * check/net/gstnetclientclock.c:
18950         * check/net/gstnettimeprovider.c:
18951         * check/pipelines/.cvsignore:
18952         * check/pipelines/cleanup.c:
18953         * check/pipelines/simple_launch_lines.c:
18954         * check/pipelines/stress.c:
18955         * check/states/.cvsignore:
18956         * check/states/sinks.c:
18957         * configure.ac:
18958         * examples/Makefile.am:
18959         * examples/appreader/.cvsignore:
18960         * examples/appreader/Makefile.am:
18961         * examples/appreader/appreader.c:
18962         * examples/controller/.cvsignore:
18963         * examples/controller/Makefile.am:
18964         * examples/controller/audio-example.c:
18965         * examples/cutter/.cvsignore:
18966         * examples/cutter/Makefile.am:
18967         * examples/cutter/cutter.c:
18968         * examples/cutter/cutter.h:
18969         * examples/events/Makefile.am:
18970         * examples/events/seek.c:
18971         * examples/helloworld/.cvsignore:
18972         * examples/helloworld/Makefile.am:
18973         * examples/helloworld/helloworld.c:
18974         * examples/helloworld2/.cvsignore:
18975         * examples/helloworld2/Makefile.am:
18976         * examples/helloworld2/helloworld2.c:
18977         * examples/launch/.cvsignore:
18978         * examples/launch/Makefile.am:
18979         * examples/launch/mp3parselaunch.c:
18980         * examples/launch/mp3play:
18981         * examples/manual/.cvsignore:
18982         * examples/manual/Makefile.am:
18983         * examples/manual/extract.pl:
18984         * examples/metadata/Makefile.am:
18985         * examples/metadata/read-metadata.c:
18986         * examples/mixer/.cvsignore:
18987         * examples/mixer/Makefile.am:
18988         * examples/mixer/mixer.c:
18989         * examples/mixer/mixer.h:
18990         * examples/pingpong/.cvsignore:
18991         * examples/pingpong/Makefile.am:
18992         * examples/pingpong/pingpong.c:
18993         * examples/plugins/.cvsignore:
18994         * examples/plugins/Makefile.am:
18995         * examples/plugins/example.c:
18996         * examples/plugins/example.h:
18997         * examples/pwg/.cvsignore:
18998         * examples/pwg/Makefile.am:
18999         * examples/pwg/extract.pl:
19000         * examples/queue/.cvsignore:
19001         * examples/queue/Makefile.am:
19002         * examples/queue/queue.c:
19003         * examples/queue2/.cvsignore:
19004         * examples/queue2/Makefile.am:
19005         * examples/queue2/queue2.c:
19006         * examples/queue3/.cvsignore:
19007         * examples/queue3/Makefile.am:
19008         * examples/queue3/queue3.c:
19009         * examples/queue4/.cvsignore:
19010         * examples/queue4/Makefile.am:
19011         * examples/queue4/queue4.c:
19012         * examples/retag/.cvsignore:
19013         * examples/retag/Makefile.am:
19014         * examples/retag/retag.c:
19015         * examples/retag/transcode.c:
19016         * examples/thread/.cvsignore:
19017         * examples/thread/Makefile.am:
19018         * examples/thread/thread.c:
19019         * examples/typefind/.cvsignore:
19020         * examples/typefind/Makefile.am:
19021         * examples/typefind/typefind.c:
19022         * examples/xml/.cvsignore:
19023         * examples/xml/Makefile.am:
19024         * examples/xml/createxml.c:
19025         * examples/xml/runxml.c:
19026         * tests/Makefile.am:
19027         * tests/check/Makefile.am:
19028         * testsuite/.cvsignore:
19029         * testsuite/Makefile.am:
19030         * testsuite/Rules:
19031         * testsuite/caps/.cvsignore:
19032         * testsuite/caps/Makefile.am:
19033         * testsuite/caps/app_fixate.c:
19034         * testsuite/caps/audioscale.c:
19035         * testsuite/caps/caps.c:
19036         * testsuite/caps/caps.h:
19037         * testsuite/caps/caps_strings:
19038         * testsuite/caps/compatibility.c:
19039         * testsuite/caps/deserialize.c:
19040         * testsuite/caps/enumcaps.c:
19041         * testsuite/caps/eratosthenes.c:
19042         * testsuite/caps/filtercaps.c:
19043         * testsuite/caps/fixed.c:
19044         * testsuite/caps/fraction-convert.c:
19045         * testsuite/caps/fraction-multiply-and-zero.c:
19046         * testsuite/caps/intersect2.c:
19047         * testsuite/caps/intersection.c:
19048         * testsuite/caps/normalisation.c:
19049         * testsuite/caps/random.c:
19050         * testsuite/caps/renegotiate.c:
19051         * testsuite/caps/sets.c:
19052         * testsuite/caps/simplify.c:
19053         * testsuite/caps/string-conversions.c:
19054         * testsuite/caps/structure.c:
19055         * testsuite/caps/subtract.c:
19056         * testsuite/caps/union.c:
19057         * testsuite/debug/.cvsignore:
19058         * testsuite/debug/Makefile.am:
19059         * testsuite/debug/category.c:
19060         * testsuite/debug/commandline.c:
19061         * testsuite/debug/global.c:
19062         * testsuite/debug/output.c:
19063         * testsuite/debug/printf_extension.c:
19064         * testsuite/dlopen/.cvsignore:
19065         * testsuite/dlopen/Makefile.am:
19066         * testsuite/dlopen/dlopen_gst.c:
19067         * testsuite/dlopen/loadgst.c:
19068         * testsuite/elements/.cvsignore:
19069         * testsuite/elements/Makefile.am:
19070         * testsuite/elements/gst-inspect-check.in:
19071         * testsuite/elements/struct_i386.h:
19072         * testsuite/elements/struct_size.c:
19073         * testsuite/indexers/.cvsignore:
19074         * testsuite/indexers/Makefile.am:
19075         * testsuite/indexers/cache1.c:
19076         * testsuite/indexers/indexdump.c:
19077         * testsuite/parse/.cvsignore:
19078         * testsuite/parse/Makefile.am:
19079         * testsuite/parse/parse1.c:
19080         * testsuite/parse/parse2.c:
19081         * testsuite/plugin/.cvsignore:
19082         * testsuite/plugin/Makefile.am:
19083         * testsuite/plugin/README:
19084         * testsuite/plugin/dynamic.c:
19085         * testsuite/plugin/linked.c:
19086         * testsuite/plugin/loading.c:
19087         * testsuite/plugin/registry.c:
19088         * testsuite/plugin/static.c:
19089         * testsuite/plugin/static2.c:
19090         * testsuite/plugin/testplugin.c:
19091         * testsuite/plugin/testplugin2.c:
19092         * testsuite/plugin/testplugin2_s.c:
19093         * testsuite/plugin/testplugin_s.c:
19094         * testsuite/refcounting/.cvsignore:
19095         * testsuite/refcounting/Makefile.am:
19096         * testsuite/refcounting/bin.c:
19097         * testsuite/refcounting/element.c:
19098         * testsuite/refcounting/element_pad.c:
19099         * testsuite/refcounting/mainloop.c:
19100         * testsuite/refcounting/mem.c:
19101         * testsuite/refcounting/mem.h:
19102         * testsuite/refcounting/object.c:
19103         * testsuite/refcounting/pad.c:
19104         * testsuite/refcounting/sched.c:
19105         * testsuite/refcounting/thread.c:
19106         * testsuite/states/.cvsignore:
19107         * testsuite/states/Makefile.am:
19108         * testsuite/states/bin.c:
19109         * testsuite/states/locked.c:
19110         * testsuite/states/parent.c:
19111         * testsuite/threads/.cvsignore:
19112         * testsuite/threads/159566.c:
19113         * testsuite/threads/159852.c:
19114         * testsuite/threads/Makefile.am:
19115         * testsuite/threads/queue.c:
19116         * testsuite/threads/signals.c:
19117         * testsuite/threads/staticrec.c:
19118         * testsuite/threads/thread.c:
19119         * testsuite/threads/threadb.c:
19120         * testsuite/threads/threadc.c:
19121         * testsuite/threads/threadd.c:
19122         * testsuite/threads/threade.c:
19123         * testsuite/threads/threadf.c:
19124         * testsuite/threads/threadg.c:
19125         * testsuite/threads/threadh.c:
19126         * testsuite/threads/threadi.c:
19127           move all of these under tests
19128
19129 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19130
19131         * configure.ac:
19132         * tests/Makefile.am:
19133           fix distcheck
19134
19135 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19136
19137         * docs/gst/gstreamer-sections.txt:
19138         * tests/sched/.cvsignore:
19139         * tests/sched/Makefile.am:
19140         * tests/sched/cases/(fs-fs).xml:
19141         * tests/sched/cases/(fs-i-fs).xml:
19142         * tests/sched/cases/(fs-i-i-fs).xml:
19143         * tests/sched/cases/(fs-i-q[i-fs]).xml:
19144         * tests/sched/dynamic-pipeline.c:
19145         * tests/sched/interrupt1.c:
19146         * tests/sched/interrupt2.c:
19147         * tests/sched/interrupt3.c:
19148         * tests/sched/runtestcases:
19149         * tests/sched/runxml.c:
19150         * tests/sched/sched-stress.c:
19151         * tests/sched/sort.c:
19152         * tests/sched/testcases:
19153         * tests/sched/testcases1.tc:
19154         * tests/seeking/.cvsignore:
19155         * tests/seeking/Makefile.am:
19156         * tests/seeking/seeking1.c:
19157         * tests/threadstate/.cvsignore:
19158         * tests/threadstate/Makefile.am:
19159         * tests/threadstate/test1.c:
19160         * tests/threadstate/test2.c:
19161         * tests/threadstate/threadstate1.c:
19162         * tests/threadstate/threadstate2.c:
19163         * tests/threadstate/threadstate3.c:
19164         * tests/threadstate/threadstate4.c:
19165         * tests/threadstate/threadstate5.c:
19166           remove obsolete tests
19167         * configure.ac:
19168         * tests/bench-complexity.scm:
19169         * tests/bench-mass_elements.scm:
19170         * tests/complexity.c:
19171         * tests/complexity.gnuplot:
19172         * tests/instantiate/.cvsignore:
19173         * tests/instantiate/Makefile.am:
19174         * tests/instantiate/caps.c:
19175         * tests/mass_elements.c:
19176         * tests/network-clock-utils.scm:
19177         * tests/network-clock.scm:
19178         * tests/plot-data:
19179         First pass at cleaning up tests/ dir before moving the rest
19180         Combined with CVS surgery
19181
19182 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19183
19184         * po/POTFILES.in:
19185           queue has moved, update
19186
19187 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19188
19189         * docs/gst/gstreamer-sections.txt:
19190           remove double entries from the docs
19191         * gst/gst_private.h:
19192         * gst/gstinfo.c: (_gst_debug_init):
19193           remove the THREAD debug category
19194         * gst/Makefile.am:
19195         * gst/gstqueue.c:
19196         * gst/gstqueue.h:
19197         * docs/gst/gstreamer.types:
19198         * plugins/elements/gstqueue.c: (gst_queue_get_type),
19199         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
19200           completely move queue and fix up debugging categories
19201
19202 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19203
19204         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
19205           make initialization portable, using LL is not
19206
19207 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19208
19209         * win32/common/gstconfig.h:
19210           add large padding
19211
19212 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19213
19214         * win32/common/libgstreamer.def:
19215           rename symbols; sort base section
19216
19217 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19218
19219         * gst/gstclock.c: (do_linear_regression):
19220           remove crack non-portable handrolled DEBUG macro
19221
19222 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19223
19224         * docs/random/release:
19225           update notes
19226         * win32/common/gstenumtypes.c: (register_gst_object_flags),
19227         (gst_object_flags_get_type), (register_gst_bin_flags),
19228         (gst_bin_flags_get_type), (register_gst_buffer_flag),
19229         (gst_buffer_flag_get_type), (register_gst_bus_flags),
19230         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
19231         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
19232         (gst_caps_flags_get_type), (register_gst_clock_return),
19233         (gst_clock_return_get_type), (register_gst_clock_entry_type),
19234         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
19235         (gst_clock_flags_get_type), (register_gst_state),
19236         (gst_state_get_type), (register_gst_state_change_return),
19237         (gst_state_change_return_get_type), (register_gst_state_change),
19238         (gst_state_change_get_type), (register_gst_element_flags),
19239         (gst_element_flags_get_type), (register_gst_core_error),
19240         (gst_core_error_get_type), (register_gst_library_error),
19241         (gst_library_error_get_type), (register_gst_resource_error),
19242         (gst_resource_error_get_type), (register_gst_stream_error),
19243         (gst_stream_error_get_type), (register_gst_event_type_flags),
19244         (gst_event_type_flags_get_type), (register_gst_event_type),
19245         (gst_event_type_get_type), (register_gst_seek_type),
19246         (gst_seek_type_get_type), (register_gst_seek_flags),
19247         (gst_seek_flags_get_type), (register_gst_format),
19248         (gst_format_get_type), (register_gst_index_certainty),
19249         (gst_index_certainty_get_type), (register_gst_index_entry_type),
19250         (gst_index_entry_type_get_type),
19251         (register_gst_index_lookup_method),
19252         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
19253         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
19254         (gst_index_resolver_method_get_type), (register_gst_index_flags),
19255         (gst_index_flags_get_type), (register_gst_debug_level),
19256         (gst_debug_level_get_type), (register_gst_debug_color_flags),
19257         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
19258         (gst_iterator_result_get_type), (register_gst_iterator_item),
19259         (gst_iterator_item_get_type), (register_gst_message_type),
19260         (gst_message_type_get_type), (register_gst_mini_object_flags),
19261         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
19262         (gst_pad_link_return_get_type), (register_gst_flow_return),
19263         (gst_flow_return_get_type), (register_gst_activate_mode),
19264         (gst_activate_mode_get_type), (register_gst_pad_direction),
19265         (gst_pad_direction_get_type), (register_gst_pad_flags),
19266         (gst_pad_flags_get_type), (register_gst_pad_presence),
19267         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
19268         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
19269         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
19270         (gst_plugin_error_get_type), (register_gst_plugin_flags),
19271         (gst_plugin_flags_get_type), (register_gst_rank),
19272         (gst_rank_get_type), (register_gst_query_type),
19273         (gst_query_type_get_type), (register_gst_tag_merge_mode),
19274         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
19275         (gst_tag_flag_get_type), (register_gst_task_state),
19276         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
19277         (gst_alloc_trace_flags_get_type),
19278         (register_gst_type_find_probability),
19279         (gst_type_find_probability_get_type), (register_gst_uri_type),
19280         (gst_uri_type_get_type), (register_gst_parse_error),
19281         (gst_parse_error_get_type):
19282         * win32/common/gstenumtypes.h:
19283         * win32/common/gstversion.h:
19284           update visual studio generated files
19285
19286 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19287
19288         * win32/vs6/libgstbase.dsp:
19289         * win32/vs6/libgstelements.dsp:
19290           update project files for new locations
19291
19292 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
19293
19294         * Makefile.am:
19295           remove some files
19296         * README:
19297           reinstate and update
19298         * DEVEL:
19299         * REQUIREMENTS:
19300           removed
19301         * LICENSE:
19302         * docs/random/LICENSE:
19303           moved to random
19304
19305 2005-11-30  Edward Hervey  <edward@fluendo.com>
19306
19307         * gst/gsttypefind.c: (gst_type_find_register):
19308         * gst/gsttypefind.h:
19309         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
19310         (gst_type_find_factory_dispose):
19311         * gst/gsttypefindfactory.h:
19312         Fix memory leak in GstTypeFindFactory.
19313
19314 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19315
19316         * gst/gst.c:
19317         * plugins/elements/Makefile.am:
19318         * plugins/elements/gstelements.c:
19319         * plugins/elements/gstqueue.c:
19320           move queue from core to the elements plugin
19321
19322 2005-11-29  Andy Wingo  <wingo@pobox.com>
19323
19324         * libs/gst/base/gstbasetransform.h: 
19325         * libs/gst/base/gstbasesrc.h: 
19326         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
19327
19328         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
19329         of pointers by which to pad very extensible base classes (like the
19330         ones in libs/gst/base).
19331
19332 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19333
19334         * docs/gst/gstreamer-docs.sgml:
19335         * docs/gst/gstreamer-sections.txt:
19336         * docs/libs/gstreamer-libs-docs.sgml:
19337         * docs/libs/gstreamer-libs-sections.txt:
19338           moving documentation from core to lib
19339
19340 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19341
19342         * check/Makefile.am:
19343         * configure.ac:
19344         * docs/gst/Makefile.am:
19345         * gst/Makefile.am:
19346         * gst/base/.cvsignore:
19347         * gst/base/Makefile.am:
19348         * gst/base/README:
19349         * gst/base/gstadapter.c:
19350         * gst/base/gstadapter.h:
19351         * gst/base/gstbasesink.c:
19352         * gst/base/gstbasesink.h:
19353         * gst/base/gstbasesrc.c:
19354         * gst/base/gstbasesrc.h:
19355         * gst/base/gstbasetransform.c:
19356         * gst/base/gstbasetransform.h:
19357         * gst/base/gstcollectpads.c:
19358         * gst/base/gstcollectpads.h:
19359         * gst/base/gstpushsrc.c:
19360         * gst/base/gstpushsrc.h:
19361         * gst/base/gsttypefindhelper.c:
19362         * gst/base/gsttypefindhelper.h:
19363         * gst/check/Makefile.am:
19364         * gst/check/gstcheck.c:
19365         * gst/check/gstcheck.h:
19366         * gst/net/Makefile.am:
19367         * gst/net/gstnet.h:
19368         * gst/net/gstnetclientclock.c:
19369         * gst/net/gstnetclientclock.h:
19370         * gst/net/gstnettimepacket.c:
19371         * gst/net/gstnettimepacket.h:
19372         * gst/net/gstnettimeprovider.c:
19373         * gst/net/gstnettimeprovider.h:
19374         * libs/gst/Makefile.am:
19375         * libs/gst/base/Makefile.am:
19376         * libs/gst/base/gstbasetransform.c:
19377         * libs/gst/check/Makefile.am:
19378         * plugins/elements/Makefile.am:
19379         * po/POTFILES.in:
19380           CVS surgery + support to move base, check, and net out of gst
19381           and into libs/gst
19382
19383 2005-11-29  Andy Wingo  <wingo@pobox.com>
19384
19385         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
19386
19387         * gst/gststructure.h (struct _GstStructure): Only one pointer of
19388         padding.
19389
19390         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
19391
19392         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
19393
19394         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
19395
19396         * gst/gstobject.h: (struct _GstObject): Only one pointer of
19397         padding; reduces object size by about 30%. We don't expect
19398         anything else to go into gstobject.
19399
19400         * gst/gstminiobject.h (struct _GstMiniObject)
19401         (struct _GstMiniObjectClass): Only one pointer of padding; the
19402         payload is only a pointer and two ints anyway. For the class there
19403         are only two methods as well.
19404         
19405         * gst/gstelement.h (struct _GstElementClass): Removed
19406         the state_changed signal callback, it is not used.
19407
19408 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19409
19410         * docs/gst/gstreamer.types:
19411           fix includes, though they are a little dinky
19412
19413 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19414
19415         * check/Makefile.am:
19416           look in the right place for elements, a lot more chance of
19417           success
19418         * gst/Makefile.am:
19419           remove indexers and elements subdirs
19420         * plugins/Makefile.am:
19421           make indexers conditional
19422
19423 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
19424
19425         * Makefile.am:
19426         * configure.ac:
19427         * plugins/elements/Makefile.am:
19428         * plugins/elements/gstcapsfilter.c:
19429         * plugins/elements/gstfilesink.c:
19430         * plugins/elements/gstfilesrc.c:
19431         * plugins/elements/gstidentity.c:
19432         * plugins/indexers/Makefile.am:
19433           do CVS surgery and related build fixery to move elements
19434           and indexers in a new gstreamer/plugins directory, out of the
19435           gst/ directory
19436
19437 2005-11-29  Andy Wingo  <wingo@pobox.com>
19438
19439         * check/Makefile.am:
19440         * pkgconfig/gstreamer-net-uninstalled.pc.in:
19441         * pkgconfig/gstreamer-net.pc.in:
19442         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
19443         #322257.
19444
19445 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19446
19447         * tools/Makefile.am:
19448         * tools/gst-complete.1.in:
19449         * tools/gst-complete.c:
19450         * tools/gst-compprep.1.in:
19451         * tools/gst-compprep.c:
19452           removing -compprep and -complete
19453
19454 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19455
19456         * gst/gstevent.c: (gst_event_new_new_segment),
19457         (gst_event_parse_new_segment):
19458         * gst/gstevent.h:
19459           fix #320529 - clean up new_segment API and structure.
19460           Let's hope everyone was using the methods, and not the structure.
19461
19462 2005-11-29  Edward Hervey  <edward@fluendo.com>
19463
19464         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19465         (gst_base_sink_event), (gst_base_sink_do_sync),
19466         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19467         Properly handle non GST_FORMAT_TIME segment
19468         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
19469         Properly handle non GST_FORMAT_TIME segment
19470         * gst/gstsegment.c:
19471         This function is valid if the accumulator is 0 and the format
19472         is different from the requested format.
19473         
19474 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19475
19476         * docs/gst/gstreamer-sections.txt:
19477         Add gst_query_new_seeking and gst_query_parse_seeking to the
19478         docs.
19479
19480 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
19481
19482         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
19483           Treat a pad alloc with new caps the same as if we were not
19484           negotiated, in order to allow a changing upstream output
19485           to produce a new format of data.
19486
19487 2005-11-29  Edward Hervey  <edward@fluendo.com>
19488
19489         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
19490         (gst_base_transform_event), (gst_base_transform_eventfunc):
19491         The event virtual method is now properly implemented, with a default
19492         handler
19493         Sub classes should call the parent_class event method. They should
19494         return FALSE if they had a problem handling the given event, or don't
19495         want GstBaseTransform to send that even downstream
19496         * gst/elements/gstidentity.c: (gst_identity_class_init),
19497         (gst_identity_init), (gst_identity_event),
19498         (gst_identity_transform_ip), (gst_identity_set_property),
19499         (gst_identity_get_property):
19500         * gst/elements/gstidentity.h:
19501         Added the single-segment boolean property.
19502         If set to TRUE, it will output a single segment of data, starting from
19503         0, will eat up all incoming newsegment, and modify the timestamp of the
19504         buffers accordingly
19505
19506 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
19507
19508         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
19509           Don't ref NULL target pad (#322751). Improve docs.
19510
19511 2005-11-29  Michael Smith  <msmith@fluendo.com>
19512
19513         * gst/gstregistryxml.c: (load_plugin):
19514           Don't crash if we failed to load a feature from a plugin. 
19515
19516 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19517
19518         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
19519         (GST_START_TEST):
19520           use more check API and less GLib API
19521
19522 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19523
19524         * Makefile.am:
19525           don't run checks if we don't have check
19526         * common/check.mak:
19527           remove the registry when running make torture
19528         * docs/gst/gstreamer-sections.txt:
19529           remove second multiply
19530         * gst/gstqueue.c: (gst_queue_loop):
19531           fix a compile warning when disabling debug
19532
19533 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19534
19535         * gst/gstinfo.h:
19536         Hey! Let's print the pad name if the pointer != NULL instead
19537         of when it == NULL :-)
19538
19539 2005-11-28  Wim Taymans  <wim@fluendo.com>
19540
19541         * check/gst/gstutils.c: (GST_START_TEST):
19542         Updated check, add some scaling accuracy checking code.
19543
19544         * gst/gstutils.c: (gst_util_div128_64),
19545         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
19546         (gst_util_uint64_scale_int):
19547         Fix 6 times faster division code. Optimize for common 
19548         1/1 and less common X/1 cases.
19549
19550 2005-11-28  Wim Taymans  <wim@fluendo.com>
19551
19552         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19553         More checks.
19554
19555         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
19556         (do_linear_regression), (gst_clock_add_observation):
19557         Cleanups.
19558         Release lock when the clock cannot be slaved.
19559         Catch the case where the regression returned an invalid denominator.
19560
19561         * gst/gstutils.c: (gst_util_div128_64_iterate),
19562         (gst_util_div128_64), (gst_util_uint64_scale_int64),
19563         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19564         Add protentially more performant non-iterative 128/64 divide function
19565         that unfortunatly does not work yet.
19566         Shortcut the trivial 0/X = 0 case.
19567         Remove the warnings on overflow.
19568
19569 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19570
19571         * gst/gstplugin.c: (gst_plugin_register_func):
19572           everything causing a plugin not to load should be at least a WARNING
19573
19574 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
19575
19576         * docs/random/ensonic/dparams.txt:
19577           some TODOs for the next dev cycle
19578         * libs/gst/controller/gstcontroller.c:
19579         (gst_controlled_property_set_interpolation_mode),
19580         (gst_controlled_property_new):
19581         * libs/gst/controller/gstcontroller.h:
19582           use base type to assign acccessor functions
19583
19584 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19585
19586         * check/Makefile.am:
19587         Oops, that should have been top_srcdir
19588
19589 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
19590
19591         * check/Makefile.am:
19592         * check/elements/fdsrc.c: (GST_START_TEST):
19593         Use a cmdline define to specify the location of a file to use for
19594         testing, to avoid breaking distcheck.
19595
19596 2005-11-28  Andy Wingo  <wingo@pobox.com>
19597
19598         * gst/gstpad.c (fixate_value): Use array functions for arrays.
19599
19600 2005-11-28  Edward Hervey  <edward@fluendo.com>
19601
19602         * tools/gst-launch.c: (main):
19603         Clarify the output strings, makes it easier to translate.
19604         Fixes #322626
19605
19606 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
19607
19608         * gst/Makefile.am:
19609           don't try and build net if we don't even have <sys/socket.h>
19610
19611 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
19612
19613         * check/Makefile.am:
19614         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
19615         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
19616           Add tests for fdsrc seekability
19617
19618         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
19619         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
19620         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
19621         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
19622         * gst/elements/gstfdsrc.h:
19623           fdsrc should not be a 'live' source.
19624           Implement seeking on seekable fd's.
19625
19626         * gst/gstquery.c: (gst_query_new_seeking),
19627         (gst_query_parse_seeking):
19628         * gst/gstquery.h:
19629           Implement SEEKING query functions: 
19630             *_new_seeking and *_parse_seeking
19631
19632 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
19633
19634         * gst/gstelement.c: (gst_element_dispose):
19635           don't loop forever
19636
19637         * gst/gstiterator.c:
19638         * gst/gststructure.c:
19639           doc fixes
19640
19641         * libs/gst/controller/gstcontroller.c:
19642         (gst_controlled_property_set_interpolation_mode):
19643         * libs/gst/controller/gstcontroller.h:
19644         * libs/gst/controller/gstinterpolation.c:
19645         (interpolate_none_get_enum_value_array):
19646           support controlling enums
19647
19648 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
19649
19650         * gst/gstvalue.c:
19651           Improve documentation for gst_value_union().
19652
19653         * gst/gstvalue.h:
19654           Change return value for union, intersect and subtract functions
19655           from gint to gboolean.
19656
19657 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
19658
19659         * gst/gstvalue.c: (gst_value_serialize_any_list),
19660         (gst_value_transform_any_list_string),
19661         (gst_value_deserialize_list), (gst_value_deserialize_array),
19662         (gst_value_set_int_range), (gst_value_deserialize_int_range),
19663         (gst_value_set_double_range), (gst_value_deserialize_double_range),
19664         (gst_value_set_fraction_range_full),
19665         (gst_value_deserialize_fraction_range),
19666         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
19667         (gst_value_deserialize_boolean),
19668         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
19669         (gst_value_serialize_float), (gst_value_deserialize_float),
19670         (gst_string_wrap), (gst_value_deserialize_string),
19671         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
19672         (gst_value_union_int_range_int_range),
19673         (gst_value_intersect_int_range_int_range),
19674         (gst_value_intersect_double_range_double_range),
19675         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
19676         (gst_value_subtract_int_range_int_range),
19677         (gst_value_subtract_double_double_range),
19678         (gst_value_subtract_double_range_double_range),
19679         (gst_value_deserialize_fraction):
19680         * gst/gstvalue.h:
19681           Use gint, gdouble and gchar in our API instead of int, double and
19682           char (and make usage in gstvalue.c more consistent).
19683
19684 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19685
19686         * check/Makefile.am:
19687         * libs/gst/controller/Makefile.am:
19688         * libs/gst/dataprotocol/Makefile.am:
19689           fix up Makefile.am and remove GST_ENABLE_NEW
19690
19691 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19692
19693         * configure.ac:
19694         * gst/Makefile.am:
19695         * gst/base/Makefile.am:
19696         * gst/check/Makefile.am:
19697         * gst/elements/Makefile.am:
19698         * gst/net/Makefile.am:
19699           update LDFLAGS use some more
19700
19701 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
19702
19703         * common/m4/gst-doc.m4:
19704           Fixes #312589
19705
19706 2005-11-26  Edward Hervey  <edward@fluendo.com>
19707
19708         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
19709         This shouldn't issue a g_warning since it returns NULL if it
19710         couldn't find the plugin, and all functions using this behave
19711         properly on a NULL return. Switching to a GST_WARNING.
19712
19713 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
19714
19715         * gst/gstbin.c: (gst_bin_handle_message_func):
19716         Don't leak clock messages.
19717
19718 2005-11-25  Wim Taymans  <wim@fluendo.com>
19719
19720         * gst/gstutils.c: (gst_util_uint64_scale_int64),
19721         (gst_util_uint64_scale_int):
19722         Optimisations, remove unneeded vars.
19723
19724 2005-11-25  Wim Taymans  <wim@fluendo.com>
19725
19726         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19727         Added more checks for the high precision uint64 cases.
19728
19729         * gst/gstutils.c: (gst_util_uint64_scale_int64),
19730         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
19731         Implement high precision (guint64 * guint64) / guint64.
19732
19733 2005-11-24  Wim Taymans  <wim@fluendo.com>
19734
19735         * gst/base/gstbasesrc.c: (gst_base_src_query):
19736         Fix wrong percentage query.
19737
19738         * gst/gstutils.c: (gst_util_uint64_scale),
19739         (gst_util_uint64_scale_int):
19740         Add some more common cases that can be handled 
19741         efficiently to _scale.
19742
19743 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
19744
19745         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
19746         (gst_mini_object_suite):
19747           don't use check calls from threads; check probably isn't
19748           threadsafe and using a lock to make it threadsafe would
19749           defeat the purpose of this check
19750         * gst/check/gstcheck.c:
19751         * gst/check/gstcheck.h:
19752           use GST_DEBUG some more
19753
19754 2005-11-24  Wim Taymans  <wim@fluendo.com>
19755
19756         * gst/gstutils.c: (gst_util_uint64_scale),
19757         (gst_util_uint64_scale_int):
19758         Chain trivial case to _scale_int.
19759
19760 2005-11-24  Wim Taymans  <wim@fluendo.com>
19761
19762         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
19763         Added test for scaling.
19764
19765         * gst/gstclock.h:
19766         Small doc fix.
19767
19768         * gst/gstutils.c: (gst_util_uint64_scale_int):
19769         Implemented high precision scaling code.
19770
19771 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
19772
19773         * gst/gstinfo.h:
19774           do not crash on pad==NULL
19775
19776 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
19777
19778         Patch by: Stefan Kost
19779
19780         * common/gtk-doc.mak:
19781         * docs/gst/Makefile.am:
19782         * docs/libs/Makefile.am:
19783           Fix distcheck issues for the libraries docs build
19784           Closes #319599.
19785
19786 2005-11-24  Michael Smith <msmith@fluendo.com>
19787
19788         * docs/manual/basics-helloworld.xml:
19789           Fix bug #315027: memory leak in example code in docs.
19790
19791 2005-11-24  Michael Smith <msmith@fluendo.com>
19792
19793         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
19794           Unlock the PREROLL_LOCK in a failure case.
19795
19796 2005-11-24  Wim Taymans  <wim@fluendo.com>
19797
19798         * docs/gst/gstreamer-sections.txt:
19799         * gst/base/gstadapter.h:
19800         * gst/base/gstbasesink.h:
19801         * gst/base/gstbasesrc.h:
19802         * gst/base/gstbasetransform.h:
19803         * gst/base/gstpushsrc.h:
19804         * gst/elements/gstfakesink.h:
19805         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
19806         * gst/elements/gstfakesrc.h:
19807         * gst/elements/gstfilesink.h:
19808         * gst/elements/gstfilesrc.h:
19809         * gst/gst.c:
19810         * gst/gstbin.c:
19811         * gst/gstbuffer.c: (_gst_buffer_copy):
19812         * gst/gstbus.h:
19813         * gst/gstcaps.c:
19814         * gst/gstchildproxy.c:
19815         * gst/gstclock.c:
19816         * gst/gstelement.c:
19817         * gst/gstelementfactory.c:
19818         * gst/gstelementfactory.h:
19819         * gst/gstevent.c:
19820         * gst/gstghostpad.h:
19821         * gst/gstindex.h:
19822         * gst/gstinterface.h:
19823         * gst/gstminiobject.c:
19824         * gst/gstminiobject.h:
19825         * gst/gstpad.c:
19826         * gst/gstpad.h:
19827         * gst/gstpadtemplate.h:
19828         * gst/gstpipeline.h:
19829         * gst/gstpluginfeature.h:
19830         * gst/gstquery.h:
19831         * gst/gstqueue.h:
19832         * gst/gsttaglist.c:
19833         * gst/gsttaglist.h:
19834         * gst/gsttagsetter.c:
19835         * gst/gsttagsetter.h:
19836         * gst/gsttrace.c:
19837         * gst/gsttrace.h:
19838         * gst/gsttypefind.h:
19839         * gst/gsturi.h:
19840         * gst/gstvalue.c:
19841         * gst/net/gstnetclientclock.c:
19842         * gst/net/gstnetclientclock.h:
19843         * gst/net/gstnettimepacket.c:
19844         * gst/net/gstnettimeprovider.c:
19845         * gst/net/gstnettimeprovider.h:
19846         Doc fixes.
19847
19848 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19849
19850         * configure.ac: back to HEAD
19851
19852 === release 0.9.6 ===
19853
19854 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
19855
19856         * configure.ac:
19857           releasing 0.9.6, "Always On Time"
19858
19859 2005-11-23  Wim Taymans  <wim@fluendo.com>
19860
19861         * docs/gst/gstreamer-sections.txt:
19862         * gst/glib-compat.c:
19863         * gst/gsttagsetter.c:
19864         * gst/gstvalue.c:
19865         * gst/net/gstnetclientclock.c:
19866         * gst/net/gstnettimepacket.h:
19867         Doc updates.
19868
19869 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
19870
19871         * docs/faq/using.xml:
19872         * docs/libs/tmpl/gstcontrol.sgml:
19873         * docs/manual/advanced-dparams.xml:
19874         * docs/manual/appendix-checklist.xml:
19875         * docs/manual/basics-elements.xml:
19876         * docs/pwg/other-source.xml:
19877         * docs/random/moving-plugins:
19878         * gst/gstpad.c:
19879         * tools/gst-launch.1.in:
19880           remove mentions of sinesrc
19881
19882 2005-11-23  Michael Smith <msmith@fluendo.com>
19883
19884         * docs/gst/gstreamer-sections.txt:
19885           Update for new API and API changes.
19886         * gst/gstobject.h:
19887           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
19888         * gst/gstvalue.c:
19889           Documentation typo fix.
19890         * gst/net/gstnettimepacket.c:
19891           Documentation fixes for arguments.
19892
19893 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
19894
19895         * gst/gststructure.c: (gst_structure_get_fraction),
19896         (gst_structure_parse_value),
19897         (gst_structure_fixate_field_nearest_fraction):
19898         * gst/gststructure.h:
19899         * gst/gstutils.c: (gst_util_uint64_scale_int):
19900         * gst/gstutils.h:
19901         * scripts/update-funcnames:
19902         API Changes. 
19903         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
19904         Make gst_structure_fixate_field_nearest_fraction take a numerator
19905         and denominator argument instead of a GValue
19906         add gst_structure_get_fraction helper function.
19907
19908 2005-11-23  Wim Taymans  <wim@fluendo.com>
19909
19910         * docs/design/part-TODO.txt:
19911         Update TODO.
19912
19913         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
19914         * gst/net/gstnetclientclock.h:
19915         Use parent fields for timeout and window_size.
19916
19917 2005-11-23  Andy Wingo  <wingo@pobox.com>
19918
19919         * check/net/gstnetclientclock.c (test_functioning): Adjust to
19920         rate_num/rate_denom change.
19921
19922         * gst/net/gstnetclientclock.c
19923         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
19924         OBJECT_LOCK. Don't call add_observation with the lock.
19925
19926         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
19927         fraction.
19928         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
19929         rate fraction.
19930         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
19931         deal with rate as a fraction whose numerator and denominator are
19932         GstClockTime values.
19933         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
19934         master; the other fields are protected by the SLAVE_LOCK.
19935         (do_linear_regression): Note that this must be called with the
19936         SLAVE_LOCK.
19937         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
19938         OBJECT_LOCK. Call set_calibration instead of touching the
19939         variables directly.
19940         (gst_clock_set_property, gst_clock_get_property): Protect
19941         master/slave parameters with the SLAVE_LOCK.
19942
19943         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
19944         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
19945         note that all of the instance variables that add_observation and
19946         the set_master functions use are protected by that lock and not
19947         the OBJECT_LOCK.
19948         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
19949
19950         * gst/gstclock.c (gst_clock_add_observation): No longer requires
19951         the caller to take the object lock.
19952
19953 2005-11-23  Wim Taymans  <wim@fluendo.com>
19954
19955         * gst/gsterror.c: (_gst_core_errors_init):
19956         * gst/gsterror.h:
19957         Add error for clock stuff.
19958
19959         * gst/gstpipeline.c: (gst_pipeline_change_state),
19960         (gst_pipeline_set_clock):
19961         Post clock error when clock cannot be used in a pipeline.
19962
19963 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
19964
19965         * docs/gst/gstreamer-sections.txt:
19966           make two symbols from gstinfo private for the docs
19967         * gst/base/gstcollectpads.h:
19968         * gst/gstutils.c:
19969           fix doc typos, update docs
19970
19971 2005-11-22  Wim Taymans  <wim@fluendo.com>
19972
19973         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
19974         (gst_base_sink_wait), (gst_base_sink_do_sync),
19975         (gst_base_sink_handle_event):
19976         * gst/base/gstbasesink.h:
19977         No need to store the clock, the parent element class already
19978         has it.
19979
19980         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
19981         Updates for clock_set returning a gboolean
19982
19983         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
19984         (gst_clock_id_wait_async), (gst_clock_class_init),
19985         (gst_clock_init), (gst_clock_finalize),
19986         (gst_clock_get_internal_time), (gst_clock_get_time),
19987         (gst_clock_slave_callback), (gst_clock_set_master),
19988         (gst_clock_get_master), (do_linear_regression),
19989         (gst_clock_add_observation), (gst_clock_set_property),
19990         (gst_clock_get_property):
19991         * gst/gstclock.h:
19992         Implement master/slave. When setting a clock as a slave, a
19993         periodic timeout is scheduled to sample master and slave times.
19994         Then the slave clock is recalibrated to match offset and rate
19995         of the master clock.
19996         Update logging a bit.
19997         Add flag so that a clock can state that is cannot be slaved to
19998         another clock.
19999
20000         * gst/gstelement.c: (gst_element_set_clock):
20001         * gst/gstelement.h:
20002         The set clock returns a gboolean for when an element cannot
20003         deal with the selected clock in the pipeline. 
20004
20005         * gst/gstpipeline.c: (gst_pipeline_change_state),
20006         (gst_pipeline_set_clock):
20007         * gst/gstpipeline.h:
20008         Handle the case where the selected clock cannot be set on
20009         the pipeline.
20010
20011         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
20012         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
20013         (gst_net_client_clock_set_property),
20014         (gst_net_client_clock_get_property),
20015         (gst_net_client_clock_observe_times):
20016         * gst/net/gstnetclientclock.h:
20017         Use regression code in GstClock parent, remove duplicated
20018         functionality.
20019
20020 2005-11-22  Michael Smith <msmith@fluendo.com>
20021
20022         * gst/gstutils.c: (gst_util_clock_time_scale):
20023         * gst/gstutils.h:
20024         * docs/gst/gstreamer-sections.txt:
20025           Rename method to have extra underscore.
20026
20027 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20028
20029         * gst/elements/Makefile.am:
20030         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
20031         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
20032         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
20033         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
20034         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
20035         * gst/elements/gstfakesrc.h:
20036         * gst/gstqueue.c: (queue_leaky_get_type):
20037           correctly fix GEnumValues so that nick is the short lowercase
20038           dashed tag
20039         * tools/gst-inspect.c: (print_element_properties_info):
20040           also show the nick, since it's useful to use from parse_launch
20041           syntax
20042           Fixes #322139
20043
20044 2005-11-22  Michael Smith <msmith@fluendo.com>
20045
20046         * gst/gstutils.c: (gst_util_clocktime_scale):
20047         * gst/gstutils.h:
20048         * docs/gst/gstreamer-sections.txt:
20049           Add util method for scaling a clocktime by a fraction. Useful 
20050           implementation is left as an exercise for the reader.
20051
20052 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20053
20054         * gst/gstvalue.c: (gst_value_collect_fraction_range):
20055         If needed, allocate storage in the destination value during
20056         collection.
20057
20058 2005-11-22  Edward Hervey  <edward@fluendo.com>
20059
20060         * docs/gst/gstreamer-sections.txt:
20061         * gst/Makefile.am:
20062         * gst/gst.h:
20063         * gst/gsturitype.c:
20064         * gst/gsturitype.h:
20065         * gst/gstutils.c: (gst_util_set_object_arg):
20066         * tools/gst-compprep.c: (main):
20067         * tools/gst-inspect.c: (print_element_properties_info):
20068         Removed GstURI, closes bug #321061
20069
20070 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20071
20072         * check/gst/gststructure.c: (GST_START_TEST):
20073         * gst/gststructure.c: (gst_structure_parse_value):
20074           Oops, broke automatic string type parsing.
20075           Add a test to catch it in future.
20076
20077 2005-11-22  Andy Wingo  <wingo@pobox.com>
20078
20079         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
20080         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
20081         Actually rename the function implementations. Grr.
20082
20083 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20084
20085         * check/gst/capslist.h:
20086           Comment test cases
20087         * check/gst/gststructure.c: (GST_START_TEST),
20088         (gst_structure_suite):
20089           Test automatic value type detection in gst_structure_from_string.
20090         * gst/gststructure.c: (gst_structure_parse_value):
20091           Add fraction as a type we try and guess automatically in
20092           caps/structure strings.
20093
20094 2005-11-22  Andy Wingo  <wingo@pobox.com>
20095
20096         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
20097
20098         * gst/gsttagsetter.h:
20099         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
20100         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
20101         (gst_tag_setter_add_tag_valist)
20102         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
20103         _add_values, _add_valist, and _add_valist_values. Since this is an
20104         interface the function suffixes should be more explicit so
20105         language binding don't end up with element.add_valist ->
20106         gst_tag_setter_add_valist, for example. Fixes #322069.
20107
20108 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20109
20110         * check/gst/gstcaps.c: (GST_START_TEST):
20111           Extend caps string tests to check that a caps to string
20112           conversion is reversible and produces the same caps.
20113
20114         * gst/gststructure.c: (gst_structure_value_get_generic_type):
20115           Output "fraction" as the generic type fraction range, so caps
20116           serialisation and deserialisation works.
20117         * check/gst/capslist.h:
20118         * gst/gstvalue.c: (gst_value_deserialize_fraction):
20119           Support 'MIN' and 'MAX' for deserialising fractions.
20120
20121 2005-11-22  Andy Wingo  <wingo@pobox.com>
20122
20123         * gst/gstevent.h (gst_event_new_new_segment)
20124         (gst_event_parse_new_segment, gst_event_new_buffer_size)
20125         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
20126         Renamed from *_newsegment, *_buffersize, *_notarget.
20127
20128         * scripts/update-funcnames: New script, performs the changes
20129         listed above.
20130
20131 2005-11-22  Wim Taymans  <wim@fluendo.com>
20132
20133         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20134         Make sure the GstFlowReturn is returned.
20135
20136         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
20137         (gst_bus_add_signal_watch):
20138         * gst/gstbus.h:
20139         add gst_bus_add_signal_watch_full.
20140
20141         * gst/gstplugin.c: (gst_plugin_load_file):
20142         Small style cleanup.
20143
20144 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20145
20146         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
20147           Block the fakesrc srcpad when we send an event, to avoid
20148           contention on the stream_lock causing random test failures.
20149
20150 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20151
20152         * check/gst/gstvalue.c: (GST_START_TEST):
20153         * gst/gstvalue.c: (gst_value_fraction_subtract):
20154           Fix subtraction.
20155
20156 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
20157
20158         * gst/gst.h:
20159           include "gstchildproxy.h"
20160         * gst/gstchildproxy.h:
20161         * libs/gst/controller/gstcontroller.h:
20162           use G_GNUC_NULL_TERMINATED
20163
20164 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
20165
20166         * check/gst/capslist.h:
20167         * check/gst/gstcaps.c: (GST_START_TEST):
20168         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20169         * gst/gststructure.c: (gst_structure_parse_range),
20170         (gst_structure_fixate_field_nearest_fraction):
20171         * gst/gststructure.h:
20172         * gst/gstvalue.c: (gst_value_init_fraction_range),
20173         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
20174         (gst_value_collect_fraction_range),
20175         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
20176         (gst_value_set_fraction_range_full),
20177         (gst_value_get_fraction_range_min),
20178         (gst_value_get_fraction_range_max),
20179         (gst_value_serialize_fraction_range),
20180         (gst_value_transform_fraction_range_string),
20181         (gst_value_compare_fraction_range),
20182         (gst_value_deserialize_fraction_range),
20183         (gst_value_intersect_fraction_fraction_range),
20184         (gst_value_intersect_fraction_range_fraction_range),
20185         (gst_value_subtract_fraction_fraction_range),
20186         (gst_value_subtract_fraction_range_fraction),
20187         (gst_value_subtract_fraction_range_fraction_range),
20188         (gst_value_collect_fraction), (gst_value_fraction_multiply),
20189         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
20190         (gst_value_transform_string_fraction), (_gst_value_initialize):
20191         * gst/gstvalue.h:
20192           Implement fraction ranges and extend GstFraction to support
20193           arithmetic subtraction, as well as deserialization from integer
20194           strings such as "100"
20195           Add a testsuite as for int and double range set operations
20196
20197 2005-11-21  Andy Wingo  <wingo@pobox.com>
20198
20199         * gst/gsttaglist.h: 
20200         * gst/gstcaps.h: 
20201         * gst/gststructure.h: Add glib-compat.h.
20202
20203 2005-11-21  Wim Taymans  <wim@fluendo.com>
20204
20205         * gst/gstbin.c: (gst_bin_change_state_func):
20206         Fix for #321595
20207
20208 2005-11-21  Wim Taymans  <wim@fluendo.com>
20209
20210         * gst/gstsegment.h:
20211         And add a nice define too.
20212
20213 2005-11-21  Wim Taymans  <wim@fluendo.com>
20214
20215         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
20216         (gst_segment_new), (gst_segment_free), (gst_segment_init),
20217         (gst_segment_set_duration), (gst_segment_set_last_stop),
20218         (gst_segment_set_seek), (gst_segment_set_newsegment),
20219         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20220         (gst_segment_clip):
20221         * gst/gstsegment.h:
20222         Make binding friendly.
20223
20224 2005-11-21  Andy Wingo  <wingo@pobox.com>
20225
20226         * gst/gsttagsetter.h: 
20227         * gst/gsttaglist.h: 
20228         * gst/gststructure.h: 
20229         * gst/gstcaps.h: 
20230         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
20231         #319940.
20232
20233         * gst/gsterror.c (_gst_core_errors_init):
20234         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
20235         category.
20236
20237         * gst/Makefile.am (gst_headers): Add glib-compat.h.
20238         (noinst_HEADERS): noinst the -private.
20239
20240 2005-11-21  Michael Smith <msmith@fluendo.com>
20241
20242         * gst/gstplugin.h:
20243         * gst/gstregistry.h:
20244           Remove unimplemented declarations for which we can see no sensible
20245           use.
20246
20247 2005-11-21  Andy Wingo  <wingo@pobox.com>
20248
20249         * gst/gst.h: Include glib-compat.h.
20250
20251         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
20252
20253         * gst/glib-compat.c: Include the public and the private header.
20254
20255         * gst/glib-compat-private.h: Copied here from glib-compat.h.
20256
20257         * gst/gstvalue.c: 
20258         * gst/gstpad.c: 
20259         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
20260
20261         * check/gst/gstevent.c (create_custom_events): Check that
20262         FLUSH_STOP is serialized.
20263
20264         * check/elements/identity.c (event_func): 
20265         * check/elements/fakesrc.c (event_func): No stream lock, the core
20266         takes it.
20267
20268         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
20269         stream lock taking, yay.
20270
20271         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
20272         ensure that core takes the stream lock.
20273
20274         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
20275         lock name change.
20276
20277         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
20278         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
20279         it already. For the flush start we do take it though so we get the
20280         right preroll state change messages.
20281
20282         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
20283         the stream lock here, the core does it for us.
20284
20285         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
20286         GST_STREAM_GET_LOCK.
20287         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
20288         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
20289         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
20290         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
20291         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
20292         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
20293
20294         * gst/gstpad.c: Update for stream lock name change.
20295
20296         * gst/base/gstbasesink.c: Update for preroll lock name change.
20297
20298 2005-11-21  Wim Taymans  <wim@fluendo.com>
20299
20300         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
20301         (gst_clock_get_master):
20302         * gst/gstclock.h:
20303         * gst/gstsystemclock.c: (gst_system_clock_init):
20304         Convert Clock flags to object flags.
20305         Added methods to manage master/slave clocks.
20306
20307 2005-11-21  Wim Taymans  <wim@fluendo.com>
20308
20309         * check/gst/gstsegment.c: (GST_START_TEST):
20310         * docs/design/part-TODO.txt:
20311         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20312         (gst_base_sink_event), (gst_base_sink_do_sync),
20313         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
20314         (gst_base_sink_query), (gst_base_sink_change_state):
20315         * gst/base/gstbasesink.h:
20316         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
20317         (gst_base_src_default_newsegment),
20318         (gst_base_src_configure_segment), (gst_base_src_do_seek),
20319         (gst_base_src_get_range), (gst_base_src_loop),
20320         (gst_base_src_change_state):
20321         * gst/base/gstbasesrc.h:
20322         * gst/base/gstbasetransform.c:
20323         (gst_base_transform_prepare_output_buf),
20324         (gst_base_transform_event), (gst_base_transform_change_state):
20325         * gst/base/gstbasetransform.h:
20326         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
20327         (gst_collect_pads_event):
20328         * gst/base/gstcollectpads.h:
20329         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
20330         (gst_fake_src_create):
20331         * gst/elements/gstfakesrc.h:
20332         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
20333         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20334         (gst_segment_set_last_stop), (gst_segment_set_seek),
20335         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
20336         (gst_segment_to_running_time), (gst_segment_clip):
20337         * gst/gstsegment.h:
20338         More segment updates, replace code in plugins with segment
20339         helper functions.
20340
20341 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20342
20343         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
20344         Don't ignore sscanf results
20345
20346 2005-11-21  Andy Wingo  <wingo@pobox.com>
20347
20348         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
20349
20350         * *.h:
20351         * *.c: Ran scripts/update-macros. Oh yes.
20352
20353         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
20354         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
20355         GST_GET_LOCK, etc.
20356
20357         * scripts/update-macros: New script. Run it on your files to
20358         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
20359         well.
20360
20361 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20362
20363         * docs/gst/Makefile.am:
20364         * docs/gst/gstreamer-docs.sgml:
20365         * docs/gst/gstreamer-sections.txt:
20366         * docs/gst/gstreamer.types:
20367         * gst/gstinfo.h:
20368           more docs fixes, add new api to the docs
20369
20370 2005-11-21  Andy Wingo  <wingo@pobox.com>
20371
20372         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
20373         state_broadcast call.
20374
20375         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
20376
20377 2005-11-21  Julien MOUTTE  <julien@moutte.net>
20378
20379         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
20380         function calls for arrays.
20381
20382 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
20383
20384         * docs/random/ensonic/media-device-daemon.txt:
20385           wild idea, can this be done?
20386         * docs/gst/gstreamer-sections.txt:
20387         * gst/gsterror.h:
20388         * gst/gstfilter.c:
20389         * gst/gstfilter.h:
20390         * gst/gstplugin.h:
20391         * gst/gstpluginfeature.c:
20392         * gst/gsttrace.c:
20393         * gst/gstvalue.c:
20394         * gst/gstvalue.h:
20395           doc fixes and additions
20396
20397 2005-11-21  Andy Wingo  <wingo@pobox.com>
20398
20399         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
20400         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
20401         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
20402         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
20403         private to the basesrc implementation.
20404
20405         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
20406         behalf of event function if necessary. It should no longer be
20407         necessary to take the stream lock in pad's event functions. Fixes
20408         #320299.
20409
20410 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20411         * docs/gst/gstreamer-sections.txt:
20412         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
20413         (gst_structure_fixate_field_nearest_double),
20414         (gst_structure_fixate_field_boolean):
20415         * gst/gststructure.h:
20416         * win32/common/libgstreamer.def:
20417         * win32/gstreamer.def:
20418
20419         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
20420         (#322027)
20421
20422 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
20423
20424         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
20425         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
20426         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
20427         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
20428         (gst_fdsrc_uri_handler_init):
20429         * gst/elements/gstfdsrc.h:
20430           Port fd:// URI handler from 0.8 to fdsrc
20431
20432 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20433
20434         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
20435         (gst_value_serialize_fourcc):
20436         * gst/gstvalue.h:
20437           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
20438           consistent with our other format defines (#320324).
20439
20440 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20441
20442         * gst/gstvalue.c: (gst_value_is_fixed):
20443           Revert previous commit. Value lists are by definition
20444           not fixed, as they are a list of possible values.
20445
20446 2005-11-21  Andy Wingo  <wingo@pobox.com>
20447
20448         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
20449         during the stable series if we need it. Fixes #319178.
20450
20451         * gst/gstevent.c (gst_event_new_filler): Removed.
20452
20453         * check/gst/gstevent.c: Update comment about filler events.
20454
20455 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20456
20457         * gst/gstvalue.c: (gst_value_is_fixed):
20458           Should handle both value arrays and value lists.
20459
20460 2005-11-21  Andy Wingo  <wingo@pobox.com>
20461
20462         patch by: Alessandro Dessina <alessandro nnva org>
20463
20464         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
20465         functions to access arrays. Fixes #321962.
20466
20467 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20468
20469         * docs/gst/gstreamer.types:
20470           gst_collectpads_get_type => gst_collect_pads_get_type.
20471           
20472         * gst/base/gstbasetransform.c:
20473           Remove unused SIGNAL_HANDOFF enum.
20474
20475 2005-11-21  Andy Wingo  <wingo@pobox.com>
20476
20477         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
20478         the event type (upstream, downstream, serialized). Renamed
20479         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
20480         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
20481         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
20482
20483         * gst/gstevent.c: Update for new CUSTOM event names.
20484
20485         * check/gst/gstevent.c: Update check for new CUSTOM event names.
20486
20487         * gst/gstevent.h:
20488         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
20489         bug #319392.
20490
20491 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20492
20493         * docs/gst/gstreamer-sections.txt:
20494         * win32/common/libgstbase.def:
20495         * win32/libgstbase.def:
20496         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
20497         (gst_collect_pads_class_init), (gst_collect_pads_init),
20498         (gst_collect_pads_finalize), (gst_collect_pads_new),
20499         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
20500         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
20501         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
20502         (gst_collect_pads_start), (gst_collect_pads_stop),
20503         (gst_collect_pads_peek), (gst_collect_pads_pop),
20504         (gst_collect_pads_available), (gst_collect_pads_read),
20505         (gst_collect_pads_flush), (gst_collect_pads_event),
20506         (gst_collect_pads_chain):
20507         * gst/base/gstcollectpads.h:
20508           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
20509           unimplemented functions as unimplemented. Add padding to
20510           GstCollectData. (#320766, #320423)
20511
20512 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
20513
20514         * gst/gstmessage.c:
20515           Improve docs for DURATION message (usage of duration parameter)
20516           (#320113)
20517
20518 2005-11-20  Wim Taymans  <wim@fluendo.com>
20519
20520         * check/Makefile.am:
20521         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
20522         (main):
20523         * gst/Makefile.am:
20524         * gst/gst.h:
20525         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
20526         (gst_segment_set_seek), (gst_segment_set_newsegment),
20527         (gst_segment_to_stream_time), (gst_segment_to_running_time),
20528         (gst_segment_clip):
20529         * gst/gstsegment.h:
20530         Added segment helper structure and methods. Not fully implemented
20531         yet.
20532         Added segment check.
20533
20534 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
20535
20536         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
20537           Add a deserialisation test for fractions
20538         * examples/metadata/read-metadata.c: (message_loop),
20539         (make_pipeline), (main):
20540           Fix up metadata reading sample.
20541         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
20542           Debug format fix
20543         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
20544           Don't try and fixate empty caps
20545         * gst/gst_private.h:
20546           Wrap in G_BEGIN_DECLS/G_END_DECLS
20547         * gst/gstvalue.c: (gst_value_collect_fraction),
20548         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
20549         (gst_value_transform_string_fraction),
20550         (gst_value_compare_fraction):
20551           Add some extra guards to ensure that we don't end up 
20552           with an invalid denominator of 0 in a gstfraction and
20553           that fractions always get reduced.
20554
20555 2005-11-20  Wim Taymans  <wim@fluendo.com>
20556
20557         * docs/gst/gstreamer-sections.txt:
20558         * gst/gstbuffer.h:
20559         * gst/gstelement.c:
20560         * gst/gstformat.c:
20561         * gst/gstformat.h:
20562         * gst/gstindex.h:
20563         * gst/gstquery.c:
20564         * gst/gstquery.h:
20565         * gst/gstvalue.c:
20566         Doc fixes.
20567
20568 2005-11-20  Wim Taymans  <wim@fluendo.com>
20569
20570         * docs/design/part-TODO.txt:
20571         * gst/gstcaps.h:
20572         Make a proper enum of the flag.
20573
20574 2005-11-19  Wim Taymans  <wim@fluendo.com>
20575
20576         * docs/design/part-TODO.txt:
20577         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
20578         (gst_format_to_quark), (gst_format_register):
20579         * gst/gstformat.h:
20580         * gst/gstquery.c: (_gst_query_initialize),
20581         (gst_query_type_get_name), (gst_query_type_to_quark),
20582         (gst_query_type_register):
20583         * gst/gstquery.h:
20584         Add type to quark and type to string conversions.
20585
20586 2005-11-19  Andy Wingo  <wingo@pobox.com>
20587
20588         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
20589         #320097.
20590
20591 2005-11-19  Wim Taymans  <wim@fluendo.com>
20592
20593         * docs/design/part-TODO.txt:
20594         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
20595         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
20596         (gst_bin_handle_message_func):
20597         * gst/gstbin.h:
20598         Make message handling overridable.
20599
20600 2005-11-19  Andy Wingo  <wingo@pobox.com>
20601
20602         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
20603
20604         * gst/gstclock.h:
20605         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
20606         be a GstClockTime.
20607         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
20608         is a GstClockTime. Fixes #321710.
20609
20610         * gst/gstclock.h (GstClock): Remove offset property. Add
20611         internal_calibration and external_calibration. Fix padding. Pad
20612         also by GstClockTime so we don't run into problems.
20613
20614         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
20615         (gst_clock_get_rate_offset): Remove.
20616         (gst_clock_set_time_adjust): Remove. Fixes #321712.
20617
20618         * gst/gstutils.h:
20619         * gst/gstutils.c (g_static_rec_cond_wait)
20620         (g_static_rec_cond_timed_wait): Removed, no longer needed.
20621
20622         * gst/gstbin.c: Remove terrible continue_state prototype.
20623
20624         * gst/gstelement.h (gst_element_continue_state): Make public.
20625
20626         * gst/gstelement.h:
20627         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
20628         by continue_state. Fixes #319389.
20629
20630         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
20631         Really fixes #168438. However I don't see anywhere where the
20632         filter function is called... stupid GStreamer...
20633         
20634         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
20635         don't have a dispose function, so it won't get called when the
20636         object is unreffed, but oh well!
20637
20638         * gst/gstindex.c (gst_index_set_filter_full): New API function,
20639         allows a destroy function to be set so user_data can be freed.
20640         Fixes #168438.
20641         (gst_index_set_filter): Call gst_index_set_filter_full.
20642
20643         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
20644
20645         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
20646         string should produce an error, given the lack of a way to
20647         represent NULL strings. Fixes #165650.
20648         
20649         * gst/gstvalue.h: 
20650         * gst/gstvalue.c (gst_value_array_append_value) 
20651         (gst_value_array_prepend_value, gst_value_array_get_size) 
20652         (gst_value_array_get_value): New API, copied from
20653         gst_value_list_*, only operates on arrays.
20654         (gst_value_list_append_value, gst_value_list_prepend_value) 
20655         (gst_value_list_concat, gst_value_list_get_size) 
20656         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
20657
20658         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
20659         init_list, because it works on both.
20660         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
20661         (gst_value_copy_list_or_array): Renamed from copy_list.
20662         (gst_value_free_list_or_array): Renamed from free_list.
20663         (gst_value_collect_list_or_array): Renamed from collect_list.
20664         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
20665         (gst_value_list_or_array_peek_pointer): Renamed from
20666         list_peek_pointer.
20667         (_gst_value_array_value_table, _gst_value_list_value_table):
20668         Update value table functions.
20669         (gst_value_compare_list_or_array): Renamed from compare_list.
20670
20671         * gsttaglist.h: Whoops, foreach function returns void. Also fix
20672         some constness.
20673
20674         * gst/gsttaglist.c:
20675         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
20676         GstTagList*. Fixes #143472.
20677
20678         * gst/gststructure.h: Clarify what the foreach/map functions can
20679         or can't do to their arguments.
20680
20681 2005-11-18  Wim Taymans  <wim@fluendo.com>
20682
20683         * gst/gstclock.c: (gst_clock_set_calibration),
20684         (gst_clock_get_calibration):
20685         Doc and API fixes.
20686         Calibration can be set with internal time equal to current
20687         internal time too.
20688
20689 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
20690
20691         * gst/gsterror.c:
20692         * gst/gsterror.h:
20693           document
20694
20695 2005-11-18  Andy Wingo  <wingo@pobox.com>
20696
20697         * configure.ac: 
20698         * pkgconfig/gstreamer-net.pc.in:
20699         * pkgconfig/gstreamer-net-uninstalled.pc.in:
20700         * pkgconfig/Makefile.am: Add net pkgconfig files.
20701
20702 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
20703
20704         * gst/gstcaps.c:
20705         * gst/gstghostpad.c:
20706         * gst/gsttrace.c:
20707         * gst/gstvalue.c:
20708         * gst/gstvalue.h:
20709           docs fixes
20710
20711 2005-11-18  Andy Wingo  <wingo@pobox.com>
20712
20713         * gst/net/gstnetclientclock.c: Turn off debugging.
20714
20715         * check/net/gstnetclientclock.c (test_functioning): Assert that the
20716         times connverge somewhat. Can't make a real test.
20717
20718         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
20719         integer arithmetic. Return the minimum of the domain, which can be
20720         set as "internal" for gst_clock_set_calibration.
20721         (gst_net_client_clock_observe_times): Call _set_calibration.
20722         (gst_net_client_clock_new): Call _set_calibration instead of
20723         rate_offset.
20724
20725         * check/net/gstnetclientclock.c (test_functioning): Use the right
20726         adjustment api.
20727
20728         * gst/gstclock.h:
20729         * gst/gstclock.c (gst_clock_get_calibration) 
20730         (gst_clock_set_calibration): New functions, obsolete the ones I
20731         added yesterday. Doh. Precision issues mean we have to extrapolate
20732         from a point in the more recent past than 1970.
20733         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
20734         obsolete.
20735         (gst_clock_adjust_unlocked): Use the right calibration data.
20736
20737 2005-11-18  Edward Hervey  <edward@fluendo.com>
20738
20739         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
20740         Also reset the ->current_* values in READY->PAUSED
20741
20742 2005-11-18  Andy Wingo  <wingo@pobox.com>
20743
20744         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
20745         Whoops, check the right fd. Also add some debugging.
20746         (gst_net_client_clock_observe_times): Adjust for int64 offset.
20747         (do_linear_regression): Add a crapload of debugging. Subtract off
20748         the minimum values from the input series to discard unneeded bits.
20749         Use only int arithmetic. There is still double arithmetic when
20750         calculating the intercept that needs fixing. Return boolean to
20751         indicate success; FALSE would mean the domain or range is too
20752         great. Still needs fixes.
20753
20754 2005-11-18  Wim Taymans  <wim@fluendo.com>
20755
20756         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
20757         For the current position in stream time, we need to subtract
20758         accumulated time.
20759         
20760         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
20761         Release lock before calling the callback function of async
20762         entries.
20763
20764 2005-11-18  Andy Wingo  <wingo@pobox.com>
20765
20766         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
20767         Port goes all the way to MAXUINT16.
20768
20769         * gst/net/gstnettimeprovider.c: Make the port range the same as
20770         for the kernel: 0 assigns, otherwise ports are less than
20771         MAXUINT16.
20772
20773         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
20774         port change.
20775
20776         * check/net/gstnetclientclock.c (test_functioning): Add the start
20777         of another test. 
20778
20779 2005-11-18  Wim Taymans  <wim@fluendo.com>
20780
20781         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
20782         (gst_bin_remove_func), (bin_bus_handler):
20783         * gst/gstbin.h:
20784         Removing a clock provider from a bin, triggers a clock lost message
20785         so that a new clock will be selected.
20786         Adding a clock to a bin triggers a clock provider message.
20787         Make sure we reselect a clock when we received a clock lost message.
20788         Keep a reference to the element that provided the clock.
20789
20790 2005-11-18  Andy Wingo  <wingo@pobox.com>
20791
20792         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
20793         the clock initially so it produces values around the base time.
20794         (gst_net_client_clock_class_init): Typo fix.
20795         (gst_net_client_clock_thread): Add note on when the socket gets
20796         closed.
20797
20798 2005-11-17  Wim Taymans  <wim@fluendo.com>
20799
20800         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
20801         Free remote and local time arrays.
20802
20803 2005-11-17  Wim Taymans  <wim@fluendo.com>
20804
20805         * gst/net/gstnetclientclock.c: (do_linear_regression),
20806         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
20807         Fix compilation, uninitialized vars and a forgotten continue.
20808
20809 2005-11-17  Andy Wingo  <wingo@pobox.com>
20810
20811         * check/Makefile.am (check_PROGRAMS): 
20812         * check/net/gstnetclientclock.c: Add a most minimal test for the
20813         net client clock. More to come later.
20814
20815         * gst/net/gstnet.h: 
20816         * gst/net/Makefile.am: Add netclientclock.
20817
20818         * gst/net/gstnetclientclock.h:
20819         * gst/net/gstnetclientclock.c: New files, implement an untested
20820         GstClock that takes its time from a network time provider.
20821         Implements the algorithm in network-clock.scm.
20822
20823         * tests/network-clock.scm (*window-size*): Rename from
20824         *queue-length*.
20825         * tests/network-clock.scm (network-time): 
20826         * tests/network-clock-utils.scm (q-push): Update callers.
20827
20828 2005-11-17  Wim Taymans  <wim@fluendo.com>
20829
20830         * gst/gstbin.c: (gst_bin_provide_clock_func),
20831         (gst_bin_sort_iterator_new):
20832         And unref the child too..
20833
20834 2005-11-17  Wim Taymans  <wim@fluendo.com>
20835
20836         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
20837         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
20838         Refactor the sort iterator so it can be used while holding the
20839         LOCK too.
20840         Make clock selection select a clock closest to the source.
20841
20842 2005-11-17  Michael Smith <msmith@fluendo.com>
20843
20844         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
20845         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
20846         * gst/gstclock.h:
20847           Anonymous structs are a gcc (and some other compilers) extension, so
20848           don't use them. Since this is only for ABI-compatibility, and our
20849           API/ABI freeze is over in a few days, this whole thing will only
20850           last a few days, so don't bother trying to think up a meaningful
20851           name for the struct.
20852
20853 2005-11-17  Andy Wingo  <wingo@pobox.com>
20854
20855         * gst/gstclock.h (GstClock): Add rate and offset properties,
20856         preserving ABI stability. Add rate/offset accessors. Will file bug
20857         for the freeze break.
20858
20859         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
20860         and offset, trying to keep precision and avoiding
20861         underflow/overflow.
20862         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
20863         functions. Make gst_clock_set_time_adjust obsolete.
20864         (gst_clock_set_time_adjust): Note that this function is obsolete.
20865         Will file bug soon.
20866
20867         * gst/base/gstbasetransform.h: Make the ABI-stability hack
20868         greppable by using GST_PADDING-1+1.
20869
20870 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
20871
20872         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
20873
20874         * gst/gstmessage.c: (gst_message_parse_clock_lost):
20875           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
20876
20877         * gst/gstpadtemplate.h:
20878         * gst/gstpluginfeature.h:
20879           Don't use c++ style comments in headers (#321638).
20880
20881 2005-11-16  Andy Wingo  <wingo@pobox.com>
20882
20883         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
20884         buffer.
20885
20886         * check/net/gstnettimeprovider.c: Check to see that the time
20887         provider actually provides times. Works, yo!
20888
20889 2005-11-16  Wim Taymans  <wim@fluendo.com>
20890
20891         * check/Makefile.am:
20892         Enable more tests.
20893
20894         * check/elements/fakesrc.c: (GST_START_TEST):
20895         Set element to NULL before disposing it.
20896
20897 2005-11-16  Andy Wingo  <wingo@pobox.com>
20898
20899         * gst/net/Makefile.am:
20900         * gst/net/gstnet.h:
20901         * gst/net/gstnettimeprovider.c: 
20902         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
20903         provider, include it from gstnet.h, and add it to the build.
20904
20905         * gst/net/gstnettimepacket.h: 
20906         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
20907         sending and receiving.
20908
20909 2005-11-16  Wim Taymans  <wim@fluendo.com>
20910
20911         * check/Makefile.am:
20912         Enable valgrind check.
20913
20914         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
20915         (gst_fake_src_alloc_buffer):
20916         Fix memleak.
20917
20918 2005-11-16  Wim Taymans  <wim@fluendo.com>
20919
20920         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
20921         Call parent finalize too.
20922
20923 2005-11-16  Wim Taymans  <wim@fluendo.com>
20924
20925         * check/Makefile.am:
20926         Enable valgrind check that should work fine now.
20927
20928         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
20929         * gst/gstqueue.c: (gst_queue_init):
20930         Fix memleaks in pad allocation.
20931
20932 2005-11-16  Andy Wingo  <wingo@pobox.com>
20933
20934         * gst/net/Makefile.am:
20935         * gst/net/gstnet.h: New part of core to hold network elements and
20936         objects. Put in core because it exposes API that applications want
20937         to use. The library is named libgstnet-tempname right now because
20938         of the existing libgstnet in gst-plugins-base. Solution is
20939         probably to rename the one in plugins-base; will file a bug for
20940         the freeze break.
20941
20942         * gst/net/gstnettimeprovider.c: 
20943         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
20944         get_time call over the network.
20945
20946         * configure.ac: 
20947         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
20948
20949         * check/Makefile.am:
20950         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
20951         get additions shortly.
20952
20953 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20954
20955         * gst/gstpad.c: (gst_pad_new_from_static_template):
20956         * gst/gstpad.h:
20957           add gst_pad_new_from_static_template functions
20958         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
20959         (gst_check_setup_sink_pad):
20960         * gst/elements/gsttee.c: (gst_tee_init):
20961           and use them
20962
20963 2005-11-16  Wim Taymans  <wim@fluendo.com>
20964
20965         * gst/gstpad.c: (gst_pad_pause_task):
20966         Removed warning, it's not really an error either.
20967
20968 2005-11-16  Wim Taymans  <wim@fluendo.com>
20969
20970         * gst/base/gstbasetransform.c:
20971         (gst_base_transform_prepare_output_buf),
20972         (gst_base_transform_event):
20973         Check if the caps are NULL, this can happen if the element
20974         is shutting down and the pad caps are set to NULL.
20975
20976 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20977
20978         * gst/elements/gsttee.c: (gst_tee_init):
20979           fix pad template leak in tee
20980
20981 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20982
20983         * gst/glib-compat.c: (g_value_dup_gst_object):
20984         * gst/glib-compat.h:
20985         * gst/gstpad.c: (gst_pad_set_property):
20986           use gst_object_ref when setting the pad template; this will
20987           trigger the pad template leaks on GLib 2.6 and the slaves
20988
20989 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
20990
20991         * gst/glib-compat.c: (gst_flags_get_first_value):
20992         * gst/glib-compat.h:
20993         * gst/gstregistryxml.c:
20994           remove functions copied from GLib 2.6
20995
20996 2005-11-16  Michael Smith <msmith@fluendo.com>
20997
20998         * gst/Makefile.am:
20999           Don't link against VALGRIND_LIBS. That was always the wrong thing to
21000           do, but only breaks with newer valgrind versions. We're not a
21001           valgrind tool, we have no link-time dependencies on libcoregrind.
21002
21003 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21004
21005         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
21006           some debug changes
21007         * gst/gstmessage.h:
21008           typo fixes
21009
21010 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
21011
21012         * gst/base/gstbasesrc.c: (gst_base_src_init):
21013         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21014         * gst/gstqueue.c: (gst_queue_init):
21015         * gst/gstregistryxml.c: (load_feature):
21016           Revert all these unrefs, they don't even pass make check !
21017
21018 2005-11-15  Johan Dahlin  <johan@gnome.org>
21019
21020         * gst/base/gstbasesrc.c: (gst_base_src_init):
21021         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21022         * gst/gstqueue.c: (gst_queue_init): 
21023         Free pad templates, fixes a couple of leaks.
21024
21025 2005-11-15  Daniel Fischer  <dan at f3c dot com>
21026
21027         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
21028
21029         * gst/gstpad.c: (gst_pad_get_property):
21030           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
21031           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
21032           (#321452)
21033
21034 2005-11-15  Wim Taymans  <wim@fluendo.com>
21035
21036         * gst/gstevent.c:
21037         Small doc update.
21038
21039 2005-11-15  Andy Wingo  <wingo@pobox.com>
21040
21041         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
21042
21043         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
21044         using GST_CLOCK_TIME_NONE to disable base time management.
21045         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
21046         time if it was NONE before.
21047         (gst_pipeline_change_state): Only munge the base time if
21048         stream_time != GST_CLOCK_TIME_NONE.
21049
21050         * check/gst/gstpipeline.c (test_base_time): Punt around the
21051         problem of the probe not being called, because that's not the
21052         issue I'm looking at. Add a check that setting stream_time to NONE
21053         disables base time management.
21054         
21055 2005-11-15  Wim Taymans  <wim@fluendo.com>
21056
21057         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
21058         segment_stop == -1 at startup.
21059
21060         * gst/base/gstbasetransform.c: (gst_base_transform_event),
21061         (gst_base_transform_change_state):
21062         Init segment values at start.
21063
21064 2005-11-15  Wim Taymans  <wim@fluendo.com>
21065
21066         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21067         0 segment values are 0 in any format.
21068
21069         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21070         * gst/base/gstbasetransform.h:
21071         Parse newsegment correctly in basetransform
21072
21073         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
21074         Sync to clock using updated segment values.
21075
21076 2005-11-15  Andy Wingo  <wingo@pobox.com>
21077
21078         * check/gst/gstpipeline.c (test_base_time): Add check that the
21079         base time and stream time are reset correctly.
21080
21081 2005-11-15  Wim Taymans  <wim@fluendo.com>
21082
21083         * docs/design/part-TODO.txt:
21084         Some more TODO items.
21085
21086 2005-11-15  Andy Wingo  <wingo@pobox.com>
21087
21088         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
21089         error if the user selected "no clock" as the clocking method.
21090
21091         * check/gst/gstpipeline.c (test_base_time): New test for buffer
21092         timestamps with live capture.
21093
21094         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
21095         is 0 but we are a live source, timestamp the buffers using the
21096         element's clock.
21097
21098 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
21099
21100         * docs/gst/gstreamer-sections.txt:
21101         * gst/gsterror.c:
21102         * gst/gstghostpad.c:
21103         * gst/gstobject.h:
21104         * gst/gstxml.c:
21105           more section docs
21106
21107 2005-11-14  Wim Taymans  <wim@fluendo.com>
21108
21109         * common/gst.supp:
21110           add suppressions from Wim's Debian machine
21111
21112 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
21113
21114         * common/gst.supp:
21115           add suppressions from Andy's AMD64 Ubuntu machine
21116
21117 2005-11-14  Andy Wingo  <wingo@pobox.com>
21118
21119         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
21120         STATE_LOCK not necessary. Fixes #311489.
21121
21122         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
21123         #305291.
21124
21125         * gst/gstindex.c (gst_index_add_object): Note in the docs that
21126         this function is not implemented.
21127
21128 2005-11-14  Julien MOUTTE  <julien@moutte.net>
21129
21130         * gst/base/gstbasetransform.c:
21131         (gst_base_transform_prepare_output_buf):
21132         Ref the source pad caps while we need them.
21133         Fixes (#321386)
21134
21135 2005-11-11  Wim Taymans  <wim@fluendo.com>
21136
21137         * docs/gst/gstreamer-sections.txt:
21138         Added some docs for GstCollectData.
21139
21140         * gst/base/gstadapter.c:
21141         Some small code example fix.
21142
21143         * gst/base/gstcollectpads.c:
21144         * gst/base/gstcollectpads.h:
21145         Document some more.
21146
21147 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
21148
21149         * configure.ac: back to HEAD
21150
21151 === release 0.9.5 ===
21152
21153 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
21154
21155         * configure.ac:
21156           releasing 0.9.5, "Bike Lunch Day"
21157
21158 2005-11-11  Wim Taymans  <wim@fluendo.com>
21159
21160         * gst/gstbuffer.c: (_gst_buffer_copy):
21161         Copy more flags.
21162
21163         * gst/gstcaps.c: (gst_caps_is_equal):
21164         Fix some docs.
21165         Make _is_equal fast in the trivial cases.
21166
21167         * gst/gstminiobject.c:
21168         * gst/gstminiobject.h:
21169         More docs. Spifify .h file.
21170
21171         * gst/gstutils.c:
21172         Small doc update.
21173
21174 2005-11-11  Wim Taymans  <wim@fluendo.com>
21175
21176         * gst/base/gstbasetransform.c:
21177         (gst_base_transform_prepare_output_buf),
21178         (gst_base_transform_handle_buffer):
21179         Small cleanups.
21180         If we're processing a buffer and need to allocate an output
21181         buffer, we cannot accept a format change. If we did get a 
21182         format change, we have to alloc a buffer ourselves of the 
21183         right size.
21184
21185 2005-11-11  Wim Taymans  <wim@fluendo.com>
21186
21187         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
21188         While checking the flag for reentrancy in the gstcaps function
21189         is nice to detect recursive invocations, it also makes it 
21190         impossible to call getcaps from multiple threads, which must be
21191         possible. So, checking for recursive calls has to go.
21192
21193 2005-11-11  Michael Smith <msmith@fluendo.com>
21194
21195         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21196           Don't sync on buffers that fall partially outside our current
21197           segment. Prevents an assertion failure/abort playing some files.
21198
21199 2005-11-10  Andy Wingo  <wingo@pobox.com>
21200
21201         * check/gst/gstbin.c (test_message_state_changed_children): Style
21202         fix..
21203
21204         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
21205         gst_bus_poll with the signal watch. Ensures that poll and a signal
21206         watch see the same messages.
21207
21208         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
21209         a poll and a watch at the same time get the same messages.
21210
21211 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21212
21213         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
21214         * gst/gstcaps.c: (gst_caps_intersect):
21215           Don't call gst_caps_do_simplify - it doesn't respect order of caps
21216           and it's not needed.
21217
21218 2005-11-10  Wim Taymans  <wim@fluendo.com>
21219
21220         * docs/design/part-TODO.txt:
21221         Updated todo.
21222
21223 2005-11-10  Wim Taymans  <wim@fluendo.com>
21224
21225         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
21226         * gst/base/gstbasesrc.c: (gst_base_src_wait),
21227         (gst_base_src_do_sync), (gst_base_src_get_range):
21228         Implement clock sync in base class.
21229
21230 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
21231
21232         patch by: Tim-Philipp Müller <tim at centricular dot net>
21233
21234         * gst/gststructure.c: (gst_structure_parse_field),
21235         (gst_structure_from_string):
21236           Forward-port a 0.8 patch to handle escaped spaces in structure string,
21237           so that gst_parse_launch() can deal with spaces in filtered link
21238           caps (fixes #164479)
21239         * check/gst/capslist.h:
21240         * check/gst/gststructure.c: (GST_START_TEST):
21241           add unit tests for this change
21242
21243 2005-11-10  Wim Taymans  <wim@fluendo.com>
21244
21245         * docs/gst/gstreamer-sections.txt:
21246         * gst/gstelement.c:
21247         * gst/gstelement.h:
21248         Fix docs, move some STATE macros to private.
21249
21250 2005-11-10  Wim Taymans  <wim@fluendo.com>
21251
21252         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
21253         Added check for bug #317341
21254
21255         * gst/gstbuffer.c:
21256         * gst/gstbuffer.h:
21257         Some more spiffifying.
21258
21259         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
21260         Call peer linkfunction if we are a source pad. Totally fixes
21261         #317341
21262
21263         * gst/gstpad.c:
21264         Update docs, source pads should call the peer linkfunction
21265         so they can atomically perform the pad link.
21266
21267 2005-11-09  Wim Taymans  <wim@fluendo.com>
21268
21269         * gst/gstbuffer.c:
21270         * gst/gstbuffer.h:
21271         Uber-spiffy-spiffify some more.
21272
21273 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
21274
21275         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
21276         * gst/elements/gstfilesink.c: (gst_file_sink_init):
21277         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
21278         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
21279         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
21280         * gst/gstpad.c: (gst_pad_init):
21281           Use GST_DEBUG_FUNCPTR() more extensively.
21282
21283 2005-11-09  Wim Taymans  <wim@fluendo.com>
21284
21285         * gst/gstobject.c: (gst_object_class_init):
21286         * gst/gstobject.h:
21287         Documentation fixes.
21288
21289 2005-11-09  Edward Hervey  <edward@fluendo.com>
21290
21291         * gst/gsttypefindfactory.c:
21292         Fix docs.
21293         
21294 2005-11-09  Edward Hervey  <edward@fluendo.com>
21295
21296         * gst/base/gsttypefindhelper.c:
21297         * gst/gsttypefind.c:
21298         * gst/gsttypefind.h:
21299         Fix docs.
21300
21301 2005-11-09  Wim Taymans  <wim@fluendo.com>
21302
21303         * gst/gstiterator.c:
21304         Fix revision data.
21305
21306         * gst/gsttask.c:
21307         * gst/gsttask.h:
21308         Fix docs.
21309
21310 2005-11-09  Wim Taymans  <wim@fluendo.com>
21311
21312         * gst/gstevent.h:
21313         * gst/gsturi.h:
21314         Fix docs.
21315
21316 2005-11-09  Wim Taymans  <wim@fluendo.com>
21317
21318         * docs/gst/gstreamer-sections.txt:
21319         Moved the message async delivery private lock and cond
21320         to the private section.
21321
21322         * gst/gstmessage.c:
21323         * gst/gstmessage.h:
21324         Fixed docs.
21325
21326 2005-11-09  Edward Hervey  <edward@fluendo.com>
21327
21328         * docs/gst/gstreamer-sections.txt:
21329         * gst/gsturi.c:
21330         * gst/gsturi.h:
21331         Document GstURIHandler
21332
21333 2005-11-09  Wim Taymans  <wim@fluendo.com>
21334
21335         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
21336         (gst_iterator_find_custom):
21337         * gst/gstiterator.h:
21338         Fix iterator docs.
21339
21340 2005-11-09  Wim Taymans  <wim@fluendo.com>
21341
21342         * gst/gstbin.h:
21343         Document another field.
21344
21345         * gst/gststructure.c:
21346         * gst/gststructure.h:
21347         Document.
21348
21349 2005-11-09  Wim Taymans  <wim@fluendo.com>
21350
21351         * gst/gstbin.h:
21352         Documented structs.
21353
21354 2005-11-09  Wim Taymans  <wim@fluendo.com>
21355
21356         * docs/gst/gstreamer-sections.txt:
21357         Added some new macros.
21358
21359         * gst/gstclock.c:
21360         * gst/gstclock.h:
21361         * gst/gstobject.h:
21362         Docs updates.
21363
21364 2005-11-09  Wim Taymans  <wim@fluendo.com>
21365
21366         * docs/design/part-TODO.txt:
21367         Some more items for the TODO
21368
21369         * gst/gstcaps.c:
21370         * gst/gstcaps.h:
21371         Document GstCaps.
21372
21373 2005-11-09  Andy Wingo  <wingo@pobox.com>
21374
21375         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
21376         to work on something else now tho...
21377
21378         * gst/base/gstadapter.c: More adapter docs.
21379
21380         * gst/elements/gstfilesink.c (gst_file_sink_start) 
21381         (gst_file_sink_stop): New functions, replace the state change
21382         handler.
21383         (gst_file_sink_class_init): Hook up the start and stop functions.
21384         (gst_file_sink_base_init): Don't set the state change handler any
21385         more. It was a bit ugly too, being set from here...
21386         (gst_file_sink_get_property, gst_file_sink_set_property):
21387         Cleanups...
21388         (gst_file_sink_set_location): More robust check that doesn't call
21389         GST_STATE. Ugggggg.
21390
21391 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
21392
21393         * gst/base/gstbasetransform.c: (gst_base_transform_event):
21394           Hold STREAM_LOCK while pushing newsegment or tag events as well.
21395
21396 2005-11-08  Wim Taymans  <wim@fluendo.com>
21397
21398         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
21399         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
21400         (gst_base_sink_chain), (gst_base_sink_change_state):
21401         * gst/base/gstbasesink.h:
21402         * gst/base/gstbasesrc.h:
21403         * gst/gstelement.h:
21404         * gst/gstevent.h:
21405         Avoid excessive typechecking in macros.
21406
21407         * gst/gstminiobject.c: (gst_mini_object_get_type),
21408         (gst_mini_object_init), (gst_mini_object_new),
21409         (gst_mini_object_free):
21410         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
21411         (gst_object_finalize):
21412         Remove cruft code, optimize alloc_trace.
21413
21414 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
21415
21416         * docs/faq/gst-uninstalled:
21417           fix up PS1 for systems that try to reset it
21418
21419 2005-11-07  Wim Taymans  <wim@fluendo.com>
21420
21421         * gst/base/gstbasesrc.c: (gst_base_src_init),
21422         (gst_base_src_get_range):
21423         Set the segment_end to -1 initially. Fixed typefind.
21424
21425 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
21426
21427         * gst/base/gstadapter.c:
21428           Debug category should be 'adapter', not 'GstAdapter'.
21429           
21430         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
21431         (gst_collectpads_class_init), (gst_collectpads_init),
21432         (gst_collectpads_peek), (gst_collectpads_pop),
21433         (gst_collectpads_event), (gst_collectpads_chain):
21434           Add debug category and some debugging output. Use boilerplate
21435           macros. Remove some extraneous words from docs.
21436
21437 2005-11-05  Andy Wingo  <wingo@pobox.com>
21438
21439         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
21440         macro.
21441
21442 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21443
21444         * docs/gst/gstreamer-sections.txt:
21445         * gst/gstcaps.h:
21446         * gst/gstinfo.c:
21447         * gst/gstminiobject.h:
21448         * gst/gstobject.h:
21449         * gst/gstutils.h:
21450           more docs added
21451
21452 2005-11-04  Wim Taymans  <wim@fluendo.com>
21453
21454         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21455         Small update to stop at the configured segment_end
21456         position.
21457
21458 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
21459
21460         * gst/gstregistry.c:
21461         * gst/gstregistry.h:
21462           added missing docs
21463
21464 2005-11-04  Edward Hervey  <edward@fluendo.com>
21465
21466         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
21467         Check if we are doing a segment seek and have arrived at the
21468         end of that segment.
21469
21470 2005-11-04  Wim Taymans  <wim@fluendo.com>
21471
21472         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
21473         Don't leak a mutex unlock in case of an error.
21474
21475         * gst/gstbus.h:
21476         Doc fixes.
21477
21478 2005-11-04  Wim Taymans  <wim@fluendo.com>
21479
21480         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
21481         (gst_bus_post):
21482         Get the context to wake up only once.
21483
21484 2005-11-03  Wim Taymans  <wim@fluendo.com>
21485
21486         * check/states/sinks.c: (GST_START_TEST):
21487         Uncomment fixed check.
21488
21489         * docs/design/part-TODO.txt:
21490         Updated TODO.
21491
21492         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21493         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21494         (gst_base_sink_get_position):
21495         If we are going to PLAYING, post the right pending state
21496         when we post the intermediate paused message.
21497
21498         * gst/gstelement.c: (gst_element_continue_state),
21499         (gst_element_set_state_func), (gst_element_change_state):
21500         Don't post state changes that were between the same state
21501         and were not ASYNC.
21502
21503 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21504
21505         * docs/gst/gstreamer-sections.txt:
21506         * gst/gstcaps.h:
21507         * gst/gstinfo.c:
21508         * gst/gstminiobject.h:
21509         * gst/gstobject.h:
21510         * gst/gstutils.h:
21511           more docs and doc style fixes
21512
21513 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
21514
21515         * docs/gst/gstreamer-sections.txt:
21516         * gst/gstelement.c:
21517         * gst/gstminiobject.c:
21518         doc fixes
21519
21520 2005-11-03  Andy Wingo  <wingo@pobox.com>
21521
21522         * check/states/sinks.c (test_livesrc_sink): Add checks that the
21523         state-changed messages actually have the right order and the right
21524         values.
21525
21526 2005-11-03  Wim Taymans  <wim@fluendo.com>
21527
21528         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
21529         Added some more checks. Specifically the case where NO_PREROLL
21530         elements are in the pipeline.
21531
21532         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21533         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
21534         (gst_base_sink_get_position):
21535         Post READY->PAUSED state change messages too.
21536         Fix bug where VOID was posted as pending state...
21537
21538         * gst/gstbin.c: (gst_bin_recalc_state):
21539         use _element_continue_state() to continue the state change.
21540
21541         * gst/gstelement.c: (gst_element_continue_state),
21542         (gst_element_commit_state), (gst_element_set_state_func),
21543         (gst_element_change_state), (gst_element_change_state_func):
21544         Lots of state change cleanups, assign the STATE_RETURN in
21545         a new continue_state() function that also propagates the
21546         last return value from a state change to the app.
21547         Update some debug statements with proper category.
21548
21549 2005-11-03  Wim Taymans  <wim@fluendo.com>
21550
21551         * docs/design/part-events.txt:
21552         * docs/design/part-gstpipeline.txt:
21553         * docs/design/part-messages.txt:
21554         * docs/design/part-overview.txt:
21555         * docs/design/part-seeking.txt:
21556         * docs/design/part-states.txt:
21557         * docs/design/part-trickmodes.txt:
21558         * docs/manual/advanced-position.xml:
21559         Small docs updates.
21560
21561         * gst/gstobject.h:
21562         People think !! is ugly, this looks better.
21563
21564         * gst/gstpad.c: (gst_pad_set_blocked_async):
21565         Remove !! since it's fixed elsewhere now.
21566
21567 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21568
21569         * gst/gstminiobject.h:
21570         * gst/gstobject.h:
21571           Add !! to _FLAG_IS_SET macros to make the result boolean.
21572
21573 2005-11-03  Edward Hervey  <edward@fluendo.com>
21574
21575         * gst/gstpad.c: (gst_pad_set_blocked_async):
21576         comparing a flag and a gboolean rarely returns coherent results...
21577         Added two characters (!!) to make that work correctly.
21578         
21579 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21580
21581         * gst/gstbus.c: (gst_bus_class_init):
21582           Fix some typos.
21583           
21584         * gst/gstqueue.c: (gst_queue_loop):
21585           Don't assume a miniobject that isn't a buffer is an
21586           event (it could be that there is a refcounting
21587           problem somewhere and the pointer is stale and
21588           refers to an already destroyed miniobject).
21589
21590 2005-11-03  Julien MOUTTE  <julien@moutte.net>
21591
21592         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
21593
21594 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
21595
21596         * docs/manual/advanced-position.xml:
21597           Update seek example and explanations to current 0.9 API.
21598
21599         * gst/elements/gsttypefindelement.c:
21600         (gst_type_find_element_activate):
21601           Remove FIXME comment now that the found caps
21602           are unreffed.
21603
21604 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21605
21606         * gst/gstregistryxml.c: (load_feature):
21607           Add another GST_STR_NULL instance
21608
21609 2005-11-02  Edward Hervey  <edward@fluendo.com>
21610
21611         * gst/gstpad.c: (handle_pad_block):
21612         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
21613         
21614 2005-11-02  Wim Taymans  <wim@fluendo.com>
21615
21616         * gst/gstbin.c:
21617         Fix typo in docs.
21618
21619         * gst/gstelement.c: (gst_element_commit_state):
21620         Remove unused value.
21621
21622         * gst/gstiterator.c:
21623         Mention that the returned element is reffed in the docs.
21624
21625 2005-11-02  Wim Taymans  <wim@fluendo.com>
21626
21627         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
21628         (gst_pad_push), (gst_pad_push_event):
21629         Unlock blocked pads when they are flushed.
21630
21631 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21632
21633         * docs/README:
21634         * docs/gst/gstreamer-sections.txt:
21635         * gst/gstbin.c:
21636           doc updates
21637         * gst/gstregistry.c: (gst_registry_scan_path_level):
21638           fix for a nasty little missed situation where an installed plug-in
21639           which was in the cache did not get overridden by an uninstalled one
21640           which was earlier in the plugin path because the newly created plugin
21641           for the uninstalled one (not in the registry) didn't get its
21642           ->registered set to TRUE
21643
21644 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
21645
21646         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
21647         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
21648         (gst_collectpads_is_active), (gst_collectpads_collect),
21649         (gst_collectpads_collect_range), (gst_collectpads_start),
21650         (gst_collectpads_stop), (gst_collectpads_peek),
21651         (gst_collectpads_pop), (gst_collectpads_available),
21652         (gst_collectpads_read), (gst_collectpads_flush):
21653           Guard public API with assertions.
21654         
21655         * gst/gstpad.c:
21656           Fix docs for gst_pad_set_link_function().
21657
21658 2005-11-02  Johan Dahlin  <johan@gnome.org>
21659
21660         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
21661         Unref found_caps after we used it.
21662
21663 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
21664
21665         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
21666           Don't try to ref NULL.
21667
21668 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21669
21670         * win32/common/config.h.in:
21671           provide a GST_FUNCTION that just gives a string for now
21672
21673 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21674
21675         * win32/common/gstenumtypes.c: (register_gst_object_flags),
21676         (gst_object_flags_get_type), (register_gst_bin_flags),
21677         (gst_bin_flags_get_type), (register_gst_buffer_flag),
21678         (gst_buffer_flag_get_type), (register_gst_bus_flags),
21679         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
21680         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
21681         (gst_clock_return_get_type), (register_gst_clock_entry_type),
21682         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
21683         (gst_clock_flags_get_type), (register_gst_state),
21684         (gst_state_get_type), (register_gst_state_change_return),
21685         (gst_state_change_return_get_type), (register_gst_state_change),
21686         (gst_state_change_get_type), (register_gst_element_flags),
21687         (gst_element_flags_get_type), (register_gst_core_error),
21688         (gst_core_error_get_type), (register_gst_library_error),
21689         (gst_library_error_get_type), (register_gst_resource_error),
21690         (gst_resource_error_get_type), (register_gst_stream_error),
21691         (gst_stream_error_get_type), (register_gst_event_type),
21692         (gst_event_type_get_type), (register_gst_seek_type),
21693         (gst_seek_type_get_type), (register_gst_seek_flags),
21694         (gst_seek_flags_get_type), (register_gst_format),
21695         (gst_format_get_type), (register_gst_index_certainty),
21696         (gst_index_certainty_get_type), (register_gst_index_entry_type),
21697         (gst_index_entry_type_get_type),
21698         (register_gst_index_lookup_method),
21699         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
21700         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
21701         (gst_index_resolver_method_get_type), (register_gst_index_flags),
21702         (gst_index_flags_get_type), (register_gst_debug_level),
21703         (gst_debug_level_get_type), (register_gst_debug_color_flags),
21704         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
21705         (gst_iterator_result_get_type), (register_gst_iterator_item),
21706         (gst_iterator_item_get_type), (register_gst_message_type),
21707         (gst_message_type_get_type), (register_gst_mini_object_flags),
21708         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
21709         (gst_pad_link_return_get_type), (register_gst_flow_return),
21710         (gst_flow_return_get_type), (register_gst_activate_mode),
21711         (gst_activate_mode_get_type), (register_gst_pad_direction),
21712         (gst_pad_direction_get_type), (register_gst_pad_flags),
21713         (gst_pad_flags_get_type), (register_gst_pad_presence),
21714         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
21715         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
21716         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
21717         (gst_plugin_error_get_type), (register_gst_plugin_flags),
21718         (gst_plugin_flags_get_type), (register_gst_rank),
21719         (gst_rank_get_type), (register_gst_query_type),
21720         (gst_query_type_get_type), (register_gst_tag_merge_mode),
21721         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
21722         (gst_tag_flag_get_type), (register_gst_task_state),
21723         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
21724         (gst_alloc_trace_flags_get_type),
21725         (register_gst_type_find_probability),
21726         (gst_type_find_probability_get_type), (register_gst_uri_type),
21727         (gst_uri_type_get_type), (register_gst_parse_error),
21728         (gst_parse_error_get_type):
21729         * win32/common/gstversion.h:
21730           update win32 copies
21731
21732 2005-11-01  Luca Ognibene  <luogni@tin.it>
21733
21734         * gst/gst.c:
21735           fix docs. popt is dead, long live GOption.
21736
21737 2005-10-31  Wim Taymans  <wim@fluendo.com>
21738
21739         * gst/gstbuffer.h:
21740         Small doc fix.
21741
21742 2005-10-31  Andy Wingo  <wingo@pobox.com>
21743
21744         * Boo!
21745
21746         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
21747
21748         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
21749         need to serialize property notifications on GLib 2.8. GLib 2.6 has
21750         the possibility of deadlocks here if code calling notify() or
21751         set() has a lock that can be taken in another notify handler (ABBA
21752         with class lock and e.g. python GIL state lock).
21753
21754 2005-10-28  Julien MOUTTE  <julien@moutte.net>
21755
21756         * gst/gstbus.c: Doc updates.
21757
21758 2005-10-28  Wim Taymans  <wim@fluendo.com>
21759
21760         * docs/design/part-TODO.txt:
21761         * gst/gstiterator.c:
21762         * gst/gstsystemclock.c:
21763         * gst/gstsystemclock.h:
21764         Doc updates.
21765
21766 2005-10-28  Edward Hervey  <edward@fluendo.com>
21767
21768         * docs/gst/gstreamer-docs.sgml:
21769         * docs/gst/gstreamer-sections.txt:
21770         the GstURIType documentation page is private, it only defines GstURIType
21771         which should be defined in the GstURIHandler page
21772         
21773 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
21774
21775         * gst/gstbin.c: (gst_bin_class_init):
21776         * gst/gstbin.h:
21777         * gst/gstutils.c:
21778         Documentation updates.
21779
21780 2005-10-28  Wim Taymans  <wim@fluendo.com>
21781
21782         * docs/gst/gstreamer-sections.txt:
21783         * gst/gstclock.c:
21784         * gst/gstclock.h:
21785         Documented the clocks.
21786
21787 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
21788
21789         * docs/gst/gstreamer-sections.txt:
21790           move some macros to private sections
21791         * gst/gstminiobject.c:
21792         * gst/gstminiobject.h:
21793           add descriptions provided by ds and some more
21794         * gst/gstpad.h:
21795           mark macro as to be removed
21796
21797 2005-10-28  Wim Taymans  <wim@fluendo.com>
21798
21799         * docs/design/part-TODO.txt:
21800         Add an item to TODO.
21801
21802         * gst/gstiterator.c: (gst_iterator_fold),
21803         (gst_iterator_find_custom):
21804         * gst/gstiterator.h:
21805         Add iterator docs.
21806
21807 2005-10-28  Wim Taymans  <wim@fluendo.com>
21808
21809         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
21810         (gst_base_transform_init):
21811         Don't leak class.
21812
21813         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
21814         An EOS event marks the queue as completely filled.
21815
21816 2005-10-27  Wim Taymans  <wim@fluendo.com>
21817
21818         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21819         (gst_base_sink_do_sync), (gst_base_sink_get_position):
21820         Some more debugging.
21821
21822         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
21823         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
21824         (gst_base_transform_event), (gst_base_transform_getrange),
21825         (gst_base_transform_chain):
21826         * gst/base/gstbasetransform.h:
21827         Fix debugging,
21828         Protect transform and concurrent buffer alloc with a new lock.
21829         Try not to break ABI/API.
21830
21831 2005-10-27  Wim Taymans  <wim@fluendo.com>
21832
21833         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
21834         (gst_base_src_init), (gst_base_src_query),
21835         (gst_base_src_default_newsegment),
21836         (gst_base_src_configure_segment), (gst_base_src_do_seek),
21837         (gst_base_src_send_event), (gst_base_src_event_handler),
21838         (gst_base_src_pad_get_range), (gst_base_src_loop),
21839         (gst_base_src_unlock), (gst_base_src_default_negotiate),
21840         (gst_base_src_start), (gst_base_src_deactivate),
21841         (gst_base_src_activate_push), (gst_base_src_change_state):
21842         Move some stuff around and cleanup things.
21843
21844 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
21845
21846         * gst/base/gstbasesrc.c: (gst_base_src_query):
21847           Add missing break statements.
21848
21849 2005-10-27  Wim Taymans  <wim@fluendo.com>
21850
21851         * check/gst/gstbin.c: (GST_START_TEST):
21852         An extra refcount is taken in basesrc.
21853
21854         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
21855         (gst_base_src_get_range), (gst_base_src_pad_get_range),
21856         (gst_base_src_loop):
21857         Small cleanups, check for flushing after being unlocked from the 
21858         LIVE_LOCK. take refcounts correctly (not yet everywhere).
21859         Don't send out EOS when going to READY.
21860
21861 2005-10-27  Wim Taymans  <wim@fluendo.com>
21862
21863         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
21864         (gst_base_sink_get_position):
21865         Some more debug.
21866
21867         * gst/gstbin.c: (message_check), (bin_replace_message),
21868         (bin_remove_messages), (is_eos), (gst_bin_add_func),
21869         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
21870         (bin_query_duration_init), (bin_query_duration_fold),
21871         (bin_query_duration_done), (bin_query_generic_fold),
21872         (gst_bin_query):
21873         * tools/gst-launch.c: (main):
21874         Remove old option.
21875
21876 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
21877
21878         * examples/controller/audio-example.c: (main):
21879         * examples/queue/queue.c: (event_loop):
21880         * gst/base/gstbasetransform.h:
21881         * gst/gstelement.c: (gst_element_send_event):
21882         * gst/gstevent.h:
21883         * gst/gstpad.c: (gst_pad_send_event):
21884           fixing examples
21885           fixing docs typos
21886           changing log priority in error situations
21887
21888 2005-10-25  Wim Taymans  <wim@fluendo.com>
21889
21890         * gst/gstbin.c: (message_check), (bin_replace_message),
21891         (bin_remove_messages), (is_eos), (gst_bin_add_func),
21892         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
21893         (bin_query_duration_init), (bin_query_duration_fold),
21894         (bin_query_duration_done), (bin_query_generic_fold),
21895         (gst_bin_query):
21896         Some doc and debug updates.
21897         Cache previously requested query DURATION for speed. invalidate
21898         cached duration if element posts a DURATION message.
21899
21900 2005-10-25  Wim Taymans  <wim@fluendo.com>
21901
21902         * docs/design/part-TODO.txt:
21903         Update TODO.
21904
21905         * gst/gstbin.c: (message_check), (bin_replace_message),
21906         (bin_remove_messages), (is_eos), (gst_bin_add_func),
21907         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
21908         (bin_query_duration_init), (bin_query_duration_fold),
21909         (bin_query_duration_done), (bin_query_generic_fold),
21910         (gst_bin_query):
21911         Handle SEGMENT_START/DONE messages correctly.
21912         More evolved query algorithm that handles duration queries
21913         correctly.
21914
21915         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
21916         (gst_element_get_state_func), (gst_element_abort_state),
21917         (gst_element_commit_state), (gst_element_lost_state):
21918         Some more debugging.
21919
21920         * gst/gstmessage.h:
21921         Added doc.
21922
21923 2005-10-25  Wim Taymans  <wim@fluendo.com>
21924
21925         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
21926         Don't use invalid stream_time.
21927
21928         * gst/gstevent.c: (gst_event_new_newsegment):
21929         stream_time in newsegment cannot be undefined.
21930
21931 2005-10-24  Wim Taymans  <wim@fluendo.com>
21932
21933         * gst/gstbus.c:
21934         Doc fix.
21935
21936         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
21937         (gst_queue_loop):
21938         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
21939
21940 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
21941
21942         * docs/libs/tmpl/gstdparam.sgml:
21943         * docs/libs/tmpl/gstdplinint.sgml:
21944         * docs/libs/tmpl/gstdpman.sgml:
21945         * docs/libs/tmpl/gstdpsmooth.sgml:
21946         * docs/libs/tmpl/gstunitconvert.sgml:
21947           these are obsolete
21948
21949 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
21950
21951         * configure.ac:
21952           back to HEAD
21953
21954 === release 0.9.4 ===
21955
21956 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
21957
21958         * configure.ac:
21959           releasing 0.9.4, "Tyrannosaurus Rex"
21960
21961 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
21962
21963         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
21964         (gst_file_sink_get_current_offset):
21965           Use fseeko() and ftello() if available. When falling back on
21966           lseek() to get the current offset, fflush() first to make sure
21967           everything is up-to-date and we get the right offset.
21968
21969 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
21970
21971         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
21972         * gst/base/gstbasesrc.c: (gst_base_src_loop):
21973         * gst/gsterror.c: (_gst_stream_errors_init):
21974         * gst/gsterror.h:
21975         * gst/gstqueue.c: (gst_queue_loop):
21976         * po/POTFILES.in:
21977           remove prematurely added error category and clean up the instances
21978
21979 2005-10-21  Wim Taymans  <wim@fluendo.com>
21980
21981         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
21982         (gst_base_sink_get_position), (gst_base_sink_query),
21983         (gst_base_sink_change_state):
21984         Simply set the right flag when going to playing, that's all
21985         we need to do instead of calling a function inside the object
21986         lock (that could take the lock as well and deadlock)
21987
21988 2005-10-21  Wim Taymans  <wim@fluendo.com>
21989
21990         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
21991         (gst_base_src_loop):
21992         Don't warn, the peer element knows what to do best when
21993         the seek failed, it might try something else.
21994
21995 2005-10-21  Wim Taymans  <wim@fluendo.com>
21996
21997         * gst/base/gstbasesrc.c: (gst_base_src_init),
21998         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
21999         Fix seeking.
22000
22001 2005-10-21  Wim Taymans  <wim@fluendo.com>
22002
22003         * docs/design/part-segments.txt:
22004         More docs.
22005
22006         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
22007         Correctly set caps, even on the subbufer.
22008
22009 2005-10-21  Wim Taymans  <wim@fluendo.com>
22010
22011         * docs/gst/gstreamer-docs.sgml:
22012         * docs/gst/gstreamer-sections.txt:
22013         * gst/gstelement.h:
22014         * gst/gstevent.c:
22015         * gst/gstevent.h:
22016         * gst/gstmessage.h:
22017         * gst/gstpad.h:
22018         * gst/gstparse.h:
22019         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
22020         * gst/gsttask.h:
22021         * gst/gstutils.c:
22022         * gst/gstutils.h:
22023         And 2% more doc coverage.
22024
22025 2005-10-21  Andy Wingo  <wingo@pobox.com>
22026
22027         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
22028         position reporting.
22029
22030 2005-10-20  Wim Taymans  <wim@fluendo.com>
22031
22032         * gst/gsterror.c: (gst_error_get_message):
22033         * gst/gstparse.h:
22034         * gst/gstquery.h:
22035         * gst/gststructure.c:
22036         * gst/gsttrace.c:
22037         * gst/gstutils.c:
22038         More docs.
22039
22040 2005-10-20  Wim Taymans  <wim@fluendo.com>
22041
22042         * gst/gstbuffer.h:
22043         * gst/gstpad.c:
22044         * gst/gstparse.c:
22045         Another 1% more coverage.
22046
22047 2005-10-20  Wim Taymans  <wim@fluendo.com>
22048
22049         * docs/gst/gstreamer-sections.txt:
22050         * gst/gstelement.c: (gst_element_get_state_func),
22051         (gst_element_abort_state), (gst_element_commit_state),
22052         (gst_element_lost_state):
22053         * gst/gstevent.h:
22054         * gst/gstquery.c: (gst_query_set_position),
22055         (gst_query_parse_position), (gst_query_set_duration),
22056         (gst_query_parse_duration), (gst_query_new_convert):
22057         * gst/gstutils.c:
22058         Yay! 1% more docs coverage.
22059
22060 2005-10-20  Wim Taymans  <wim@fluendo.com>
22061
22062         * gst/gstpad.h:
22063         * gst/gstquery.c: (gst_query_set_position),
22064         (gst_query_parse_position), (gst_query_set_duration),
22065         (gst_query_parse_duration), (gst_query_new_convert):
22066         * gst/gstquery.h:
22067         * gst/gstutils.c: (gst_element_query_convert):
22068         * gst/gstutils.h:
22069         Docs and consistency fixes.
22070
22071 2005-10-20  Wim Taymans  <wim@fluendo.com>
22072
22073         * gst/gsttask.c:
22074         * gst/gsttask.h:
22075         More docs.
22076
22077 2005-10-20  Wim Taymans  <wim@fluendo.com>
22078
22079         * gst/gstbin.c: (message_check), (bin_replace_message),
22080         (bin_remove_messages), (is_eos), (gst_bin_add_func),
22081         (update_degree), (gst_bin_sort_iterator_next),
22082         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
22083         Reworked the message handling a bit, cache the messages instead of
22084         only the senders. alows us to do more in the future.
22085
22086 2005-10-20  Wim Taymans  <wim@fluendo.com>
22087
22088         * docs/design/part-TODO.txt:
22089         Update TODO
22090
22091         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22092         (gst_base_sink_query):
22093         Don't use clock time to report position when in EOS.
22094
22095 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
22096
22097         * tools/gst-inspect.c: (print_interfaces),
22098         (print_element_properties_info), (print_element_info):
22099           Fix interface output with gst-inspect -a; don't print
22100           newlines after double/float properties.
22101
22102 2005-10-20  Wim Taymans  <wim@fluendo.com>
22103
22104         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
22105         (gst_base_sink_query):
22106         Speed up current position calculation.
22107
22108         * gst/base/gstbasesrc.c: (gst_base_src_query),
22109         (gst_base_src_default_newsegment):
22110         Correctly set stream position in newsegment.
22111
22112         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
22113         (update_degree), (gst_bin_sort_iterator_next),
22114         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
22115         * gst/gstmessage.c: (gst_message_new_custom):
22116         Clean up debugging info
22117
22118         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
22119         (gst_queue_loop), (gst_queue_handle_src_query):
22120         Pause task faster.
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         Fix query handling again.
22127
22128 2005-10-19  Wim Taymans  <wim@fluendo.com>
22129
22130         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22131         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
22132         * gst/base/gstbasesrc.c: (gst_base_src_query):
22133         * gst/elements/gstfilesink.c: (gst_file_sink_query):
22134         * gst/elements/gsttypefindelement.c:
22135         (gst_type_find_handle_src_query), (find_element_get_length),
22136         (gst_type_find_element_activate):
22137         API change fix.
22138
22139         * gst/gstquery.c: (gst_query_new_position),
22140         (gst_query_set_position), (gst_query_parse_position),
22141         (gst_query_new_duration), (gst_query_set_duration),
22142         (gst_query_parse_duration), (gst_query_set_segment),
22143         (gst_query_parse_segment):
22144         * gst/gstquery.h:
22145         Bundling query position/duration is not a good idea since duration
22146         does not change much and we don't want to recalculate it for every
22147         position query, so they are separated again..
22148         Base value in segment query is not needed.
22149
22150         * gst/gstqueue.c: (gst_queue_handle_src_query):
22151         * gst/gstutils.c: (gst_element_query_position),
22152         (gst_element_query_duration), (gst_pad_query_position),
22153         (gst_pad_query_duration):
22154         * gst/gstutils.h:
22155         Updates for query API change.
22156         Added some docs here and there.
22157
22158 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
22159
22160         * check/gst/gstbin.c: (GST_START_TEST):
22161         * check/gst/gstghostpad.c: (GST_START_TEST):
22162         * check/pipelines/cleanup.c: (GST_START_TEST):
22163           wait on thread to die so we can check refcount correctly
22164
22165 2005-10-18  Wim Taymans  <wim@fluendo.com>
22166
22167         * check/pipelines/stress.c: (GST_START_TEST):
22168         Make check a little more time consuming.
22169
22170 2005-10-18  Wim Taymans  <wim@fluendo.com>
22171
22172         * check/Makefile.am:
22173         * check/pipelines/stress.c: (GST_START_TEST),
22174         (simple_launch_lines_suite), (main):
22175         Small state change torture test.
22176
22177         * docs/design/part-states.txt:
22178         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
22179         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
22180         (gst_base_sink_change_state):
22181         Never take state lock from streaming thread, clean up ugly
22182         hacks. Unfortunatly core does not yet support nice ways to
22183         async commit state.
22184         
22185         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
22186         (bin_bus_handler):
22187         Start state recalc if a STATE_DIRTY message is posted, but only
22188         on the toplevel bin.
22189
22190         * gst/gstelement.c: (gst_element_sync_state_with_parent),
22191         (gst_element_get_state_func), (gst_element_abort_state),
22192         (gst_element_commit_state), (gst_element_lost_state),
22193         (gst_element_set_state_func), (gst_element_change_state):
22194         * gst/gstelement.h:
22195         State variables are now protected with the LOCK, the state
22196         lock is only used to serialize _set_state().
22197
22198 2005-10-18  Wim Taymans  <wim@fluendo.com>
22199
22200         * check/gst/gstbin.c: (GST_START_TEST):
22201         * check/gst/gstmessage.c: (GST_START_TEST):
22202         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22203         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
22204         (bin_bus_handler):
22205         * gst/gstelement.c: (gst_element_abort_state),
22206         (gst_element_commit_state), (gst_element_lost_state):
22207         * gst/gstmessage.c: (gst_message_new_state_changed),
22208         (gst_message_new_state_dirty), (gst_message_new_segment_start),
22209         (gst_message_new_segment_done), (gst_message_new_duration),
22210         (gst_message_parse_state_changed),
22211         (gst_message_parse_segment_start),
22212         (gst_message_parse_segment_done), (gst_message_parse_duration):
22213         * gst/gstmessage.h:
22214         * tools/gst-launch.c: (event_loop):
22215         Seriously, this is better than a previous commit as we only need
22216         to notify the fact that an element changed state in a streaming
22217         thread, marking the state of the parents dirty, hence the 
22218         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
22219         message.
22220
22221 2005-10-18  Wim Taymans  <wim@fluendo.com>
22222
22223         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
22224         (gst_bin_recalc_func):
22225         * gst/gstelement.c: (gst_element_set_clock),
22226         (gst_element_abort_state), (gst_element_lost_state):
22227         Cleanups, prepare for state change fixes.
22228
22229 2005-10-18  Wim Taymans  <wim@fluendo.com>
22230
22231         * gst/gstbin.h:
22232         * gst/gstelement.c: (gst_element_class_init),
22233         (gst_element_set_state), (gst_element_set_state_func):
22234         * gst/gstelement.h:
22235         Pending ABI changes.
22236         GThreadPool in GstBinClass to monitor async state changes.
22237         state_cookie in GstElement to detect concurrent gst/set state.
22238         set_state is now virtual too in case a very complicated element
22239         has to be constructed.
22240
22241 2005-10-18  Wim Taymans  <wim@fluendo.com>
22242
22243         * check/gst/gstbin.c: (GST_START_TEST):
22244         * check/gst/gstmessage.c: (GST_START_TEST):
22245         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
22246         * gst/gstbin.c: (bin_bus_handler):
22247         * gst/gstelement.c: (gst_element_commit_state),
22248         (gst_element_lost_state):
22249         * gst/gstmessage.c: (gst_message_new_state_changed),
22250         (gst_message_new_segment_start), (gst_message_new_segment_done),
22251         (gst_message_new_duration), (gst_message_parse_state_changed),
22252         (gst_message_parse_segment_start),
22253         (gst_message_parse_segment_done), (gst_message_parse_duration):
22254         * gst/gstmessage.h:
22255         * tools/gst-launch.c: (event_loop):
22256         Make messages future proof.
22257         state-change gets a flag if it was a message comming from the
22258         streaming thread.
22259         segment-start/stop can also be specified in other formats.
22260         A message to notify an app that a pipeline changed playback 
22261         duration.
22262         Also fix a GstMessage leak in -launch
22263
22264 2005-10-18  Andy Wingo  <wingo@pobox.com>
22265
22266         * gst/gstelement.c (gst_element_dispose): More helpful message.
22267
22268 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22269
22270         reviewed by: <delete if not using a buddy>
22271
22272         * common/gtk-doc.mak:
22273
22274 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
22275
22276         * gst/gstregistry.c: (gst_registry_scan_path_level):
22277           unref a plug-in we get that was already initialized
22278
22279 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
22280
22281         * docs/gst/gstreamer-sections.txt:
22282         * docs/libs/gstreamer-libs-sections.txt:
22283         * gst/gstelement.h:
22284           add new api entries
22285           hide internal macro
22286
22287 2005-10-17  Andy Wingo  <wingo@pobox.com>
22288
22289         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
22290         cleanup.
22291
22292         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
22293
22294         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
22295
22296         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
22297         (gst_element_get_state_func): Better debug message.
22298         (gst_element_commit_state): s/INFO/DEBUG/.
22299         (gst_element_lost_state, gst_element_change_state): 
22300
22301         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
22302         (gst_message_new_custom): s/INFO/LOG/.
22303
22304 2005-10-17  Michael Smith <msmith@fluendo.com>
22305
22306         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
22307           Check if end time is valid using end time, not start time.
22308
22309 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
22310
22311         * check/gst-libs/controller.c: (GST_START_TEST),
22312         (gst_controller_suite):
22313         * libs/gst/controller/gstcontroller.c:
22314         (gst_controlled_property_set_interpolation_mode):
22315         * libs/gst/controller/gstcontroller.h:
22316         * libs/gst/controller/gstinterpolation.c:
22317         * testsuite/controller/.cvsignore:
22318         * testsuite/controller/Makefile.am:
22319         * testsuite/controller/interpolator.c:
22320           merge controller testsuites
22321           fix broken tests
22322           remove mem-chunk from docs
22323
22324 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22325
22326         * gst/gstmemchunk.c:
22327         * gst/gstmemchunk.h:
22328         * gst/gsttrashstack.c:
22329         * gst/gsttrashstack.h:
22330           out.  get out.  you're fired.  to the Attic !
22331
22332 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
22333
22334         * gst/gstcaps.c: (gst_caps_intersect):
22335           fix signedness issues in a (hopefully) correct way
22336         * gst/gstelement.c: (gst_element_pads_activate):
22337           some debugging
22338         * gst/gstobject.c: (gst_object_set_parent):
22339           some debugging
22340
22341 2005-10-17  Julien MOUTTE  <julien@moutte.net>
22342
22343         * gst/gstvalue.h: Fix prototypes.
22344
22345 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22346
22347         * docs/gst/gstreamer-sections.txt:
22348         * gst/gst.c: (gst_version_string):
22349         * gst/gst.h:
22350         * gst/gstversion.h.in:
22351         * win32/common/libgstreamer.def:
22352           add gst_version_string ()
22353
22354 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22355
22356         * configure.ac:
22357           clean up further
22358         * gst/gst.c: (init_post):
22359         * win32/common/config.h.in:
22360           it's PLUGINDIR now
22361         * gst/gstcaps.c: (gst_caps_intersect):
22362           use gint64, the range could be bigger than a guint
22363
22364 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22365
22366         * gst/gstclock.h:
22367           document potential problem in 2038
22368
22369 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22370
22371         * gst/gstcaps.c: (gst_caps_intersect):
22372           Fix guint j diving under 0
22373
22374 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22375
22376         * configure.ac:
22377         * win32/common/config.h:
22378         * win32/common/config.h.in:
22379           check for process.h, declares getpid() on Windows
22380         * gst/gstinfo.c:
22381           include process.h if we have it
22382         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
22383         * gst/gstmemchunk.h:
22384           fix signedness issues
22385         * win32/common/libgstreamer.def:
22386           fix get_type's
22387
22388 2005-10-16  Julien MOUTTE  <julien@moutte.net>
22389
22390         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
22391         fix. Because of unsigned ints, caps intersection was going nuts and
22392         trying to access structures with G_MAXUINT index. That fixes
22393         videotestsrc ! ffmpegcolorspace ! fakesink
22394         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
22395         consistency.
22396
22397 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22398
22399         * configure.ac:
22400           use the gettext macro
22401         * gst/elements/gstelements.c:
22402         * gst/gst.c:
22403         * gst/indexers/gstindexers.c:
22404           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
22405         * win32/common/config.h:
22406           updated config.h
22407         * win32/common/config.h.in:
22408           add the template to generate config.h
22409         * win32/common/gstenumtypes.c:
22410         * win32/common/gstversion.h:
22411           updated copies
22412
22413 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
22414
22415         * gst/gst.c: (gst_version):
22416         * gst/gstversion.h.in:
22417           add the nano
22418
22419 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22420
22421         * gst/gstevent.h:
22422           Oops, add missing closing bracket.
22423
22424 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22425
22426         * configure.ac:
22427           use common m4's for argument checking
22428
22429 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
22430
22431         * docs/gst/gstreamer-sections.txt:
22432         * gst/gstevent.h:
22433           Add GST_EVENT_TYPE_NAME() macro.
22434
22435 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22436
22437         * gst/gstinfo.c:
22438         * gst/gstpluginfeature.c:
22439         * gst/gsttask.c:
22440           privatize more symbols
22441
22442 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22443
22444         * configure.ac:
22445           add srcdir, builddir includes to GST_ALL_CFLAGS, since
22446           everything that uses GStreamer API should have the includes
22447
22448 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22449
22450         * docs/gst/gstreamer-sections.txt:
22451         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
22452         * gst/gstvalue.h:
22453           give each value a _get_type, removes the DATA exports
22454
22455 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22456
22457         * gst/gst.c:
22458         * gst/gst.h:
22459           remove _gst_registry_auto_load, not used anymore
22460         * gst/gstbin.c: (gst_bin_get_type):
22461         * gst/gstbin.h:
22462         * gst/gstelement.c: (gst_element_get_type):
22463         * gst/gstelement.h:
22464         * gst/gstobject.c: (gst_object_get_type):
22465         * gst/gstobject.h:
22466         * gst/gstpad.c: (gst_pad_get_type):
22467         * gst/gstpad.h:
22468           make _get_type functions similar, fixes data export from library
22469
22470 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22471
22472         * configure.ac:
22473           correctly make conditionals
22474         * gst/elements/Makefile.am:
22475         * gst/elements/gstelements.c:
22476           fix typo causing fdsrc not to build
22477
22478 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22479
22480         * testsuite/Makefile.am:
22481         * testsuite/bytestream/.cvsignore:
22482         * testsuite/bytestream/Makefile.am:
22483         * testsuite/bytestream/filepadsink.c:
22484         * testsuite/bytestream/gstbstest.c:
22485         * testsuite/bytestream/test1.c:
22486         * testsuite/bytestream/testfile1:
22487         * testsuite/caps/normalisation.c:
22488         * testsuite/caps/random.c: (main):
22489         * testsuite/cleanup/.cvsignore:
22490         * testsuite/cleanup/Makefile.am:
22491         * testsuite/cleanup/cleanup1.c:
22492         * testsuite/cleanup/cleanup2.c:
22493         * testsuite/cleanup/cleanup3.c:
22494         * testsuite/cleanup/cleanup4.c:
22495         * testsuite/cleanup/cleanup5.c:
22496         * testsuite/controller/interpolator.c:
22497         * testsuite/debug/printf_extension.c: (main):
22498         * testsuite/elements/tee.c:
22499         * testsuite/negotiation/.cvsignore:
22500         * testsuite/negotiation/Makefile.am:
22501         * testsuite/negotiation/pad_link.c:
22502         * testsuite/pad/Makefile.am:
22503         * testsuite/pad/chainnopull.c:
22504         * testsuite/pad/getnopush.c:
22505         * testsuite/pad/link.c:
22506         * testsuite/refcounting/sched.c: (create_pipeline):
22507         * testsuite/registry/Makefile.am:
22508         * testsuite/registry/gst-print-formats.c:
22509         * testsuite/schedulers/.cvsignore:
22510         * testsuite/schedulers/142183-2.c:
22511         * testsuite/schedulers/142183.c:
22512         * testsuite/schedulers/143777-2.c:
22513         * testsuite/schedulers/143777.c:
22514         * testsuite/schedulers/147713.c:
22515         * testsuite/schedulers/147819.c:
22516         * testsuite/schedulers/147894-2.c:
22517         * testsuite/schedulers/147894.c:
22518         * testsuite/schedulers/Makefile.am:
22519         * testsuite/schedulers/group_link.c:
22520         * testsuite/schedulers/queue_link.c:
22521         * testsuite/schedulers/relink.c:
22522         * testsuite/schedulers/unlink.c:
22523         * testsuite/schedulers/unref.c:
22524         * testsuite/schedulers/useless_iteration.c:
22525         * testsuite/states/bin.c:
22526           clean out/remove some stuff from the testsuite directories
22527
22528 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22529
22530         * configure.ac:
22531           check for some headers
22532         * gst/elements/Makefile.am:
22533         * gst/elements/gstelements.c:
22534           don't compile fdsrc without sys/socket.h
22535         * gst/indexers/Makefile.am:
22536         * gst/indexers/gstindexers.c: (plugin_init):
22537           don't compile fileindex without mmap
22538
22539 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
22540
22541         * configure.ac:
22542           reorganize
22543           clean up
22544           document more
22545           remove cruft
22546         * check/Makefile.am:
22547         * docs/gst/Makefile.am:
22548         * examples/helloworld/Makefile.am:
22549         * gst/Makefile.am:
22550         * gst/base/Makefile.am:
22551         * gst/check/Makefile.am:
22552         * gst/elements/Makefile.am:
22553         * gst/indexers/Makefile.am:
22554         * gst/parse/Makefile.am:
22555         * libs/gst/controller/Makefile.am:
22556         * libs/gst/dataprotocol/Makefile.am:
22557         * examples/helloworld/helloworld.c: (event_loop):
22558           compile fixes, though it's not being compiled currently
22559
22560 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22561
22562         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
22563           Add some simple tests for the new taglist date API.
22564
22565 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22566
22567         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
22568         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
22569           Beautify 'last-message' output: print 'none' for buffer timestamps
22570           and durations if none is set; improve alignment with next messages.
22571
22572 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
22573
22574         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
22575         * gst/gstpluginfeature.h:
22576         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
22577         * gst/gstregistry.h:
22578         * docs/gst/gstreamer-sections.txt:
22579           Add new API to check plugin feature version requirements.
22580
22581         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
22582           Some basic tests for the above.         
22583
22584 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22585
22586         * gst/gststructure.c: (gst_structure_to_string):
22587           guard against NULL printf - happens when for example
22588           a message structure with GstClock gets serialized
22589
22590 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
22591
22592         * gst/base/gstcollectpads.c: (gst_collectpads_event):
22593           Fix presumable copy'n'pasto.
22594
22595 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22596
22597         * gst/elements/gstfakesrc.h:
22598         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
22599         * gst/elements/gsttypefindelement.c:
22600           fix some signedness
22601         * gst/elements/gstfilesink.c: (gst_file_sink_render):
22602           I wonder if this could actually write +2GB files before
22603
22604 2005-10-13  Andy Wingo  <wingo@pobox.com>
22605
22606         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
22607         Fix Timmeke Waymans bug.
22608         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
22609         string of the proper length to gst_caps_from_string. There's a
22610         potential for, before this fix, that this could cause someone
22611         connecting over the network to cause a segfault if the payload is
22612         not NUL-terminated.
22613
22614 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
22615
22616         * docs/design/draft-push-pull.txt:
22617         * docs/design/part-overview.txt:
22618         * docs/random/TODO-pre-0.9:
22619         * docs/random/old/ChangeLog.gstreamer:
22620         * gst/base/gstpushsrc.c:
22621         * gst/gstclock.c:
22622           fixed typos
22623
22624 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22625
22626         * gst/glib-compat.c: (gst_flags_get_first_value):
22627         * gst/glib-compat.h:
22628         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
22629         (gst_value_compare_double), (gst_value_serialize_flags):
22630           GLib 2.6 g_flags_get_first_value has a bug that triggers an
22631           infinite loop
22632
22633 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22634
22635         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22636         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
22637           fix up debugging
22638         * tools/gst-launch.c: (event_loop):
22639           print out clock nicely
22640
22641 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
22642
22643         * docs/gst/gstreamer-sections.txt:
22644         * gst/gsttaglist.h:
22645         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
22646         (gst_tag_list_get_date_index):
22647           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
22648           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
22649
22650 2005-10-13  Julien MOUTTE  <julien@moutte.net>
22651
22652         * gst/base/gstcollectpads.c: (gst_collectpads_event),
22653         (gst_collectpads_chain):
22654         * gst/base/gstcollectpads.h: Handle newsegment and store informations
22655         in CollectData.
22656
22657 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
22658
22659         * docs/gst/gstreamer-sections.txt:
22660         * gst/gst.c:
22661         * gst/gsterror.h:
22662         * tools/gst-inspect.c: (main):
22663         * tools/gst-launch.c: (main):
22664         * tools/gst-run.c: (main):
22665         * tools/gst-xmlinspect.c: (main):
22666           fix GOption context leaks
22667           doc fixes
22668
22669 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
22670
22671         * gst/gstbus.c:
22672           use HAVE_UNISTD_H
22673         * win32/common/config.h:
22674           update config
22675         * win32/vs6/grammar.dsp:
22676         * win32/vs6/libgstelements.dsp:
22677         * win32/vs6/libgstreamer.dsp:
22678           update vs6 files
22679
22680 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22681
22682         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
22683         * gst/base/gstbasesrc.c: (gst_base_src_query):
22684           fix more guint64<->gdouble conversions
22685
22686 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22687
22688         * Makefile.am:
22689           add win32-update target
22690         * win32/common/gstconfig.h:
22691         * win32/common/gstenumtypes.c:
22692         * win32/common/gstenumtypes.h:
22693         * win32/common/gstversion.h:
22694           add files that visual studio can't generate
22695
22696 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
22697
22698         * Makefile.am:
22699           add a win32-update target
22700         * configure.ac:
22701
22702 2005-10-12  Wim Taymans  <wim@fluendo.com>
22703
22704         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22705         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
22706         * gst/gstelement.c: (gst_element_commit_state),
22707         (gst_element_set_state):
22708         Protect flags with proper lock.
22709         unref provided cached clock in dispose.
22710
22711 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
22712
22713         * gst/gst.c:
22714         * gst/gstminiobject.h:
22715         * gst/gstpad.h:
22716         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
22717           removed unused flags from miniobject
22718           doc fixes
22719
22720 2005-10-12  Wim Taymans  <wim@fluendo.com>
22721
22722         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
22723         (gst_file_sink_event), (gst_file_sink_render):
22724         Flush before seeking.
22725
22726 2005-10-12  Andy Wingo  <wingo@pobox.com>
22727
22728         * gst/gst.c (gst_init_check): Ignore unknown options, as has
22729         always been the case.
22730
22731 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
22732
22733         * check/gst/gstbin.c: (GST_START_TEST):
22734         * docs/gst/gstreamer-sections.txt:
22735         * gst/base/gstbasesink.c: (gst_base_sink_init):
22736         * gst/base/gstbasesrc.c: (gst_base_src_init),
22737         (gst_base_src_get_range), (gst_base_src_check_get_range),
22738         (gst_base_src_start), (gst_base_src_stop):
22739         * gst/base/gstbasesrc.h:
22740         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
22741         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
22742         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
22743         (bin_bus_handler):
22744         * gst/gstbin.h:
22745         * gst/gstbuffer.h:
22746         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
22747         * gst/gstbus.h:
22748         * gst/gstelement.c: (gst_element_is_locked_state),
22749         (gst_element_set_locked_state), (gst_element_commit_state),
22750         (gst_element_set_state):
22751         * gst/gstelement.h:
22752         * gst/gstindex.c: (gst_index_init):
22753         * gst/gstindex.h:
22754         * gst/gstminiobject.h:
22755         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
22756         (gst_object_set_parent):
22757         * gst/gstobject.h:
22758         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
22759         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
22760         * gst/gstpad.h:
22761         * gst/gstpadtemplate.h:
22762         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
22763         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
22764         * gst/gstpipeline.h:
22765         * gst/indexers/gstfileindex.c: (gst_file_index_load),
22766         (gst_file_index_commit):
22767         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
22768         * testsuite/pad/link.c: (gst_test_src_init),
22769         (gst_test_filter_init), (gst_test_sink_init):
22770         * testsuite/states/locked.c: (main):
22771           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
22772           moved bitshift from macro to enum definition
22773
22774 2005-10-12  Wim Taymans  <wim@fluendo.com>
22775
22776         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
22777         * gst/elements/gstfilesink.c: (gst_file_sink_event),
22778         (gst_file_sink_render):
22779         Some more debugging info.
22780
22781 2005-10-12  Wim Taymans  <wim@fluendo.com>
22782
22783         * docs/design/part-states.txt:
22784         * tools/gst-launch.c: (main):
22785         Some doc updates.
22786         Revert non-intentional change.
22787
22788 2005-10-12  Wim Taymans  <wim@fluendo.com>
22789
22790         * check/gst/gstbin.c: (GST_START_TEST):
22791         * check/gst/gstelement.c: (GST_START_TEST):
22792         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
22793         * check/gst/gstghostpad.c: (GST_START_TEST):
22794         * check/gst/gstpipeline.c: (GST_START_TEST):
22795         * check/pipelines/simple_launch_lines.c: (run_pipeline):
22796         * check/states/sinks.c: (GST_START_TEST):
22797         * gst/elements/gsttypefindelement.c: (stop_typefinding):
22798         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
22799         (gst_bin_remove_func), (gst_bin_get_state_func),
22800         (gst_bin_recalc_state), (gst_bin_change_state_func),
22801         (bin_bus_handler):
22802         * gst/gstelement.c: (gst_element_get_state_func),
22803         (gst_element_get_state), (gst_element_abort_state),
22804         (gst_element_commit_state), (gst_element_set_state),
22805         (gst_element_change_state), (gst_element_change_state_func):
22806         * gst/gstelement.h:
22807         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
22808         (gst_pipeline_provide_clock_func):
22809         * gst/gstutils.c: (gst_element_link_pads_filtered):
22810         * tools/gst-launch.c: (main):
22811         * tools/gst-typefind.c: (main):
22812         Use GstClockTime in _get_state() instead of GTimeVal.
22813         Remove old code in gstutils.c
22814
22815 2005-10-12  Andy Wingo  <wingo@pobox.com>
22816
22817         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
22818         removed.
22819
22820         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
22821         there is no task. Shouldn't affect any code, as nothing in our
22822         plugins checks this return value.
22823         (gst_pad_stop_task): Also take the stream lock if the pad has no
22824         task. Docs updated.
22825
22826 2005-10-12  Wim Taymans  <wim@fluendo.com>
22827
22828         * gst/gstpad.c: (pre_activate), (post_activate),
22829         (gst_pad_activate_pull), (gst_pad_activate_push):
22830         Cleanup activation code. Reset old state if
22831         activation failed.
22832
22833 2005-10-12  Wim Taymans  <wim@fluendo.com>
22834
22835         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22836         (gst_base_sink_change_state):
22837         No need to prerol after receiving EOS.
22838
22839         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
22840         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
22841         * gst/elements/gstidentity.c: (gst_identity_event):
22842         Print events more verbosely.
22843
22844 2005-10-12  Wim Taymans  <wim@fluendo.com>
22845
22846         * check/Makefile.am:
22847         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
22848         * check/states/sinks2.c:
22849         Moved sinks2 testcode in sinks check.
22850
22851         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
22852         (gst_bin_remove_func), (gst_bin_recalc_state),
22853         (gst_bin_change_state_func), (bin_bus_handler):
22854         Fix potential race condition when _get_state() iterated over an
22855         ASYNC element right before it posted a state completion.
22856
22857         * gst/gstclock.h:
22858         Do proper cast here.
22859
22860         * gst/gstevent.c: (gst_event_new_newsegment),
22861         (gst_event_parse_newsegment):
22862         A playback rate of 0.0 is not allowed.
22863
22864 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22865
22866         * win32/common/config.h:
22867         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
22868         (_trewinddir), (_ttelldir), (_tseekdir):
22869         * win32/common/dirent.h:
22870         * win32/common/gtchar.h:
22871         * win32/common/libgstbase.def:
22872         * win32/common/libgstreamer.def:
22873         * win32/vs6/grammar.dsp:
22874         * win32/vs6/gst_inspect.dsp:
22875         * win32/vs6/gst_launch.dsp:
22876         * win32/vs6/gstreamer.dsw:
22877         * win32/vs6/libgstbase.dsp:
22878         * win32/vs6/libgstelements.dsp:
22879         * win32/vs6/libgstreamer.dsp:
22880           Visual Studio 6 project files, and a new common directory.
22881           Phear.
22882
22883 2005-10-11  Wim Taymans  <wim@fluendo.com>
22884
22885         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22886         (gst_base_sink_do_sync), (gst_base_sink_query),
22887         (gst_base_sink_change_state):
22888         * gst/base/gstbasesink.h:
22889         Correctly parse newsegment info.
22890
22891 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22892
22893         * gst/gst.c: (init_post):
22894           split plugin paths correctly
22895
22896 2005-10-11  Wim Taymans  <wim@fluendo.com>
22897
22898         * check/gst/gstevent.c: (GST_START_TEST):
22899         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
22900         (gst_base_sink_change_state):
22901         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
22902         * gst/base/gstbasetransform.c: (gst_base_transform_event):
22903         * gst/elements/gstfilesink.c: (gst_file_sink_event):
22904         * gst/gstevent.c: (gst_event_new_newsegment),
22905         (gst_event_parse_newsegment):
22906         * gst/gstevent.h:
22907         Added extra flag to newsegment for future API freeze.
22908         Updated check and base elements.
22909
22910 2005-10-11  Julien MOUTTE  <julien@moutte.net>
22911
22912         * gst/base/gstcollectpads.c: (gst_collectpads_init),
22913         (gst_collectpads_add_pad), (gst_collectpads_pop),
22914         (gst_collectpads_event), (gst_collectpads_chain):
22915         * gst/base/gstcollectpads.h: Handle EOS correctly.
22916
22917 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22918
22919         * tools/gst-launch.c: (main):
22920           more null protecting
22921
22922 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22923
22924         * gst/gst-i18n-lib.h:
22925           check for ENABLE_NLS, not GETTEXT_PACKAGE
22926         * gst/gstregistry.c: (gst_registry_add_plugin),
22927         (gst_registry_scan_path_level),
22928         (_gst_registry_remove_cache_plugins):
22929           protect possibly NULL strings
22930         * gst/parse/types.h:
22931           config.h already included before
22932         * tools/gst-inspect.c: (main):
22933           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
22934           check for ENABLE_NLS, not GETTEXT_PACKAGE
22935         * tools/gst-launch.c: (main):
22936           check for ENABLE_NLS, not GETTEXT_PACKAGE
22937
22938 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
22939
22940         * configure.ac:
22941           if we don't have glib, fail before testing 2.8
22942         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
22943           fix a leak, should fix plugins-base testsuite
22944
22945 2005-10-11  Andy Wingo  <wingo@pobox.com>
22946
22947         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
22948         take the mode we're going to as an arg. Go head and set the mode
22949         and flushing flags now, so that if the activate function starts a
22950         thread all the flags will be in the right state.
22951         (post_activate): Renamed also. Just handle making sure streaming
22952         finishes for the deactivation case, and setting the deactivated
22953         mode.
22954         (gst_pad_set_active): Complain loudly if deactivation fails.
22955         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
22956         (gst_pad_activate_push): Adapt to pre/post_activate changes,
22957         remove the terrible hack.
22958
22959 2005-10-11  Wim Taymans  <wim@fluendo.com>
22960
22961         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
22962         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
22963         (gst_bin_recalc_state), (gst_bin_change_state_func),
22964         (gst_bin_dispose), (bin_bus_handler):
22965         * gst/gstbin.h:
22966         Prepare to make current EOS message queue more generic.
22967         Fix some typos.
22968
22969         * gst/gstevent.c: (gst_event_new_newsegment),
22970         (gst_event_parse_newsegment):
22971         * gst/gstevent.h:
22972         Rename base to stream_time.
22973
22974         * gst/gstmessage.h:
22975         Fix typo in docs.
22976
22977 2005-10-11  Wim Taymans  <wim@fluendo.com>
22978
22979         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
22980         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
22981         (gst_bin_change_state_func), (bin_bus_handler):
22982         * gst/gstbin.h:
22983         Work on proper clock selection.
22984
22985 2005-10-11  Edward Hervey  <edward@fluendo.com>
22986
22987         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
22988         * libs/gst/controller/gstcontroller.h:
22989         Added GList* version of _remove_properties() in order to be able to wrap
22990         it in bindings.
22991
22992 2005-10-11  Wim Taymans  <wim@fluendo.com>
22993
22994         * docs/design/part-states.txt:
22995         Some more docs.
22996
22997         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
22998         (gst_bin_change_state_func), (bin_bus_handler):
22999         Doc updates. Don't distribute the same clock over and over again.
23000
23001         * gst/gstclock.c:
23002         * gst/gstclock.h:
23003         Doc updates.
23004
23005         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
23006         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
23007         (gst_pad_send_event):
23008         * gst/gstpad.h:
23009         Make probe emission threadsafe again.
23010         Register quarks and move _get_name() from utils.
23011         Doc updates.
23012
23013         * gst/gstpipeline.c: (gst_pipeline_class_init),
23014         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23015         Only redistribute the clock of it changed.
23016
23017         * gst/gstsystemclock.h:
23018         Doc updates. 
23019
23020         * gst/gstutils.c:
23021         * gst/gstutils.h:
23022         Moved the _flow_get_name() to GstPad.
23023
23024 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23025
23026         * check/gst-libs/gdp.c: (GST_START_TEST):
23027         * check/gst/gstcaps.c: (GST_START_TEST):
23028         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
23029         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
23030         (gst_dp_packet_from_caps):
23031           fix more valgrind warnings before turning up the heat
23032
23033 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
23034
23035         * gst/parse/grammar.y:
23036           some cleanup before the hacking
23037
23038 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23039
23040         * gst/base/gstbasesrc.c: (gst_base_src_query):
23041           use conversions
23042         * gst/gstutils.c: (gst_guint64_to_gdouble),
23043         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
23044         * gst/gstutils.h:
23045           externalize, basesrc uses it
23046           obviously the implementation needs testing
23047
23048 2005-10-10  Wim Taymans  <wim@fluendo.com>
23049
23050         * tests/sched/Makefile.am:
23051         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
23052         (make_pipeline3), (make_pipeline4), (print_elem), (main):
23053
23054 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23055
23056         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
23057           apparently converting from guint64 to double is not implemented
23058           on MSVC
23059
23060 2005-10-10  Wim Taymans  <wim@fluendo.com>
23061
23062         * check/Makefile.am:
23063         * check/generic/states.c: (GST_START_TEST):
23064         * check/gst/gstbin.c: (GST_START_TEST):
23065         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23066         * check/states/sinks.c: (GST_START_TEST):
23067         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
23068         (main):
23069         Check fixes, use API as stated in design docs, remove hacks.
23070
23071         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23072         (gst_base_sink_change_state):
23073         Catch stopping our task while we're shutting down.
23074
23075         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
23076         (gst_bin_remove_func), (gst_bin_get_state_func),
23077         (gst_bin_recalc_state), (gst_bin_change_state_func),
23078         (bin_bus_handler):
23079         * gst/gstbin.h:
23080         * gst/gstelement.c: (gst_element_init),
23081         (gst_element_get_state_func), (gst_element_abort_state),
23082         (gst_element_commit_state), (gst_element_lost_state),
23083         (gst_element_set_state), (gst_element_change_state),
23084         (gst_element_change_state_func):
23085         * gst/gstelement.h:
23086         New state change algorithm (see #318116)
23087
23088         * gst/gstpipeline.c: (gst_pipeline_class_init),
23089         (gst_pipeline_init), (gst_pipeline_set_property),
23090         (gst_pipeline_get_property), (do_pipeline_seek),
23091         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
23092         * gst/gstpipeline.h:
23093         Remove crude state change hacks.
23094
23095         * gst/gstutils.h:
23096         Remove crude hacks.
23097
23098         * tools/gst-launch.c: (main):
23099         Fixes for state change. Needs some more work to fully use the
23100         new stuff.
23101
23102 2005-10-10  Andy Wingo  <wingo@pobox.com>
23103
23104         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
23105
23106         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
23107         this flag, but it's not even in GLib 2.6. Odd. Hack around the
23108         issue.
23109
23110 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23111
23112         * gst/gstiterator.c: (gst_iterator_new):
23113           Fix my previous commit: GTypes passed to gst_iterator_new()
23114           can be fundamental types.
23115
23116 2005-10-10  Wim Taymans  <wim@fluendo.com>
23117
23118         * gst/gstelement.c: (gst_element_iterate_pad_list),
23119         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
23120         (gst_element_iterate_sink_pads):
23121         Use src/sink pads lists for the respective iterators instead
23122         of filtering.
23123
23124 2005-10-10  Andy Wingo  <wingo@pobox.com>
23125
23126         Merged in popt removal + GOption addition patch from Ronald, bug
23127         #169772.
23128
23129         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
23130         GstElement macros around, remove popt-related symbols, add goption
23131         stuff.
23132
23133         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
23134         
23135         * docs/gst/Makefile.am:
23136         * docs/libs/Makefile.am: No POPT_CFLAGS.
23137         
23138         * examples/manual/Makefile.am:
23139         * docs/manual/basics-init.xml: Doc updates with an example.
23140         
23141         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
23142         (gst_init), (parse_one_option), (parse_goption_arg):
23143         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
23144         bit of hand merging and debugging to get the GOption stuff working
23145         tho.
23146         
23147         * tests/Makefile.am:
23148         * tools/Makefile.am:
23149         * tools/gst-inspect.c: (main):
23150         * tools/gst-launch.c: (main):
23151         * tools/gst-run.c: (main):
23152         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
23153
23154 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23155
23156         * gst/gstiterator.c: (gst_iterator_new):
23157           Add assertions to make sure passed GType is likely to really
23158           be a GType (as the compiler won't catch it if the size and
23159           GType arguments get mixed up, see #318447).
23160
23161 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
23162
23163         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23164
23165         * gst/gstbin.c: (gst_bin_iterate_sorted):
23166           Pass GType and size arguments to gst_iterator_new() in the right
23167           order (maybe we should make _new() take the GType as first argument
23168           just like _new_list()?) (#318447).
23169           
23170
23171 2005-10-10  Wim Taymans  <wim@fluendo.com>
23172
23173         * gst/gstelement.c: (gst_element_finalize):
23174         And free the GStaticRecMutex too
23175
23176 2005-10-10  Andy Wingo  <wingo@pobox.com>
23177
23178         * gst/gstelement.c (gst_element_init, gst_element_finalize):
23179         Allocate and free the mutex properly.
23180
23181         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
23182         New macros.
23183         (GstElement): The state_lock is now recursive. Rebuild your
23184         plugins, suckers. Old macros adapted.
23185
23186         * docs/gst/gstreamer-sections.txt: Doc updates.
23187
23188         * gst/gstutils.h:
23189         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
23190         (g_static_rec_cond_wait): Ported from state changes patch, while
23191         we wait on bug #317802 to be solved in a well-distributed GLib.
23192
23193         * gst/gstelement.c (gst_element_change_state_func): Renamed from
23194         gst_element_change_state, variable name changes.
23195         (gst_element_change_state): Split out of gst_element_set_state in
23196         preparation for the state change merge. Doesn't pay attention to
23197         the 'transition' argument.
23198         (gst_element_set_state): Updates, hopefully purely cosmetic.
23199         (gst_element_sync_state_with_parent): MT-safety. Ported from the
23200         state change patch.
23201         (gst_element_get_state_func): Renamed from get_state, cosmetic
23202         changes.
23203
23204 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23205
23206         * gst/elements/gstelements.c:
23207         * win32/GStreamer.vcproj:
23208         * win32/config.h:
23209         * win32/dirent.c: (_tseekdir):
23210         * win32/gst-inspect.vcproj:
23211         * win32/gst-launch.vcproj:
23212         * win32/gstconfig.h:
23213         * win32/gstelements.vcproj:
23214         * win32/gstenumtypes.c: (gst_object_flags_get_type):
23215         * win32/gstreamer.def:
23216         * win32/msvc71.sln:
23217           updates for the win32 build (patch from Sebastien Moutte)
23218
23219 2005-10-10  Andy Wingo  <wingo@pobox.com>
23220
23221         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
23222         gst_bin_get_state, cleaned up (but no logic changes).
23223         (bin_element_is_sink): Comment updates.
23224         (sink_iterator_filter): Remove needless cast.
23225         (gst_bin_iterate_sinks): Doc update.
23226         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
23227         cleaned up (but no logic changes).
23228
23229         * check/states/sinks.c (test_src_sink): Cleanups from the state
23230         change patch.
23231         (test_livesrc_sink): Sync on the state.
23232
23233         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
23234         the state change patch.
23235
23236         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
23237         change patch.
23238
23239         * check/gst/gstbin.c: Merge in some style fixes and additional
23240         checks from Wim's state change patch.
23241
23242 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
23243
23244         * gst/base/gsttypefindhelper.c: (helper_find_peek),
23245         (gst_type_find_helper):
23246           Check whether we have the requested data already in our list of
23247           cached buffers before pulling a new buffer; also make the buffer
23248           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
23249
23250 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
23251
23252         * gst/gstcaps.c:
23253         * gst/gstevent.c:
23254           doc updates
23255         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
23256           don't use long long, it's not portable.  Replacing with
23257           gint64 seems to work; let's hope no skeletons fall out of the closet.
23258
23259 2005-10-10  Andy Wingo  <wingo@pobox.com>
23260
23261         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
23262
23263 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
23264
23265         * docs/gst/gstreamer-sections.txt:
23266         * gst/gstevent.c:
23267         * gst/gstevent.h:
23268         * gst/gstinfo.c:
23269         * gst/gstinfo.h:
23270         * gst/gstmessage.c: (gst_message_parse_state_changed):
23271         * gst/gstpad.c:
23272         * gst/gstpad.h:
23273           more docs, fix compilation
23274
23275 2005-10-09  Philippe Khalaf <burger@speedy.org>
23276         * gst/gstmessage.c:
23277           Fixed a few forgotten variables on previous commit
23278
23279 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
23280
23281         * gst/base/gsttypefindhelper.c: (helper_find_peek):
23282           Fix evil typefind crasher: getrange() might return a short
23283           buffer at the end of a file, but gst_type_find_peek() must
23284           either return the full data as requested or NULL, but
23285           never a short buffer.
23286
23287 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
23288
23289         * gst/gstmessage.c: (gst_message_new_state_changed),
23290         (gst_message_parse_state_changed):
23291         * gst/gstmessage.h:
23292           don't use "new", it's a C++ keyword
23293
23294 2005-10-08  Wim Taymans  <wim@fluendo.com>
23295
23296         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
23297         * gst/gstelement.c: (gst_element_post_message):
23298         * gst/gstpipeline.c: (gst_pipeline_change_state):
23299         Small docs and debug updates.
23300
23301 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23302
23303         * docs/gst/gstreamer-sections.txt:
23304         * gst/gstelementfactory.c:
23305         * gst/gstevent.c:
23306         * gst/gsttaglist.c:
23307           more docs
23308
23309 2005-10-08  Wim Taymans  <wim@fluendo.com>
23310
23311         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
23312         (gst_bin_dispose), (bin_bus_handler):
23313         Fix typos, add comments.
23314         Clear EOS list when going to PAUSED from any direction and do it
23315         in a threadsafe way.
23316         Get base time in a threadsafe way too.
23317         Fix confusing debug in the change_state function.
23318         Various other small cleanups.
23319         
23320         * gst/gstelement.c: (gst_element_post_message):
23321         Fix very verbose bus posting code.
23322
23323         * gst/gstpipeline.c: (gst_pipeline_class_init),
23324         (gst_pipeline_set_property), (gst_pipeline_get_property),
23325         (gst_pipeline_change_state):
23326         Small ARG_ -> PROP_ cleanup
23327
23328 2005-10-08  Wim Taymans  <wim@fluendo.com>
23329
23330         * gst/gstbin.c: (is_eos), (bin_bus_handler):
23331         Do a less CPU demanding EOS check because we can.
23332
23333 2005-10-08  Wim Taymans  <wim@fluendo.com>
23334
23335         * libs/gst/dataprotocol/dataprotocol.c:
23336         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
23337         (gst_dp_packet_from_event):
23338         * libs/gst/dataprotocol/dataprotocol.h:
23339         * libs/gst/dataprotocol/dp-private.h:
23340         It's about time we bump the version number.
23341         Since event types don't fit in the guint8 anymore describing
23342         the payload type, make payload type 16 bits wide.
23343
23344 2005-10-08  Wim Taymans  <wim@fluendo.com>
23345
23346         * docs/design/part-TODO.txt:
23347         * docs/design/part-clocks.txt:
23348         * docs/design/part-events.txt:
23349         * docs/design/part-gstbin.txt:
23350         * docs/design/part-gstelement.txt:
23351         * docs/design/part-gstpipeline.txt:
23352         * docs/design/part-live-source.txt:
23353         * docs/design/part-messages.txt:
23354         * docs/design/part-overview.txt:
23355         * docs/design/part-states.txt:
23356         Many doc updates.
23357
23358 2005-10-08  Wim Taymans  <wim@fluendo.com>
23359
23360         * gst/gstevent.c:
23361         * gst/gstevent.h:
23362         Fix event quark registration.
23363         Add some space between events so we can insert them in the
23364         right groups.
23365
23366 2005-10-08  Wim Taymans  <wim@fluendo.com>
23367
23368         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23369         (gst_base_sink_handle_buffer):
23370         Better log message.
23371
23372         * gst/gstbus.h:
23373         * gst/gstelement.h:
23374         More docs.
23375
23376         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
23377         (gst_queue_set_property), (gst_queue_get_property):
23378         * gst/gstqueue.h:
23379         Remove old unused properties.
23380
23381 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
23382         * docs/gst/gstreamer-sections.txt:
23383         * gst/gstmessage.c:
23384         * gst/gstmessage.h:
23385         * gst/gstminiobject.c:
23386         * gst/gstminiobject.h:
23387         * gst/gstobject.h:
23388         * gst/gstpad.h:
23389         * gst/gstutils.h:
23390           lots of new docs and doc fixes
23391
23392 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23393
23394         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
23395         * gst/gstplugin.h:
23396         * gst/gstregistry.c: (gst_registry_lookup_locked),
23397         (gst_registry_scan_path_level):
23398         * gst/gstregistryxml.c: (load_plugin):
23399           Only ever load one plugin for a given plugin basename.
23400           This ensures correct overriding of GST_PLUGIN_PATH over
23401           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
23402           system installed plugins.
23403
23404 2005-10-08  Wim Taymans  <wim@fluendo.com>
23405
23406         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
23407         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
23408         Prepare for doing QOS.
23409
23410 2005-10-08  Wim Taymans  <wim@fluendo.com>
23411
23412         * check/gst/gstbin.c: (GST_START_TEST):
23413         * check/pipelines/cleanup.c: (GST_START_TEST):
23414         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
23415         Allow new clock message too.
23416
23417 2005-10-08  Wim Taymans  <wim@fluendo.com>
23418
23419         * gst/gstmessage.c: (gst_message_new_error),
23420         (gst_message_new_warning), (gst_message_new_tag),
23421         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23422         (gst_message_new_clock_lost), (gst_message_new_new_clock),
23423         (gst_message_new_segment_start), (gst_message_new_segment_done),
23424         (gst_message_parse_state_changed),
23425         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
23426         (gst_message_parse_new_clock):
23427         * gst/gstmessage.h:
23428         Also carry the clock in question.
23429
23430 2005-10-08  Wim Taymans  <wim@fluendo.com>
23431
23432         * gst/gstmessage.c: (gst_message_new_custom),
23433         (gst_message_new_eos), (gst_message_new_error),
23434         (gst_message_new_warning), (gst_message_new_tag),
23435         (gst_message_new_state_changed), (gst_message_new_clock_provide),
23436         (gst_message_new_new_clock), (gst_message_new_segment_start),
23437         (gst_message_new_segment_done), (gst_message_parse_state_changed),
23438         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
23439         * gst/gstmessage.h:
23440         Clean up.
23441         Added clock related messages.
23442
23443         * gst/gstpipeline.c: (gst_pipeline_change_state):
23444         Post message when the clock changed.
23445
23446         * tools/gst-launch.c: (event_loop):
23447         Print new clock.
23448
23449 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
23450
23451         * tools/gst-inspect.c: (print_element_properties_info):
23452           Can't pass NULL strings to g_print() on windows.
23453
23454 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23455
23456         * docs/Makefile.am:
23457         * docs/gst/Makefile.am:
23458         * docs/gst/gstreamer-docs.sgml:
23459         * docs/gst/running.xml:
23460         * docs/version.entities.in:
23461           add a chapter on running GStreamer.
23462           document GST_DEBUG and GST_PLUGIN* env vars
23463
23464 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23465
23466         * Makefile.am:
23467           remove include dir
23468         * configure.ac:
23469           remove PLUGINS_BUILDDIR stuff
23470         * gst/gst.c: (init_post):
23471           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
23472         * idiottest.mak:
23473           remove, it was condescending and not needed
23474
23475 2005-10-08  Wim Taymans  <wim@fluendo.com>
23476
23477         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
23478         (gst_base_sink_handle_object), (gst_base_sink_event),
23479         (gst_base_sink_wait), (gst_base_sink_handle_event),
23480         (gst_base_sink_change_state):
23481         * gst/base/gstbasesink.h:
23482         Repost EOS message while going to PLAYING if still EOS.
23483         Make sure that when receiving a FLUSH_START we don't attempt
23484         to sync on the clock anymore.
23485
23486 2005-10-08  Wim Taymans  <wim@fluendo.com>
23487
23488         * tools/gst-launch.c: (event_loop):
23489         Better message printout.
23490
23491 2005-10-08  Wim Taymans  <wim@fluendo.com>
23492
23493         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
23494         (gst_bin_child_proxy_get_children_count):
23495         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
23496         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
23497         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
23498         (gst_child_proxy_set_valist):
23499         * gst/parse/grammar.y:
23500         Make ChildProxy threadsafe and fix mem leaks.
23501
23502 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23503
23504         * gst/gst.c: (init_post):
23505           debug the GST_PLUGIN_ env vars
23506
23507 2005-10-08  Wim Taymans  <wim@fluendo.com>
23508
23509         * check/gst/gstbin.c: (GST_START_TEST):
23510         * check/gst/gstmessage.c: (GST_START_TEST):
23511         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
23512         * gst/gstelement.c: (gst_element_commit_state),
23513         (gst_element_lost_state):
23514         * gst/gstmessage.c: (gst_message_new_state_changed),
23515         (gst_message_parse_state_changed):
23516         * gst/gstmessage.h:
23517         * tools/gst-launch.c: (event_loop):
23518         Added extra field to STATE_CHANGE message with the pending
23519         state, which will be different from the new state soon.
23520
23521 2005-10-08  Wim Taymans  <wim@fluendo.com>
23522
23523         * gst/gstbus.c: (gst_bus_pop):
23524         * gst/gstclock.c:
23525         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
23526         Small cleanups and doc updates.
23527
23528 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
23529
23530         * gst/gst.c: (init_pre):
23531         * gst/gstbin.c: (gst_bin_add_func):
23532           log distributing clocks and base time
23533         * gst/gstregistry.c: (gst_registry_add_plugin),
23534         (gst_registry_scan_path_level), (gst_registry_scan_path):
23535           clean up the debugging output a little
23536         * gst/gstutils.c: (gst_element_state_get_name):
23537           warn about a memleak (I've actually seen this be used, though
23538           it was probably a bug)
23539
23540 2005-10-07  Wim Taymans  <wim@fluendo.com>
23541
23542         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23543         (gst_base_src_init), (gst_base_src_default_newsegment),
23544         (gst_base_src_newsegment), (gst_base_src_do_seek),
23545         (gst_base_src_loop), (gst_base_src_start):
23546         * gst/base/gstbasesrc.h:
23547         Make the newsegment event customizable by subclasses.
23548
23549 2005-10-07  Wim Taymans  <wim@fluendo.com>
23550
23551         * gst/gstevent.c: (gst_event_new_buffersize),
23552         (gst_event_parse_buffersize):
23553         * gst/gstevent.h:
23554         New event for future idea.
23555
23556 2005-10-07  Andy Wingo  <wingo@pobox.com>
23557
23558         * gst/gstelement.c (gst_element_post_message): Doc update.
23559
23560         * docs/gst/gstreamer-sections.txt: Update.
23561
23562         * gst/gstmessage.c (gst_message_new_application): Made into a
23563         function like honest API calls.
23564         (gst_message_new_element): New message type.
23565
23566         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
23567
23568         * check/elements/fakesrc.c (test_no_preroll): New check, checks
23569         that setting a live fakesrc to PAUSED returns NO_PREROLL both
23570         times.
23571
23572         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
23573         NO_PREROLL from gst_element_change_state to fall through.
23574
23575 2005-10-07  Wim Taymans  <wim@fluendo.com>
23576
23577         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
23578         (gst_ghost_pad_do_activate_push):
23579         Activating a ghostpad with no internal pad in push mode
23580         is ok.
23581
23582 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
23583
23584         * gst/gstobject.h:
23585           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
23586           Fixes compilation on Windows.
23587
23588 2005-10-07  Michael Smith <msmith@fluendo.com>
23589
23590         * tools/gst-inspect.c:
23591           Print out feature and plugin count at the end when printing out
23592           all features.
23593
23594 2005-10-04  Michael Smith <msmith@fluendo.com>
23595
23596         * gst/gsterror.c: (_gst_stream_errors_init):
23597           Add another error string used in a few existing plugins.
23598
23599         * gst/gstplugin.c:
23600         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
23601         * tools/gst-inspect.c: (print_element_info):
23602           When a feature disappears from a plugin (and the feature exists in
23603           the cached registry file), things went horribly wrong. This isn't a
23604           complete fix, we should actually be removing the 'missing' features
23605           from the features list when we load the actual plugin. That's not
23606           yet implemented. 
23607
23608 2005-10-04  Johan Dahlin  <johan@gnome.org>
23609
23610         * check/gst/gstiterator.c: (GST_START_TEST):
23611         * gst/gstbin.c: (gst_bin_iterate_elements),
23612         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
23613         * gst/gstelement.c: (gst_element_iterate_pads):
23614         * gst/gstformat.c: (gst_format_iterate_definitions):
23615         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
23616         (gst_iterator_new_list), (gst_iterator_filter):
23617         * gst/gstiterator.h:
23618         * gst/gstquery.c: (gst_query_type_iterate_definitions):
23619         Add a GType to GstIterator, update callsites and tests.
23620
23621 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23622
23623         * gst/gstpad.c: (gst_pad_event_default_dispatch):
23624           give events a chance to be handled by event probes when the pad
23625           is not linked
23626
23627 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23628
23629         * gst/gstevent.c: (gst_event_type_get_name),
23630         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
23631         * gst/gstevent.h:
23632           add string representations for event types
23633
23634 2005-10-06  Wim Taymans  <wim@fluendo.com>
23635
23636         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
23637         Don't use NULL pointers.
23638
23639 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23640
23641         * gst/gst_private.h:
23642         * gst/gstbus.c:
23643         * gst/gstelement.c:
23644         * gst/gstinfo.c:
23645         * gst/gstpluginfeature.c:
23646           widen the debug category in output to fit the biggest one we have
23647           add a bus category and use it
23648           play with the colors
23649           fix up some categories
23650
23651 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
23652
23653         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
23654           add push activation of sink ghost pads.
23655           Andye, please verify
23656
23657 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
23658
23659         * gst/gstutils.c: (gst_element_link_pads):
23660           fix a bug in the case where neither element has a pad
23661         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
23662           add a test for that case
23663
23664 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
23665
23666         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
23667           emit have-data before checking for peers.  This allows
23668           for probe handlers to connect elements.  This helps autopluggers.
23669         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
23670         (gst_pad_suite):
23671           add six checks, linked/unlinked with no/true/false probe
23672
23673 2005-10-04  Wim Taymans  <wim@fluendo.com>
23674
23675         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
23676         (gst_fake_sink_event), (gst_fake_sink_preroll),
23677         (gst_fake_sink_render), (gst_fake_sink_change_state):
23678         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
23679         (gst_fake_src_get_property), (gst_fake_src_create),
23680         (gst_fake_src_stop):
23681         * gst/elements/gstidentity.c: (gst_identity_stop):
23682         Protect last_message with lock.
23683
23684 2005-10-04  Edward Hervey  <edward@fluendo.com>
23685
23686         * gst/gstformat.h: 
23687         Added precision in the comments for GST_FORMAT_DEFAULT
23688
23689 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
23690
23691         * tools/gst-launch.c: (main):
23692           Don't try to run erroneous pipelines.
23693
23694 2005-10-04  Julien MOUTTE  <julien@moutte.net>
23695
23696         * gst/gstbus.c: We don't need this header.
23697
23698 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
23699
23700         * configure.ac:
23701           back to development
23702
23703 === release 0.9.3 ===
23704
23705 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
23706
23707         * README:
23708         * configure.ac:
23709           Releasing 0.9.3, "Unregistered"
23710
23711 2005-10-03  Andy Wingo  <wingo@pobox.com>
23712
23713         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
23714         whereby calling a pad's activatepush() function can start a thread
23715         that starts to push or pull before the pad gets the FLUSHING flag
23716         unset. Hack around it by holding the stream lock until the flag is
23717         set. Need to replace this with a proper solution. Together with
23718         the ghost pad fixes, this fixes mp3 playing/tagreading.
23719
23720         * docs/design/part-gstghostpad.txt: Add a note about activation of
23721         proxy pads outside of ghost pads.
23722
23723         * gst/gstghostpad.c: Implement the ghost pad activation design.
23724
23725 2005-10-02  Andy Wingo  <wingo@pobox.com>
23726
23727         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
23728         It is volatile, after all.
23729
23730         * docs/design/part-gstghostpad.txt: Flesh out activation with
23731         ghost pads.
23732
23733         * gst/base/gstbasesrc.c (gst_base_src_init): Use
23734         GST_DEBUG_FUNCPTR.
23735
23736 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
23737
23738         * configure.ac:
23739           Fix (unused) AM_CONDITIONAL tests.
23740
23741 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
23742
23743         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
23744
23745         * gst/gstutils.c: (gst_pad_query_convert):
23746           Add assertion that makes sure src_val is >=0, just like
23747           gst_query_new_convert() has. (#315895)
23748
23749 2005-09-30  Edward Hervey  <edward@fluendo.com>
23750
23751         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
23752         Let's not iterate pads we're not interested in, it avoids getting 
23753         sky-high refcounts on sinkpad.
23754
23755 2005-09-30  Wim Taymans  <wim@fluendo.com>
23756
23757         * gst/gstelement.c: (gst_element_set_state),
23758         (gst_element_change_state):
23759         Small tweak, element in ASYNC remains ASYNC.
23760
23761 2005-09-30  Wim Taymans  <wim@fluendo.com>
23762
23763         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
23764         Only error is an error.
23765
23766         * gst/gstbin.c: (gst_bin_change_state):
23767         Better debugging.
23768
23769         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
23770         Also call pad_block in pad alloc.
23771
23772         * gst/gstutils.c: (gst_flow_get_name):
23773         Better debugging.
23774
23775 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
23776
23777         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
23778         (gst_base_src_get_range):
23779           Fix documentation typos. Add some more debug info.
23780
23781 2005-09-29  David Schleef  <ds@schleef.org>
23782
23783         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
23784           more end-user friendly.
23785         * tools/gst-inspect.c: (main): Check if command-line argument is
23786           a file and attempt to load that file as a plugin.
23787
23788 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
23789
23790         * check/gst/gstbin.c:
23791         * check/states/sinks.c:
23792           fix tests for the new warning
23793         * check/gst/gstpipeline.c:
23794           add a test for pipeline and bus interaction
23795         * gst/gstelement.c:
23796           elements should be NULL if they get disposed; add a warning if not
23797
23798 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
23799
23800         * gst/gstobject.c:
23801           for 2.6 refcounting, make debug log more correct by printing
23802           the actual refcounts at the time of swap (Wim)
23803
23804 2005-09-29  Andy Wingo  <wingo@pobox.com>
23805
23806         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
23807         removes signal watches previously added via
23808         gst_bus_add_signal_watch.
23809         (gst_bus_add_signal_watch): Don't return the source id, just store
23810         it on the bus if there wasn't an id already.
23811
23812         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
23813         add_signal_watch and remove_signal_watch.
23814
23815 2005-09-29  Edward Hervey  <edward@fluendo.com>
23816
23817         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
23818         Better if we actually iterate the list :)
23819
23820 2005-09-29  Wim Taymans  <wim@fluendo.com>
23821
23822         * check/gst/gstbin.c: (GST_START_TEST):
23823         Change for new bus API.
23824
23825         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
23826         (send_messages), (GST_START_TEST), (gstbus_suite):
23827         Change for new bus signal API.
23828
23829         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
23830         (gst_bus_source_prepare), (gst_bus_source_check),
23831         (gst_bus_create_watch), (gst_bus_add_watch_full),
23832         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
23833         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
23834         * gst/gstbus.h:
23835         Remove support for multiple GSources operating on different
23836         message types as it is too complex and unneeded when using
23837         signals.
23838         Added support for receiving signals from the bus.
23839
23840 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
23841
23842         * docs/libs/tmpl/gstdataprotocol.sgml:
23843         * docs/manual/advanced-dataaccess.xml:
23844         * gst/elements/gstcapsfilter.c:
23845         * gst/gstutils.c:
23846           rename filter-caps to caps property
23847
23848 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
23849
23850         * gst/gstvalue.c: (gst_value_deserialize_fraction):
23851           More robust fraction string parsing.
23852
23853         * docs/pwg/appendix-porting.xml:
23854           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
23855
23856 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
23857
23858         * gst/gstcaps.c: (gst_caps_do_simplify):
23859           Thou shalt not free a structure and then continue using it
23860           in the next loop iteration.
23861
23862         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
23863         (gst_caps_suite):
23864           Add test case for caps simplification.
23865
23866 2005-09-29  Wim Taymans  <wim@fluendo.com>
23867
23868         * check/gst/gstbin.c: (GST_START_TEST):
23869         Oops.
23870
23871 2005-09-29  Wim Taymans  <wim@fluendo.com>
23872
23873         * check/gst/gstbin.c: (GST_START_TEST):
23874         Add bus to bin.
23875
23876         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
23877         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
23878         (find_element), (gst_bin_sort_iterator_next),
23879         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
23880         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
23881         (gst_bin_change_state), (gst_bin_dispose):
23882         A bin does not have a bus, it gets the bus from the parent.
23883
23884         * gst/gstelement.c: (gst_element_requires_clock),
23885         (gst_element_provides_clock), (gst_element_is_indexable),
23886         (gst_element_is_locked_state), (gst_element_change_state),
23887         (gst_element_set_bus_func):
23888         Small cleanups.
23889
23890         * gst/gstpipeline.c: (gst_pipeline_class_init),
23891         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
23892         The pipeline provides a bus.
23893
23894 2005-09-28  Johan Dahlin  <johan@gnome.org>
23895
23896         * gst/gstmessage.c (gst_message_parse_state_changed): Use
23897         gst_structure_get_enum instead of gst_structure_get_int
23898
23899         * gst/gststructure.c (gst_structure_get_enum): Impl.
23900
23901         * gst/gststructure.h (gst_structure_get_enum): Add
23902
23903         * docs/gst/gstreamer-sections.txt: Ditto
23904
23905         * gst/gstmessage.c (gst_message_new_state_changed): Use
23906         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
23907         which does introspection.
23908         Reviewed by Christian Schaller
23909
23910 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
23911
23912         * gst/gstinfo.c: (gst_debug_log_default):
23913           don't do dummy g_strdup()s
23914         * libs/gst/controller/gstcontroller.c:
23915         (on_object_controlled_property_changed),
23916         (gst_controlled_property_new), (gst_controller_new_valist),
23917         (gst_controller_new_list),
23918         (gst_controller_remove_properties_valist), (gst_controller_set),
23919         (gst_controller_get), (gst_controller_sync_values),
23920         (gst_controller_get_value_array), (_gst_controller_class_init),
23921         (gst_controller_get_type):
23922         * libs/gst/controller/gstcontroller.h:
23923         * libs/gst/controller/gstinterpolation.c:
23924         (gst_controlled_property_find_timed_value_node):
23925           convert // to /**/ comments
23926
23927 2005-09-28  Wim Taymans  <wim@fluendo.com>
23928
23929         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
23930         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
23931         (gst_bus_sync_signal_handler):
23932         * gst/gstbus.h:
23933         Added async-message and sync-message signals to the bus.
23934         Added helper BusFunc to emit signals for all posted messages.
23935
23936         * gst/gstmessage.c: (gst_message_type_get_name),
23937         (gst_message_type_to_quark), (gst_message_get_type):
23938         * gst/gstmessage.h:
23939         Register quarks for message names.
23940
23941 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
23942
23943         * docs/libs/gstreamer-libs-sections.txt:
23944         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
23945         (gst_controller_new_list):
23946         * libs/gst/controller/gstcontroller.h:
23947           added another constructor for language bindings
23948
23949 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
23950
23951         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
23952           add another check
23953         * gst/gstbus.c:
23954           add some doc
23955         * gst/gstinfo.c: (_gst_debug_init):
23956           slightly more readable color for refcount debugging
23957
23958 2005-09-28  Wim Taymans  <wim@fluendo.com>
23959
23960         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
23961         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
23962         (find_element), (gst_bin_sort_iterator_next),
23963         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
23964         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
23965         (gst_bin_change_state), (gst_bin_dispose):
23966         Small doc fixes. get_clock -> provide_clock.
23967
23968         * gst/gstelement.c: (gst_element_class_init),
23969         (gst_element_provides_clock), (gst_element_provide_clock),
23970         (gst_element_get_clock), (gst_element_commit_state),
23971         (gst_element_lost_state):
23972         * gst/gstelement.h:
23973         Make get/set_clock() symetric. Add provide_clock vmethod since
23974         that is actually what this function does.
23975
23976         * gst/gstpipeline.c: (gst_pipeline_class_init),
23977         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
23978         (gst_pipeline_get_clock):
23979         get_clock -> provide_clock.
23980
23981 2005-09-28  Andy Wingo  <wingo@pobox.com>
23982
23983         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
23984         lieu of real docs...
23985
23986         * gst/elements/gstfdsrc.c: Cleaned up a bit.
23987
23988 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
23989
23990         * gst/elements/gstcapsfilter.c:
23991         * gst/elements/gstfakesink.c:
23992         * gst/elements/gstfakesrc.c:
23993         * gst/elements/gstfdsink.c:
23994         * gst/elements/gstfdsrc.c:
23995         * gst/elements/gstfilesink.c:
23996         * gst/elements/gstfilesrc.c:
23997         * gst/elements/gstidentity.c:
23998         * gst/elements/gsttee.c:
23999         * gst/elements/gsttypefindelement.c:
24000           Make element details static.
24001
24002 2005-09-28  Wim Taymans  <wim@fluendo.com>
24003
24004         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24005         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24006         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24007         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24008         (gst_bin_change_state), (gst_bin_dispose):
24009         Some documentation updates.
24010         Clean up dispose handlers.
24011
24012         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
24013         * gst/gstpad.c: (gst_pad_dispose):
24014         Clean up dispose handler.
24015
24016         * gst/gstpipeline.c: (gst_pipeline_change_state):
24017         Removed spurious UNLOCK.
24018
24019 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
24020
24021         * docs/gst/gstreamer-sections.txt:
24022         * gst/base/gstbasesrc.h:
24023         * gst/gstelement.h:
24024         * gst/gstevent.h:
24025         * gst/gstobject.h:
24026         * gst/gstpad.h:
24027         * gst/gstpipeline.c:
24028         * gst/gstpipeline.h:
24029         * gst/gstutils.h:
24030         * gst/gstxml.h:
24031           added two new functions to the docs
24032                 documents all undocumented GstXXXFlags
24033                 completed some incomplete docs 
24034
24035 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
24036
24037         * gst/gstbin.c: (gst_bin_dispose):
24038         * gst/gstelement.c: (gst_element_dispose):
24039           remove now useless and leaky resurrection code in dispose
24040         * gst/base/gstbasesrc.c: (gst_base_src_init):
24041         * gst/gstelementfactory.c: (gst_element_factory_create):
24042         * gst/gstobject.c: (gst_object_set_parent):
24043           add some debugging
24044
24045 2005-09-27  Wim Taymans  <wim@fluendo.com>
24046
24047         * docs/design/part-TODO.txt:
24048         Update TODO.
24049
24050         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24051         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24052         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24053         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24054         (gst_bin_change_state):
24055         * gst/gstelement.h:
24056         Remove element variable, we keep element info in the iterator now.
24057
24058 2005-09-27  Andy Wingo  <wingo@pobox.com>
24059
24060         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
24061         values.
24062
24063 2005-09-27  Wim Taymans  <wim@fluendo.com>
24064
24065         * check/gst/gstbin.c: (GST_START_TEST):
24066         Enable check that works now.
24067
24068         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
24069         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
24070         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
24071         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
24072         (gst_bin_change_state):
24073         * gst/gstbin.h:
24074         Redid the state change algorithm using a topological sort algo.
24075         Handles all cases correctly.
24076         Exposed iterator for state change order.
24077
24078         * gst/gstelement.h:
24079         Temp storage for state changes. Need to get rid of this soon.
24080
24081 2005-09-27  Wim Taymans  <wim@fluendo.com>
24082
24083         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
24084         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
24085         (link_fold_func), (gst_pad_proxy_setcaps):
24086         Leak fixes, the fold functions need to unref the passed object and
24087         _get_parent_*() returns ref to parent.
24088
24089 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24090
24091         * check/gst/gstbuffer.c: (test_make_writable):
24092           Plug leak in test case and fix 'make check-valgrind'
24093
24094 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24095
24096         * gst/gstbuffer.c: (gst_subbuffer_init):
24097           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
24098           works correctly in all circumstances (we could have just copied
24099           the parent buffer's readonly flag, but conceptually it seems
24100           cleaner to mark all subbuffers as read-only). (based on patch
24101           by Alessandro Decina, #314710).
24102         
24103         * check/gst/gstbuffer.c: (create_read_only_buffer),
24104         (test_make_writable), (test_subbuffer_make_writable),
24105         (gst_test_suite):
24106           Add some tests for gst_buffer_make_writable().
24107
24108 2005-09-27  Wim Taymans  <wim@fluendo.com>
24109
24110         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
24111         use gst_object_has_ancestor().
24112
24113         * gst/gstobject.c: (gst_object_has_ancestor):
24114         * gst/gstobject.h:
24115         gst_object_has_ancestor() copied from gstbin.c as it is a
24116         useful function.
24117
24118         * tests/instantiate/create.c: (create_all_elements):
24119         * tests/lat.c: (handoff_src), (handoff_sink):
24120         * tests/sched/runxml.c: (main):
24121         * tests/seeking/seeking1.c: (main):
24122         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
24123         (main):
24124         Fix compilation of some tests.
24125
24126 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
24127
24128         * gst/gsterror.h:
24129           Remove comment. GST_TYPE_G_ERROR is here to stay,
24130           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
24131           (#316961, #300610).
24132
24133 2005-09-26  Wim Taymans  <wim@fluendo.com>
24134
24135         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
24136         Added check that shows error in state change order.
24137
24138 2005-09-26  Wim Taymans  <wim@fluendo.com>
24139
24140         * gst/gstbin.c: (gst_bin_change_state):
24141         Make state change function use 3 queues again, we were
24142         adding elements in the wrong order.
24143
24144         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
24145         Some debug info,
24146
24147         * gst/gstpad.c: (gst_pad_dispose):
24148         Added some debug info first.
24149
24150 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
24151
24152         * docs/design/draft-push-pull.txt:
24153         * docs/design/part-events.txt:
24154         * docs/design/part-overview.txt:
24155         * docs/design/part-scheduling.txt:
24156           Replace all _pull_region() with _pull_range()
24157           
24158 2005-09-26  Andy Wingo  <wingo@pobox.com>
24159
24160         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
24161
24162         * check/gst-libs/controller.c: Update for controller api change.
24163
24164         * configure.ac: 
24165         * tests/Makefile.am:
24166         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
24167         over by GLib bug 118439.
24168         
24169         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
24170         routines to a function.
24171
24172         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
24173
24174         * libs/gst/controller/gsthelper.c:
24175         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
24176         (gst_object_sync_values): Renamed from sink_values. Ugh.
24177
24178         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
24179
24180         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
24181         Renamed from controller_key, as it is exported.
24182
24183         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
24184
24185 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
24186
24187         * gst/Makefile.am:
24188         * gst/gst.h:
24189         * gst/gstpad.h:
24190         * gst/gstpadtemplate.h:
24191         * gst/gstquery.c:
24192         * gst/gstquery.h:
24193         * gst/gstqueryutils.c:
24194         * gst/gstqueryutils.h:
24195           remove queryutils headers after moving the two used functions
24196           to gstquery.  also fixes build problem for gstsiddec
24197
24198 2005-09-26  Michael Smith <msmith@fluendo.com>
24199
24200         * tools/gst-launch.1.in:
24201         Correct documentation in manpage of debug syntax
24202
24203 2005-09-26  Wim Taymans  <wim@fluendo.com>
24204
24205         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
24206         (gst_base_src_is_seekable), (gst_base_src_change_state):
24207         Some more debugging info.
24208
24209 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24210
24211         * docs/gst/gstreamer-sections.txt:
24212         * gst/base/gstbasetransform.h:
24213         * gst/gstindex.h:
24214           added more docs
24215
24216 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24217
24218         * docs/gst/.cvsignore:
24219         * docs/gst/tmpl/.cvsignore:
24220         * docs/gst/tmpl/gstpipeline.sgml:
24221         * docs/gst/tmpl/gstplugin.sgml:
24222         * gst/gstpipeline.c:
24223         * gst/gstplugin.c:
24224         * gst/gstplugin.h:
24225           inlined the last two docs files
24226           removed the tmpl directory from cvs (no more conflicts here!)
24227
24228 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
24229
24230         * docs/gst/gstreamer-sections.txt:
24231         * docs/gst/tmpl/.cvsignore:
24232         * docs/gst/tmpl/gstpad.sgml:
24233         * docs/gst/tmpl/gstpadtemplate.sgml:
24234         * gst/Makefile.am:
24235         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
24236         (gst_pad_finalize), (gst_pad_set_pad_template):
24237         * gst/gstpad.h:
24238         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
24239         (gst_pad_template_class_init), (gst_pad_template_init),
24240         (gst_pad_template_dispose), (name_is_valid),
24241         (gst_static_pad_template_get), (gst_pad_template_new),
24242         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
24243         (gst_pad_template_pad_created):
24244         * gst/gstpadtemplate.h:
24245           inlined two more docs
24246           factored gstpadtemplate out of gstpad
24247
24248 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
24249
24250         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24251         (test_children_state_change_order_semi_sink):
24252           Fix test case: we can't rely on a fixed state change order when
24253           going from READY => PAUSED because the sink might commit its 
24254           new state first when the first buffer created by the source 
24255           reaches the sink before the source has finished its change state.
24256           (Test case still fails at times, see #316856, comment 5 onwards)
24257
24258 2005-09-24  Wim Taymans  <wim@fluendo.com>
24259
24260         * docs/design/part-events.txt:
24261         * docs/design/part-gstbus.txt:
24262         * docs/design/part-gstpipeline.txt:
24263         * docs/design/part-messages.txt:
24264         * docs/design/part-overview.txt:
24265         * docs/design/part-segments.txt:
24266         * gst/gstbin.c:
24267         * gst/gstbuffer.c:
24268         * gst/gstclock.c:
24269         * gst/gstelement.c:
24270         * gst/gstevent.c:
24271         * gst/gstfilter.c:
24272         * gst/gstiterator.c:
24273         Various documentation updates.
24274
24275 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
24276
24277         * gst/gstclock.h:
24278           Well, that's embarassing.  Luckily we weren't using
24279           GST_CLOCK_DIFF anywhere.
24280
24281 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24282
24283         * common/gtk-doc.mak:
24284           don't fail on building XML, FC4 slave shows a bunch of doc
24285           missing bits that I don't get
24286         * gst/gstpad.c:
24287         * gst/gstpipeline.c:
24288         * gst/gststructure.c:
24289           some doc updates
24290
24291 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24292
24293         * docs/design/part-gstbin.txt:
24294         * docs/design/part-gstbus.txt:
24295         * gst/gstbus.c:
24296           Add blurb about how the bus goes into flushing mode and
24297           drops all messages when its bin goes from READY into NULL 
24298           state.
24299
24300 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24301
24302         * docs/gst/gstreamer-sections.txt:
24303         * gst/gststructure.c: (gst_structure_get_clock_time):
24304         * gst/gststructure.h:
24305           add a method to get a GstClockTime out of a structure
24306
24307 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
24308
24309         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
24310         (test_children_state_change_order_semi_sink), (gst_bin_suite):
24311           Added test to check state change order in bins (can still be made
24312           to fail here under heavy disk load; bails out with 'Push on pad
24313           fakesink:sink0, but it was not activated in push mode').
24314
24315         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
24316           Fix state change order when there is only a semi sink (#316856)
24317
24318         * gst/gstbus.c: (gst_bus_class_init):
24319           Use _class_peek_parent(), not _class_ref(); fix docs to say
24320           'default main context' instead of 'mainloop' where that is
24321           what's meant.
24322
24323         * gst/gstelement.c: (gst_element_commit_state),
24324         (gst_element_set_state):
24325           Fix typos in debug messages
24326
24327 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24328
24329         * docs/README:
24330         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
24331         * gst/gstpluginfeature.c:
24332         * gst/gstutils.c:
24333           various doc updates
24334         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
24335           change an assert into an error until it gets fixed properly
24336
24337 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
24338
24339         * docs/gst/gstreamer-sections.txt:
24340         * docs/gst/tmpl/.cvsignore:
24341         * docs/gst/tmpl/gstelement.sgml:
24342         * docs/gst/tmpl/gstinfo.sgml:
24343         * docs/gst/tmpl/gstobject.sgml:
24344         * gst/gstelement.c:
24345         * gst/gstelement.h:
24346         * gst/gstinfo.c:
24347         * gst/gstinfo.h:
24348         * gst/gstobject.c: (gst_object_class_init):
24349         * gst/gstobject.h:
24350           inlined 3 more biiiig doc files and added some missing docs on the fly
24351
24352 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
24353
24354         * check/gst/.cvsignore:
24355         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
24356         * gst/gstregistryxml.c: (load_plugin),
24357         (gst_registry_xml_save_plugin):
24358           put back source in registry.  add checks for find_plugin.
24359         * testsuite/states/bin.c: (assert_state), (empty_bin),
24360         (test_adding_one_element), (main):
24361         * testsuite/states/locked.c: (main):
24362           some compile/run fixes
24363
24364 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
24365
24366         * check/gst/gstvalue.c: (GST_START_TEST):
24367           fix leaks in the test itself
24368
24369 2005-09-22  Wim Taymans  <wim@fluendo.com>
24370
24371         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24372         (gst_base_sink_send_event), (gst_base_sink_peer_query),
24373         (gst_base_sink_query):
24374         Prepare for more accurate position reporting and query
24375         handling.
24376
24377         * gst/gstelement.c: (gst_element_send_event),
24378         (gst_element_set_state):
24379         Add some comment.
24380
24381 2005-09-22  Wim Taymans  <wim@fluendo.com>
24382
24383         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
24384         (gst_query_parse_segment):
24385         * gst/gstquery.h:
24386         More documentation.
24387         Add segment query for future use.
24388
24389 2005-09-22  Wim Taymans  <wim@fluendo.com>
24390
24391         * gst/gstbin.c: (gst_bin_add_func):
24392         Some more debug info.
24393
24394         * gst/gstelement.c: (gst_element_send_event):
24395         Simplify send_event
24396
24397         * gst/gstelement.h:
24398         Don't know how flags got broken.
24399
24400         * gst/gstquery.h:
24401         Added new query.
24402
24403 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24404
24405         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
24406           Add simplistic test suite for GST_TYPE_DATE serialisation and
24407           deserialisation.
24408
24409 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
24410
24411         * docs/gst/gstreamer-sections.txt:
24412         * gst/gststructure.c: (gst_structure_set_valist),
24413         (gst_structure_get_date):
24414         * gst/gststructure.h:
24415         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
24416         (gst_date_copy), (gst_value_compare_date),
24417         (gst_value_serialize_date), (gst_value_deserialize_date),
24418         (gst_value_transform_date_string),
24419         (gst_value_transform_string_date), (_gst_value_initialize):
24420         * gst/gstvalue.h:
24421           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
24422           bunch of utility functions along with a hack that checks that
24423           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
24424           is required. Part of the grand scheme in #170777.
24425
24426 2005-09-22  Andy Wingo  <wingo@pobox.com>
24427
24428         * gst/gstconfig.h.in: Psych out gtk-doc.
24429
24430         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
24431
24432         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
24433
24434         * tools/gst-inspect.c (print_element_list): Plug some
24435         inconsequential leaks.
24436
24437         * gst/gstregistry.c (gst_registry_get_default): Doc.
24438
24439         * check/gst/gstplugin.c: 
24440         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
24441         * gst/gstelementfactory.c (gst_element_factory_create): 
24442         * gst/gstindexfactory.c (gst_index_factory_create): Update for
24443         refcount changes.
24444
24445         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
24446         (gst_plugin_feature_load): Doc, don't eat refs.
24447
24448         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
24449         (gst_plugin_list_free): Doc.
24450         (gst_plugin_load_file): Doc updates.
24451
24452         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
24453         accessors returning refcounted objects, return a ref.
24454
24455         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
24456         accessor for caps. IDEMPOTENCE. Oh yes.
24457
24458 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
24459
24460         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
24461
24462         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
24463         (_gst_debug_register_funcptr):
24464           Add mutex to serialise access to the hash table with
24465           the function pointer => function name string mapping;
24466           make that hash table static scope (#316809).
24467
24468         * gst/registries/.cvsignore:
24469           Remove left-over file.
24470
24471 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24472
24473         * docs/pwg/appendix-porting.xml:
24474           And something about newsegment events and caps-on-buffers to
24475           the porting guide (feel free to improve).
24476
24477 2005-09-21  Andy Wingo  <wingo@pobox.com>
24478
24479         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
24480         data and event probes on the same pad.
24481         (test_buffer_probe_once): Test that removing probes from within
24482         the probe functions works.
24483
24484 2005-09-21  Andy Wingo  <wingo@pobox.com>
24485
24486         * check/gst/gstutils.c: New file.
24487         (test_buffer_probe_n_times): A simple buffer probe test. More to
24488         come, foolios.
24489
24490         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
24491         have-data::buffer, not have-data.
24492         (gst_pad_add_event_probe): Likewise for have-data::event.
24493         (gst_pad_add_data_probe): More docs. The part about 'resolving the
24494         peer' isn't quite right yet though.
24495         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
24496         (gst_pad_remove_data_probe): Change to take the guint handler_id
24497         as their arg, not the function+data, which is more glib-like.
24498
24499         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
24500         the signal emission to indicate if the data is a buffer or an
24501         event.
24502         (gst_pad_get_type): Initialize buffer and event quarks.
24503         (gst_pad_class_init): have-data is now a detailed signal, yes it
24504         is.
24505
24506 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
24507
24508         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
24509         * gst/gstutils.c: (gst_util_set_value_from_string),
24510         (gst_util_set_object_arg):
24511           Don't put functional code in g_return_if_fail() or
24512           g_return_val_if_fail() statements, otherwise things will 
24513           break when G_DISABLE_CHECKS is defined during compilation.
24514
24515 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24516
24517         * docs/gst/tmpl/.cvsignore:
24518         * docs/gst/tmpl/gstvalue.sgml:
24519         * gst/gstvalue.c:
24520         * gst/gstvalue.h:
24521           inlied another one and added  some obvious docs
24522
24523 2005-09-21  Wim Taymans  <wim@fluendo.com>
24524
24525         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
24526         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
24527         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
24528         (gst_fdsrc_get_property), (gst_fdsrc_create):
24529         * gst/elements/gstfdsrc.h:
24530         Properly implement fdsrc. Removed signal and timeout,
24531         better implemented somewhere else.
24532
24533 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24534
24535         * docs/gst/tmpl/.cvsignore:
24536         * docs/gst/tmpl/gstimplementsinterface.sgml:
24537         * gst/gstinterface.c:
24538           inlined more docs
24539
24540 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24541
24542         * docs/gst/gstreamer-sections.txt:
24543         * docs/gst/tmpl/.cvsignore:
24544         * docs/gst/tmpl/gstenumtypes.sgml:
24545           remove obsolete doc file
24546
24547 2005-09-21  David Schleef  <ds@schleef.org>
24548
24549         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
24550         little beer, fix a little leak.
24551
24552 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
24553
24554         * docs/gst/gstreamer-docs.sgml:
24555         * docs/gst/gstreamer-sections.txt:
24556         * docs/gst/tmpl/.cvsignore:
24557         * gst/Makefile.am:
24558         * gst/gst.h:
24559         * gst/gstbin.c:
24560         * gst/gstelement.h:
24561         * gst/gstindex.c: (gst_index_class_init):
24562         * gst/gstindex.h:
24563         * gst/gstindexfactory.c: (gst_index_factory_get_type),
24564         (gst_index_factory_class_init), (gst_index_factory_init),
24565         (gst_index_factory_finalize), (gst_index_factory_new),
24566         (gst_index_factory_destroy), (gst_index_factory_find),
24567         (gst_index_factory_create), (gst_index_factory_make):
24568         * gst/gstindexfactory.h:
24569         * gst/gstpluginfeature.c:
24570         * gst/gstpluginfeature.h:
24571         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24572           more docs inlined, splitted gstindex.{c,h}
24573
24574 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24575
24576         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24577           fix a leak
24578
24579 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
24580
24581         * gst/elements/gstfilesink.c: (gst_file_sink_init):
24582           Set sync to FALSE by default.
24583
24584 2005-09-20  Wim Taymans  <wim@fluendo.com>
24585
24586         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24587         (gst_base_sink_init):
24588         Make sync property settable from subclass.
24589
24590         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
24591         (gst_fake_sink_change_state):
24592         Set sync to FALSE by default.
24593
24594 2005-09-20  Wim Taymans  <wim@fluendo.com>
24595
24596         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
24597         * tools/gst-launch.c: (main):
24598         The timeout handler should have lower priority than the source
24599         so we don't timeout before popping a message with 0 timeout.
24600         Dump error messages after failed state change.
24601
24602 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
24603
24604         * tools/gst-inspect.c: (print_element_properties_info):
24605           Fix two typos.
24606
24607 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24608
24609         * check/gst/gstevent.c:
24610         * gst/elements/gstfakesink.c:
24611         * gst/elements/gstfakesink.h:
24612           remove the sync property from fakesink.
24613           has the side effect of setting sync TRUE
24614           for fakesink, which is a change.  Anyone who knows how
24615           to fix this nicely in a GObject-y way, feel free.
24616
24617 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24618
24619         * docs/gst/gstreamer-docs.sgml:
24620           remove probe refsection
24621
24622 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24623
24624         * check/Makefile.am:
24625           disable valgrinding the controller test again
24626         * docs/gst/gstreamer-sections.txt:
24627           update for api-changes
24628
24629 2005-09-20  Wim Taymans  <wim@fluendo.com>
24630
24631         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
24632         (gst_base_sink_set_property), (gst_base_sink_get_property),
24633         (gst_base_sink_do_sync):
24634         * gst/base/gstbasesink.h:
24635         Added sync property to basesink to disable clock sync.
24636
24637 2005-09-20  Andy Wingo  <wingo@pobox.com>
24638
24639         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
24640         eating the caller's refcount.
24641
24642         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
24643         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
24644         refcount.
24645
24646         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
24647         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
24648         of GLib 2.8 public, so we can know which refcount to check in
24649         tests.
24650
24651         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
24652         (gst_object_init): Only set the gst refcount if we're going ahead
24653         with the refcount hack.
24654
24655 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24656
24657         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24658         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
24659           more leaks plumbed, added more debug-logging
24660         * gst/gstmacros.h:
24661           whitespace fix
24662
24663 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24664
24665         * gst/gstmessage.c:
24666           remove include of gstmemchunk.h
24667
24668 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24669
24670         * gst/gstclock.c: (_gst_clock_id_free):
24671           Commit from the Political Party For More Atomic CVS Commits,
24672           so that people don't waste too much of their day fishing
24673           out obvious leaks out of massive commits.
24674           Oh, and fix a pretty damn obvious leak in the memchunk
24675           removal code.
24676
24677 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
24678
24679         * check/Makefile.am:
24680         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
24681           plug mem-leak, re-add to valgrindable tests
24682
24683 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
24684
24685         * gst/gstplugin.h:
24686           unbreak the build for those who have chronic arthritis
24687           and typing "make check" is just too taxing on the hands
24688
24689 2005-09-20  Andy Wingo  <wingo@pobox.com>
24690
24691         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
24692         really want it out, you should fix plugins at the same time.
24693
24694 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
24695
24696         * configure.ac:
24697         * docs/gst/gstreamer-sections.txt:
24698         * gst/gstobject.c:
24699           added missing symbols to api docs
24700           disable ref-count hack if we have glib >= 2.8
24701
24702 2005-09-19  David Schleef  <ds@schleef.org>
24703
24704         * docs/gst/Makefile.am: Ignore a few more internal headers
24705         * docs/gst/gstreamer-docs.sgml: Remove old sections
24706         * docs/gst/gstreamer-sections.txt: Remove old sections
24707         * docs/gst/tmpl/gstobject.sgml: update
24708         * docs/gst/tmpl/gstplugin.sgml: update
24709         * docs/gst/tmpl/gstpluginfeature.sgml: update
24710         * docs/random/ds/0.9-suggested-changes: update.
24711         * gst/Makefile.am: remove memchunk and trashstack, since they're
24712           not used.
24713         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
24714         * gst/gst.h: don't include some headers
24715         * gst/gstchildproxy.c: add gstmarshal.h
24716         * gst/gstclock.c: Don't use memchunks
24717         * gst/gstminiobject.c: Add some docs
24718         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
24719         * gst/gstobject.h: same
24720         * gst/gstplugin.c: include gstmacros.h
24721         * gst/gstplugin.h: don't include gstmacros.h, since it's private
24722         * gst/gstquery.c: don't use memchunks
24723         * gst/gstregistry.c: rename gst_registry_deinit()
24724         * gst/gstregistry.h: same
24725
24726 2005-09-19  David Schleef  <ds@schleef.org>
24727
24728         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
24729         * docs/libs/gstreamer-libs-sections.txt:
24730         * docs/libs/tmpl/gstgetbits.sgml:
24731         * docs/libs/tmpl/gstputbits.sgml:
24732
24733 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
24734
24735         * win32/gstenumtypes.c:
24736         * win32/gstenumtypes.h:
24737           Update.
24738
24739 2005-09-19  Wim Taymans  <wim@fluendo.com>
24740
24741         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
24742         Automatically PAUSE and RESUME a pipeline when a flushing seek
24743         is performed.
24744
24745 2005-09-19  Andy Wingo  <wingo@pobox.com>
24746
24747         * gst/gstregistry.h: Spacing fixen.
24748
24749 2005-09-19  Wim Taymans  <wim@fluendo.com>
24750
24751         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
24752         Handle state change failure more correctly.
24753
24754 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24755
24756         * check/Makefile.am:
24757         * check/pipelines/cleanup.c: (run_pipeline):
24758         * check/pipelines/simple_launch_lines.c: (run_pipeline),
24759         (GST_START_TEST):
24760           enable cleanup again after fixing the leak
24761         * docs/README:
24762           some more info on docs
24763
24764 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24765
24766         * check/Makefile.am:
24767           re-enable tests now that leaks are plugged
24768         * check/gst/gst.c:
24769         * check/gst/gstbin.c:
24770         * check/gst/gstpipeline.c:
24771           add some more tests while fixing leaks
24772         * common/check.mak:
24773           make sure binaries are uptodate when valgrinding/gdbing
24774         * gst/gst.c:
24775         * gst/gstelementfactory.c:
24776           remove a ref too many, and add a FIXME for when we get
24777           round to disposing of classes
24778         * gst/gstplugin.c:
24779           fix the refcounting when loading a plugin from a file and
24780           the code pretends that the pointer is the same even though
24781           of course it can change
24782         * gst/gstpluginfeature.c:
24783           unref plugins marked cached (a bit confusing as a name)
24784           as the docs state should be done
24785           various doc additions to explain refcounting
24786         * gst/gstregistry.c:
24787         * gst/gstregistryxml.c:
24788           debugging
24789
24790 2005-09-19  Wim Taymans  <wim@fluendo.com>
24791
24792         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
24793         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
24794         (send_messages), (GST_START_TEST), (gstbus_suite):
24795         * check/gst/gstpipeline.c: (GST_START_TEST):
24796         * check/pipelines/cleanup.c: (run_pipeline):
24797         * check/pipelines/simple_launch_lines.c: (run_pipeline),
24798         (GST_START_TEST):
24799         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
24800         (gst_bus_source_check), (gst_bus_source_dispatch),
24801         (gst_bus_create_watch), (gst_bus_add_watch_full),
24802         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
24803         * gst/gstbus.h:
24804         * tools/gst-launch.c: (event_loop):
24805         * tools/gst-md5sum.c: (event_loop):
24806         GstBusHandler -> GstBusFunc, return value has the same meaning as
24807         any other GSource (FALSE == remove source).
24808         _add_watch() and _add_watch_full() now take a MessageType mask to
24809         only handle specific types of messages.
24810         _poll() returns the GstMessage instead of the message type to avoid
24811         race conditions.
24812         _have_pending() takes a MessageType mask now too.
24813         Added testsuite for multiple bus watches.
24814         Fix testsuites and applications for new bus API.
24815
24816 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
24817
24818         * check/Makefile.am:
24819           mark a bunch of the tests as to fix until we fix them
24820
24821 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
24822
24823         * common/check.mak:
24824           use GST_PLUGIN settings for valgrind tests as well, so we're
24825           valgrinding the correct thing
24826         * gst/gst.c: (init_post):
24827           plug another leak
24828
24829 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
24830
24831         * gst/gst.c: (init_post), (gst_deinit):
24832         * gst/gstelementfactory.c: (gst_element_factory_class_init),
24833         (gst_element_factory_finalize), (gst_element_factory_cleanup):
24834         * gst/gstindex.c: (gst_index_factory_class_init),
24835         (gst_index_factory_finalize):
24836         * gst/gstobject.c: (gst_object_dispose):
24837         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
24838         (gst_plugin_load_file), (gst_plugin_desc_free):
24839         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
24840         (gst_plugin_feature_finalize):
24841         * gst/gstregistry.c: (gst_registry_class_init),
24842         (gst_registry_init), (gst_registry_finalize),
24843         (gst_registry_get_default), (gst_registry_deinit):
24844         * gst/gstregistry.h:
24845         * gst/gstregistryxml.c: (load_feature), (load_plugin):
24846           various cleanups and memleak plugging.  make valgrind is happy now.
24847
24848 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
24849
24850         * common/check.mak:
24851           add a check-valgrind target
24852
24853 2005-09-18  David Schleef  <ds@schleef.org>
24854
24855         * tools/gst-inspect.c: Revert the GOption code.
24856
24857 2005-09-17  David Schleef  <ds@schleef.org>
24858
24859         * check/Makefile.am: Fix environment variables.
24860         * check/gst/gstplugin.c: Fix for API changes.
24861         * tools/gst-inspect.c: Fix for API changes.
24862         * tools/gst-xmlinspect.c: Fix for API changes.
24863         * gst/gstelementfactory.c:
24864         * gst/gstplugin.c:
24865         * gst/gstplugin.h:
24866         * gst/gstpluginfeature.c:
24867         * gst/gstpluginfeature.h:
24868         * gst/gstregistry.c:
24869         * gst/gstregistry.h:
24870         * gst/gstregistryxml.c:
24871         * gst/gsttypefind.c:
24872         * gst/gsttypefindfactory.c:
24873         * gst/indexers/gstfileindex.c:
24874         * gst/indexers/gstmemindex.c:
24875         * gst/schedulers/Makefile.am:
24876           Change registry to keep track of both plugins and features,
24877           removing the feature tracking from plugins themselves.
24878
24879 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
24880
24881         * check/Makefile.am:
24882         * tools/gst-register.1.in:
24883           remove gst-register
24884
24885 2005-09-15  David Schleef  <ds@schleef.org>
24886
24887         * check/gst/gstplugin.c:
24888         * gst/gstelementfactory.c:
24889         * gst/gstplugin.c:
24890         * gst/gstpluginfeature.c:
24891         * gst/gstregistry.c:
24892           Getting tired of debugging.  Disabled all the unreffing of
24893           plugins and features, which fixes the segfaults, but of
24894           course leaks like crazy.  At least playbin works.
24895
24896 2005-09-15  David Schleef  <ds@schleef.org>
24897
24898         * check/gst/gstplugin.c: (register_check_elements),
24899         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
24900         More testing
24901         * gst/elements/gsttypefindelement.c: Fix refcounting.
24902         * gst/gsttypefind.c:
24903         * gst/gsttypefindfactory.c:
24904         * gst/gsttypefindfactory.h:
24905
24906 2005-09-15  David Schleef  <ds@schleef.org>
24907
24908         * gst/gstindex.c: get refcounting correct.
24909         * gst/gstregistry.c: Handle the case where a feature/plugin is
24910           not found.
24911
24912 2005-09-15  David Schleef  <ds@schleef.org>
24913
24914         * check/Makefile.am:
24915         * check/gst/gstplugin.c: Add test
24916         * gst/gstplugin.c: Fix problems noticed by testsuite
24917         * gst/gstplugin.h:
24918         * gst/gstregistry.c: 
24919         * gst/gstregistry.h:
24920
24921 2005-09-15  David Schleef  <ds@schleef.org>
24922
24923         * gst/gstplugin.c: Implement semi-decent recounting and locking
24924           in plugins and plugin features.
24925         * gst/gstplugin.h:
24926         * gst/gstpluginfeature.c:
24927         * gst/gstpluginfeature.h:
24928         * gst/gstregistry.c:
24929
24930 2005-09-15  Michael Smith <msmith@fluendo.com>
24931
24932         * gst/gstregistry.c: (gst_registry_get_feature_list):
24933           Implement this. Makes oggdemux work; decodebin still broken.
24934
24935 2005-09-14  David Schleef  <ds@schleef.org>
24936
24937         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
24938           #316076)
24939         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
24940         * gst/check/Makefile.am:
24941         * libs/gst/controller/Makefile.am:
24942         * libs/gst/dataprotocol/Makefile.am:
24943
24944 2005-09-14  David Schleef  <ds@schleef.org>
24945
24946         * configure.ac: Remove getbits library.  Nothing uses it, and
24947           it should be in something like liboil if someone did want
24948           to use it.
24949         * libs/gst/Makefile.am:
24950         * libs/gst/getbits/Makefile.am:
24951         * libs/gst/getbits/gbtest.c:
24952         * libs/gst/getbits/getbits.c:
24953         * libs/gst/getbits/getbits.h:
24954         * libs/gst/getbits/gstgetbits_generic.c:
24955         * libs/gst/getbits/gstgetbits_i386.s:
24956         * libs/gst/getbits/gstgetbits_inl.h:
24957
24958 2005-09-14  David Schleef  <ds@schleef.org>
24959
24960         * gst/Makefile.am: Dist glib-compat.h
24961
24962 2005-09-14  David Schleef  <ds@schleef.org>
24963
24964         * configure.ac: Remove gst/registries, since it's no longer used.
24965         * gst/registries/Makefile.am:
24966         * gst/registries/gstlibxmlregistry.c:
24967         * gst/registries/gstlibxmlregistry.h:
24968         * gst/registries/gstxmlregistry.c:
24969         * gst/registries/gstxmlregistry.h:
24970         * gst/registries/registrytest.c:
24971
24972 2005-09-14  David Schleef  <ds@schleef.org>
24973
24974         * gst/glib-compat.h:
24975         * gst/gstregistryxml.c:
24976           Convergence is near.  Seriously.
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         * gst/glib-compat.h:
24982           Attempt #4 to appease the buildbots.
24983
24984 2005-09-14  David Schleef  <ds@schleef.org>
24985
24986         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
24987           Attempt #3.
24988
24989 2005-09-14  David Schleef  <ds@schleef.org>
24990
24991         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
24992         Attempt #2.
24993
24994 2005-09-14  David Schleef  <ds@schleef.org>
24995
24996         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
24997           the new functions.
24998
24999 2005-09-14  David Schleef  <ds@schleef.org>
25000
25001         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
25002         * gst/glib-compat.h: Add some functions that are in newer versions
25003           of glib than we care to require.
25004         * gst/gstregistryxml.c: Use them.
25005
25006 2005-09-14  David Schleef  <ds@schleef.org>
25007
25008         * po/POTFILES.in: remove gst-register.c
25009
25010 2005-09-14  David Schleef  <ds@schleef.org>
25011
25012         * docs/gst/gstreamer-docs.sgml:
25013         * docs/gst/gstreamer-sections.txt:
25014         * docs/gst/gstreamer.types:
25015         * docs/gst/tmpl/gstelement.sgml:
25016         * docs/gst/tmpl/gstplugin.sgml:
25017         * docs/gst/tmpl/gstpluginfeature.sgml:
25018           Documentation updates for registry changes.
25019
25020 2005-09-14  David Schleef  <ds@schleef.org>
25021
25022         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
25023           because we don't require glib-2.8.
25024
25025 2005-09-14  David Schleef  <ds@schleef.org>
25026
25027         * gst/gstregistryxml.c: Added.  Essentially moved out of the
25028           registries directory.
25029
25030 2005-09-14  David Schleef  <ds@schleef.org>
25031
25032         * check/Makefile.am:
25033         * check/generic/states.c:
25034         * gst/Makefile.am:
25035         * gst/gst.c:
25036         * gst/gst.h:
25037         * gst/gst_private.h:
25038         * gst/gstelementfactory.c:
25039         * gst/gstindex.c:
25040         * gst/gstinfo.c:
25041         * gst/gstplugin.c:
25042         * gst/gstplugin.h:
25043         * gst/gstpluginfeature.c:
25044         * gst/gstpluginfeature.h:
25045         * gst/gstregistry.c:
25046         * gst/gstregistry.h:
25047         * gst/gstregistrypool.c: remove
25048         * gst/gstregistrypool.h: remove
25049         * gst/gsttypefind.c:
25050         * gst/gsttypefindfactory.c:
25051         * gst/gsturi.c:
25052         * tools/Makefile.am:
25053         * tools/gst-compprep.c:
25054         * tools/gst-inspect.c:
25055         * tools/gst-register.c: remove
25056         * tools/gst-xmlinspect.c:
25057           Registry rewrite.  Changes registry from being a file created
25058           by a tool into a simple cache file created automatically by 
25059           libgstreamer.  Removed gst-register (because it's no longer
25060           needed).  Remove registry pools, because we only have one
25061           registry implementation (XML).  Fix up other subsystems as
25062           necessary.
25063
25064 2005-09-13  Michael Smith <msmith@fluendo.com>
25065
25066         * gst/gstconfig.h.in:
25067           Don't Use windows linking attributes for MinGW. Fixes #316157
25068
25069 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
25070
25071         * gst/gstutils.c: (set_state_async_thread_func),
25072         (gst_element_set_state_async):
25073           Apparently people think it's better if this function doesn't
25074           try to set the state to whatever state was asked for on the first
25075           call to this function for any object.  Seriously.
25076
25077 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25078
25079         * check/gst/gstpipeline.c: (GST_START_TEST):
25080         * docs/gst/gstreamer-sections.txt:
25081         * gst/gstutils.c: (set_state_async_thread_func),
25082         (gst_element_set_state_async):
25083         * gst/gstutils.h:
25084           add a "gst_element_set_state_async" method that
25085           sets the state and starts a thread to make sure the state
25086           change completes as best as it can
25087
25088 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25089
25090         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
25091           codify design+behaviour in testsuite after discussion
25092
25093 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
25094
25095         * docs/gst/tmpl/gstelement.sgml:
25096         * docs/manual/appendix-quotes.xml:
25097           add a quote
25098         * gst/gstelement.c: (gst_element_set_state):
25099           add some debug
25100
25101 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
25102
25103         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25104         (gst_base_transform_prepare_output_buf),
25105         (gst_base_transform_handle_buffer):
25106         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
25107         (gst_capsfilter_prepare_buf):
25108           Remove the requirement for sub-classes to call the parent
25109           implementation of prepare_output_buffer with a wrapper function.
25110           
25111         * gst/gsttaglist.h:
25112         * gst/gsttagsetter.h:
25113           Fix #define wrapper
25114
25115 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
25116
25117         * docs/gst/gstreamer-sections.txt:
25118           more doc cleanups
25119
25120 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25121
25122         * docs/gst/gstreamer-sections.txt:
25123         * docs/gst/tmpl/gstelement.sgml:
25124         * docs/gst/tmpl/gstplugin.sgml:
25125         * gst/gstminiobject.c:
25126         * gst/gstvalue.h:
25127           docs now stop throwing warnings
25128
25129 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25130
25131         * docs/gst/gstreamer-sections.txt:
25132         * docs/gst/gstreamer.types:
25133         * docs/gst/tmpl/gstpad.sgml:
25134         * docs/gst/tmpl/gsttypes.sgml:
25135         * gst/base/gstadapter.h:
25136         * gst/base/gstbasesink.h:
25137         * gst/base/gstbasesrc.h:
25138         * gst/gstbin.h:
25139         * gst/gstbuffer.h:
25140         * gst/gstbus.h:
25141         * gst/gstcaps.h:
25142         * gst/gstclock.h:
25143         * gst/gstelement.h:
25144         * gst/gstevent.h:
25145         * gst/gstmessage.h:
25146         * gst/gstpad.h:
25147         * gst/gststructure.c:
25148         * gst/registries/gstlibxmlregistry.h:
25149           various documentation fixes
25150
25151 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
25152
25153         * docs/gst/gstreamer-sections.txt:
25154         * docs/gst/tmpl/gstvalue.sgml:
25155           rearrange gstvalue section
25156         * gst/gstutils.c: (gst_element_state_get_name):
25157           NONE -> VOID
25158         * gst/gstvalue.c: (_gst_value_initialize):
25159         * gst/gstvalue.h:
25160           doc updates
25161
25162 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
25163
25164         * check/gst-libs/controller.c:
25165           Header include fix.
25166         * gst/base/gstbasetransform.c:
25167         (gst_base_transform_default_prepare_buf),
25168         (gst_base_transform_handle_buffer):
25169         * gst/base/gstbasetransform.h:
25170           Some more basetransform changes and fixes to enable sub-classes
25171           that modify buffer metadata only.
25172         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
25173         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
25174         (gst_capsfilter_prepare_buf):
25175           If the output pad has fixed allowed caps and input buffers 
25176           don't have any, set the fixed caps on outgoing buffers.
25177
25178 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
25179         * check/elements/identity.c: (GST_START_TEST):
25180           Make the error a little clearer when the test fails because
25181           identity made a copy of the buffer.
25182         * docs/gst/gstreamer-sections.txt:
25183           New symbols in gstbasetransform.h
25184         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
25185         (gst_base_transform_init), (gst_base_transform_transform_size),
25186         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
25187         (gst_base_transform_default_prepare_buf),
25188         (gst_base_transform_get_unit_size),
25189         (gst_base_transform_buffer_alloc),
25190         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
25191         (gst_base_transform_change_state),
25192         (gst_base_transform_set_passthrough),
25193         (gst_base_transform_set_in_place),
25194         (gst_base_transform_is_in_place):
25195         * gst/base/gstbasetransform.h:
25196           Change BaseTransform to separate in_place operate from same_caps
25197           output. in_place implies that the element can perform the transform
25198           on incoming buffers in-place, even if the caps on the output are
25199           different.
25200           Sub-class elements can now implement special buffer allocation
25201           methods for outgoing buffers if they wish to.
25202           Big documentation addition.
25203         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
25204         * gst/elements/gstelements.c:
25205           Changes for basetransform modifications.
25206         * gst/elements/Makefile.am:
25207         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
25208           Compile fix. Extra debug output.
25209
25210 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25211
25212         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
25213         (gst_pad_suite):
25214           add tests for valid pad naming
25215         * gst/check/gstcheck.c: (gst_check_log_message_func),
25216         (gst_check_log_critical_func):
25217           add ASSERT_WARNING
25218           remove printing of code, it is fragile when the code contains
25219           % and the line number is enough info
25220         * gst/check/gstcheck.h:
25221         * gst/gstpad.c: (gst_pad_template_new):
25222           fix memleaks
25223
25224 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25225
25226         * configure.ac:
25227           say what CHECK flags we use
25228         * docs/libs/gstreamer-libs.types:
25229         * libs/gst/controller/Makefile.am:
25230         * libs/gst/controller/gst-controller.c:
25231         * libs/gst/controller/gst-controller.h:
25232         * libs/gst/controller/gst-helper.c:
25233         * libs/gst/controller/gst-interpolation.c:
25234         * libs/gst/controller/gstcontroller.c:
25235         * libs/gst/controller/gsthelper.c:
25236         * libs/gst/controller/gstinterpolation.c:
25237         * tools/gst-inspect.c: (print_plugin_info):
25238           we don't use dashes in header names
25239
25240 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
25241
25242         * check/Makefile.am:
25243         * check/gst/.cvsignore:
25244         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
25245         (gst_pipeline_suite), (main):
25246           adding a test for pipelines and state changes
25247         * gst/gstutils.c: (get_state_func):
25248           add some debugging
25249         * gstreamer.spec.in:
25250           fix up spec file
25251
25252 2005-09-08  Michael Smith <msmith@fluendo.com>
25253
25254         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
25255         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
25256         (gst_file_src_is_seekable), (gst_file_src_get_size),
25257         (gst_file_src_start):
25258         * gst/elements/gstfilesrc.h:
25259           Various fixes for unseekable, unmmapable, and non-normal files, so
25260           that fallback to read() rather than mmap() works.
25261         * gst/gstevent.c: (gst_event_new_newsegment):
25262           Allow newsegment events with segment_start == segment_end, as will
25263           correctly happen if you use filesrc on a zero-size file, for
25264           example.
25265
25266 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25267
25268         * gst/gstplugin.c: (gst_plugin_load_file):
25269           Call g_module_close when we don't load the module
25270
25271         * gst/registries/gstlibxmlregistry.c:
25272         (gst_xml_registry_get_property):
25273           Port leak fix from 0.8
25274
25275 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25276
25277         * docs/gst/gstreamer-docs.sgml:
25278         * docs/gst/tmpl/.cvsignore:
25279         * docs/gst/tmpl/gsttrace.sgml:
25280         * docs/gst/tmpl/gsttrashstack.sgml:
25281         * gst/Makefile.am:
25282         * gst/gst.h:
25283         * gst/gstelement.h:
25284         * gst/gstevent.h:
25285         * gst/gstmessage.c:
25286         * gst/gstmessage.h:
25287         * gst/gsttag.c:
25288         * gst/gsttag.h:
25289         * gst/gsttaginterface.c:
25290         * gst/gsttaginterface.h:
25291         * gst/gsttaglist.c:
25292         * gst/gsttaglist.h:
25293         * gst/gsttagsetter.c:
25294         * gst/gsttagsetter.h:
25295         * gst/gsttrace.c:
25296         * gst/gsttrace.h:
25297         * gst/gsttrashstack.c:
25298           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
25299           inlined docs for gsttrace, gsttrashstack
25300
25301 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25302
25303         * gst/Makefile.am:
25304         * gst/elements/gstbufferstore.h:
25305         * gst/elements/gsttypefindelement.c:
25306         * gst/elements/gsttypefindelement.h:
25307         * gst/gst.h:
25308         * gst/gsttypefind.c:
25309         * gst/gsttypefind.h:
25310         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
25311         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
25312         (gst_type_find_factory_dispose),
25313         (gst_type_find_factory_unload_thyself),
25314         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
25315         (gst_type_find_factory_get_caps),
25316         (gst_type_find_factory_get_extensions),
25317         (gst_type_find_factory_call_function):
25318         * gst/gsttypefindfactory.h:
25319         * gst/registries/gstlibxmlregistry.c:
25320         * gst/registries/gstxmlregistry.c:
25321           splitted gsttypefind into gsttypefind, gsttypefindfactory
25322
25323 2005-09-07  Andy Wingo  <wingo@pobox.com>
25324
25325         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
25326         condition whereby the pad's task function is entered before the
25327         pad_mode variable was set.
25328
25329 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
25330
25331         * gst/gstpad.c: (gst_pad_alloc_buffer):
25332           Catch misbehaving pad_alloc functions that don't
25333           set up caps and do it for them.
25334
25335 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
25336
25337         * check/pipelines/simple_launch_lines.c: (run_pipeline):
25338           test for pipe!=NULL
25339         * docs/gst/tmpl/.cvsignore:
25340         * docs/gst/tmpl/gstmemchunk.sgml:
25341         * docs/gst/tmpl/gstparse.sgml:
25342         * docs/gst/tmpl/gsttaglist.sgml:
25343         * docs/gst/tmpl/gsttagsetter.sgml:
25344         * docs/gst/tmpl/gsttypefind.sgml:
25345         * docs/gst/tmpl/gsttypefindfactory.sgml:
25346         * gst/gstmemchunk.c:
25347         * gst/gstparse.c:
25348         * gst/gsttag.c:
25349         * gst/gsttaginterface.c:
25350         * gst/gsttypefind.c:
25351         * gst/gsttypefind.h:
25352           inlined more docs
25353
25354 === release 0.9.2 ===
25355
25356 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
25357
25358         * NEWS:
25359         * RELEASE:
25360         * configure.ac:
25361           releasing 0.9.2, "South"
25362
25363 2005-09-05  Andy Wingo  <wingo@pobox.com>
25364
25365         * gst/registries/gstxmlregistry.h:
25366         * gst/registries/gstxmlregistry.c: Um... resurrect...
25367         
25368         * gst/registries/gstxmlregistry.h:
25369         * gst/registries/gstxmlregistry.c: and update to newer API.
25370         Incidentally they should be a bit faster now that they don't have
25371         to parse the caps.
25372         
25373 2005-09-05  Andy Wingo  <wingo@pobox.com>
25374
25375         * gst/registries/gstxmlregistry.h:
25376         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
25377         replaced by the libxml registry a while back
25378
25379 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25380
25381         * docs/gst/tmpl/gstplugin.sgml:
25382         * gst/elements/gstelements.c:
25383         * gst/gst.c:
25384         * gst/gstplugin.c: (gst_plugin_register_func),
25385         (gst_plugin_desc_copy), (gst_plugin_desc_free),
25386         (gst_plugin_get_source):
25387         * gst/gstplugin.h:
25388         * gst/registries/gstlibxmlregistry.c: (load_plugin),
25389         (gst_xml_registry_save_plugin):
25390         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
25391         (gst_xml_registry_save_plugin):
25392         * tools/gst-inspect.c: (print_plugin_info):
25393           add a "source" plugin description field, to represent the source
25394           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
25395           will set it to PACKAGE, which is automake's idea of the name of
25396           the source project.
25397
25398 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
25399
25400         * Makefile.am:
25401         * autogen.sh:
25402         * configure.ac:
25403         * docs/Makefile.am:
25404         * docs/faq/Makefile.am:
25405         * docs/gst/tmpl/gstelement.sgml:
25406         * docs/gst/tmpl/gsttypes.sgml:
25407         * docs/htmlinstall.mak:
25408         * docs/manual/Makefile.am:
25409         * docs/pwg/Makefile.am:
25410           reorganize doc build a little
25411           split out docbook and gtk-doc stuff
25412           have two separate --enable's and enable them through autogen
25413           but disable by default in configure (to be similar to other
25414           projects)
25415         * gstreamer.spec.in:
25416           clean up docs install
25417         * po/af.po:
25418         * po/az.po:
25419         * po/ca.po:
25420         * po/cs.po:
25421         * po/de.po:
25422         * po/en_GB.po:
25423         * po/fr.po:
25424         * po/it.po:
25425         * po/nb.po:
25426         * po/nl.po:
25427         * po/ru.po:
25428         * po/sq.po:
25429         * po/sr.po:
25430         * po/sv.po:
25431         * po/tr.po:
25432         * po/uk.po:
25433         * po/vi.po:
25434           translation updates
25435
25436 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
25437
25438         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
25439           Add comment.
25440           
25441         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
25442         (gst_fake_sink_change_state):
25443           Make state change function thread-safe.
25444           
25445         * gst/gstpad.c: (gst_pad_alloc_buffer):
25446           Set offset on generic buffer allocated by fallback.
25447
25448 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
25449
25450         * docs/gst/gstreamer-sections.txt:
25451         * docs/gst/tmpl/gstelement.sgml:
25452         * gst/gstpad.c:
25453         * libs/gst/controller/gst-controller.c:
25454         (gst_controlled_property_set_interpolation_mode),
25455         (gst_controlled_property_new),
25456         (gst_controller_find_controlled_property):
25457          run the wingo-magic script against the docs
25458
25459 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25460
25461         * docs/gst/gstreamer-docs.sgml:
25462         * docs/gst/gstreamer-sections.txt:
25463         * docs/gst/tmpl/.cvsignore:
25464         * docs/gst/tmpl/gstelementdetails.sgml:
25465         * docs/gst/tmpl/gstelementfactory.sgml:
25466         * gst/gst.c:
25467         * gst/gstbus.c:
25468         * gst/gstelementfactory.c:
25469         * gst/gstelementfactory.h:
25470           merged elementdetails docs into elementfactory docs
25471           inlined both
25472
25473 2005-09-02  Andy Wingo  <wingo@pobox.com>
25474
25475         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
25476         consider this enum an enum and not a flags.
25477
25478 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
25479
25480         * docs/gst/gstreamer-docs.sgml:
25481         * docs/gst/tmpl/.cvsignore:
25482         * docs/gst/tmpl/gstghostpad.sgml:
25483         * docs/gst/tmpl/gstiterator.sgml:
25484         * docs/gst/tmpl/gstmacros.sgml:
25485         * docs/gst/tmpl/gstrealpad.sgml:
25486         * docs/gst/tmpl/gstregistry.sgml:
25487         * docs/gst/tmpl/gstregistrypool.sgml:
25488         * docs/gst/tmpl/gststructure.sgml:
25489         * docs/gst/tmpl/gstsystemclock.sgml:
25490         * docs/gst/tmpl/gsttrace.sgml:
25491         * gst/gstghostpad.c:
25492         * gst/gstmacros.h:
25493         * gst/gstmemchunk.c:
25494         * gst/gstmemchunk.h:
25495         * gst/gstqueue.c:
25496         * gst/gstregistry.c:
25497         * gst/gstregistrypool.c:
25498         * gst/gststructure.c:
25499         * gst/gstsystemclock.c:
25500           more docs inlined
25501
25502 2005-09-02  Andy Wingo  <wingo@pobox.com>
25503
25504         * gst/gstelement.h (GstState): Renamed from GstElementState,
25505         changed to be a normal enum instead of flags.
25506         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
25507         munged to be GST_STATE_CHANGE_*.
25508         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
25509         work with the new state representation.
25510         (GstStateChange): New enumeration of possible state transitions.
25511         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
25512         (GstElementClass::change_state): Pass the GstStateChange along as
25513         an argument. Helps language bindings, so they don't have to use
25514         tricky lock-needing macros like GST_STATE_CHANGE ().
25515
25516         * scripts/update-states (file): New script. Run it on a file to
25517         update it for state naming and API changes. Updates files in
25518         place.
25519
25520         * All files updated for the new API.
25521
25522 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
25523
25524         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
25525         * gst/gstutils.c: (gst_util_set_value_from_string),
25526         (gst_util_set_object_arg):
25527           fix a bunch of unchecked return values
25528         * tools/gst-complete.c: (main):
25529         * gstreamer.spec.in:
25530           clean up a little
25531
25532 2005-09-01  Wim Taymans  <wim@fluendo.com>
25533
25534         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
25535         (gst_base_sink_event), (gst_base_sink_do_sync),
25536         (gst_base_sink_handle_event):
25537         * gst/base/gstbasesink.h:
25538         Handle newsegments more correctly.
25539
25540         * gst/gstbus.c:
25541         Fix docs.
25542
25543         * gst/gstevent.c: (gst_event_new_newsegment):
25544         A newsegment cannot have a start_time of -1
25545
25546 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
25547
25548         * win32/gstenumtypes.c:
25549         * win32/gstenumtypes.h:
25550           Update
25551
25552 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25553
25554         * libs/gst/controller/gst-controller.c:
25555         (gst_controlled_property_set_interpolation_mode),
25556         (gst_controlled_property_new):
25557          fixed boolean again
25558
25559 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
25560
25561         * docs/faq/gst-uninstalled:
25562           add -good
25563         * gst/gstevent.c:
25564         * gst/gstevent.h:
25565           remove wrong docs
25566         * gst/gstutils.c: (gst_element_link_filtered):
25567         * gst/gstutils.h:
25568           add gst_element_link_filtered
25569
25570 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25571
25572         * docs/gst/gstreamer-docs.sgml:
25573         * docs/gst/gstreamer-sections.txt:
25574         * docs/gst/tmpl/.cvsignore:
25575         * docs/gst/tmpl/gsterror.sgml:
25576         * docs/gst/tmpl/gstfilter.sgml:
25577         * docs/gst/tmpl/gsturihandler.sgml:
25578         * docs/gst/tmpl/gsturitype.sgml:
25579         * docs/gst/tmpl/gstutils.sgml:
25580         * docs/gst/tmpl/gstxml.sgml:
25581         * gst/gsterror.c:
25582         * gst/gsterror.h:
25583         * gst/gstfilter.c:
25584         * gst/gsturi.c:
25585         * gst/gsturitype.c:
25586         * gst/gstutils.c:
25587         * gst/gstxml.c:
25588           inlined more docs, fixed double id-ref
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):
25594         Passthrough elements don't need the caps as they don't care.
25595
25596 2005-08-31  Wim Taymans  <wim@fluendo.com>
25597
25598         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
25599         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
25600         Don't leak refcounts on buffers.
25601
25602 2005-08-31  Wim Taymans  <wim@fluendo.com>
25603
25604         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
25605         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
25606         (gst_base_transform_chain), (gst_base_transform_change_state):
25607         * gst/base/gstbasetransform.h:
25608         Handle the case where we are not negotiated more gracefully.
25609
25610 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
25611
25612         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
25613         (gst_file_src_map_region):
25614           Set READONLY flag on mmap'ed buffers, otherwise
25615           gst_buffer_make_writable() won't work properly (#314708).
25616
25617 2005-08-31  Wim Taymans  <wim@fluendo.com>
25618
25619         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
25620         passthrough elements can even do inplace on non writable
25621         buffers (as they don't touch them).
25622
25623 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
25624
25625         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
25626         (gst_test_mono_source_set_property),
25627         (gst_test_mono_source_class_init), (GST_START_TEST),
25628         (gst_controller_suite):
25629           more tests (hehe I have the most)
25630         * gst/gstbus.c:
25631           describe popping messages whenusing mulltiple sources
25632         * libs/gst/controller/gst-controller.c:
25633         (gst_controlled_property_set_interpolation_mode),
25634         (gst_controlled_property_new):
25635         * libs/gst/controller/gst-controller.h:
25636         * libs/gst/controller/gst-interpolation.c:
25637           implement boolean properties
25638
25639 2005-08-31  Wim Taymans  <wim@fluendo.com>
25640
25641         * gst/gstminiobject.c: (gst_mini_object_ref):
25642         Cannot assert that the refcount has to be positive
25643         since a disposed object can be resurrected.
25644
25645 2005-08-31  Wim Taymans  <wim@fluendo.com>
25646
25647         * gst/gstpad.c: (gst_pad_init):
25648         Revert change, need to first fix badly behaving 
25649         apps.
25650
25651 2005-08-30  Wim Taymans  <wim@fluendo.com>
25652
25653         * check/elements/fakesrc.c: (setup_fakesrc):
25654         * check/elements/identity.c: (setup_identity):
25655         Activate pads before using them.
25656
25657 2005-08-30  Wim Taymans  <wim@fluendo.com>
25658
25659         * gst/base/gstadapter.c: (gst_adapter_flush):
25660         Flushing out 0 bytes is ok for this function.
25661
25662         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25663         no newsegment gives a warning and sets the start/stop to 
25664         invalid.
25665
25666         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
25667         (gst_base_transform_set_passthrough):
25668         Some debug info.
25669
25670         * gst/gstminiobject.c: (gst_mini_object_ref):
25671         Check refcount here too.
25672
25673         * gst/gstpad.c: (gst_pad_init):
25674         Pads are initially flushing and refusing data.
25675
25676         * gst/gstutils.c: (gst_element_link_pads_filtered):
25677         When adding a capsfilter element make sure it has the
25678         same state as the parent bin.
25679
25680 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25681
25682         * docs/gst/tmpl/.cvsignore:
25683         * docs/gst/tmpl/gstformat.sgml:
25684         * docs/gst/tmpl/gstversion.sgml:
25685         * gst/gstbus.h:
25686         * gst/gstformat.c:
25687         * gst/gstformat.h:
25688         * gst/gstversion.h.in:
25689           more docs and two more inlined
25690
25691 2005-08-30  Wim Taymans  <wim@fluendo.com>
25692
25693         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
25694         Don't sync to clock.
25695
25696 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25697
25698         * docs/gst/gstreamer-sections.txt:
25699           ultral33t func10ns deserve to appear in the docs actually
25700         * docs/gst/tmpl/.cvsignore:
25701         * docs/gst/tmpl/gstcompat.sgml:
25702         * docs/gst/tmpl/gstconfig.sgml:
25703         * gst/check/gstcheck.c:
25704         * gst/gstcompat.h:
25705         * gst/gstconfig.h.in:
25706           inlined more docs
25707
25708 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25709
25710         * docs/gst/tmpl/.cvsignore:
25711         * docs/gst/tmpl/gstquery.sgml:
25712         * docs/gst/tmpl/gstutils.sgml:
25713         * gst/gstquery.c:
25714         * gst/gstquery.h:
25715           inlined and extended docs
25716
25717 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
25718
25719         * check/gst-libs/controller.c: (GST_START_TEST),
25720         (gst_controller_suite):
25721           more tests
25722         * docs/gst/tmpl/gstutils.sgml:
25723         * docs/libs/gstreamer-libs-sections.txt:
25724         * docs/libs/tmpl/gstdataprotocol.sgml:
25725           include path fixes
25726         * examples/controller/audio-example.c: (main):
25727           controller example works now
25728         * gst/gstclock.h:
25729           doc fixes
25730         * tools/gst-inspect.c: (print_element_properties_info):
25731           show param spec flags
25732
25733 2005-08-29  Andy Wingo  <wingo@pobox.com>
25734
25735         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
25736
25737 2005-08-28  Andy Wingo  <wingo@pobox.com>
25738
25739         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
25740         as having two arguments instead of just one. Allows superclasses
25741         to access information on subclasses -- see the terrible for() loop
25742         in gtype.c:g_type_create_instance for the reason why. All callers
25743         changed.
25744
25745 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
25746
25747         * docs/design/part-messages.txt:
25748           update info
25749         * docs/gst/tmpl/.cvsignore:
25750         * docs/gst/tmpl/gstcaps.sgml:
25751         * docs/gst/tmpl/gstclock.sgml:
25752         * gst/gstbus.c:
25753         * gst/gstcaps.c:
25754         * gst/gstcaps.h:
25755         * gst/gstclock.c:
25756         * gst/gstclock.h:
25757         * gst/gstmessage.c:
25758           added descriptions for bus and message
25759           inline caps and clock docs
25760
25761 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
25762
25763         * gst/gstmessage.c:
25764         * gst/gstmessage.h:
25765           doc fixes
25766
25767 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
25768
25769         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
25770           fix div-by-zero
25771
25772 2005-08-26  Andy Wingo  <wingo@pobox.com>
25773
25774         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
25775         element_set_state's return val.
25776         (test_2_elements): Add test that's been disabled for months.
25777
25778         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
25779         can-activate-pull properties.
25780
25781         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
25782         can-activate-pull properties. Implement is_seekable so fakesrc can
25783         operate in pull mode.
25784
25785         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
25786         properties.
25787         (gst_base_sink_activate, gst_base_sink_activate_pull)
25788         (gst_base_sink_activate_push): Make activation mode choosing work.
25789         Cleanups.
25790         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
25791         is right. Make pull mode work. Post an eos before pausing in pull
25792         mode.
25793         (gst_base_sink_change_state): Pay attention to the core's
25794         change_state() return val.
25795         
25796         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
25797         has-getrange properties. Cleanups.
25798         
25799         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
25800         has_getrange and replace with can_activate_pull and
25801         can_activate_push.
25802
25803         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
25804         locking comments. Remove has_loop, has_chain and replace with
25805         can_activate_pull and can_activate_push.
25806
25807 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
25808
25809         * configure.ac:
25810         * examples/Makefile.am:
25811         * examples/metadata/Makefile.am:
25812         * examples/metadata/read-metadata.c: (message_loop),
25813         (have_pad_handler), (make_pipeline), (print_tag), (main):
25814           Add metadata reading example that loops over a list of filenames,
25815           dumping any tags found.
25816
25817         * gst/gstbus.c: (gst_bus_dispose):
25818         * gst/gstelement.c: (gst_element_dispose):
25819           Release a few potentially-held references in dispose.
25820
25821 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
25822
25823         * docs/gst/tmpl/gstminiobject.sgml:
25824           do *not* add tmpl/*.sgml files to CVS!
25825
25826 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
25827
25828         * libs/gst/bytestream/.cvsignore:
25829         * libs/gst/bytestream/Makefile.am:
25830         * libs/gst/bytestream/adapter.c:
25831         * libs/gst/bytestream/adapter.h:
25832         * libs/gst/bytestream/bytestream.c:
25833         * libs/gst/bytestream/bytestream.h:
25834         * libs/gst/bytestream/filepad.c:
25835         * libs/gst/bytestream/filepad.h:
25836           removing obsolete files
25837
25838 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
25839
25840         * docs/gst/gstreamer-docs.sgml:
25841         * docs/libs/gstreamer-libs-docs.sgml:
25842           disabed additional index entries again, as this makes docs-gen just
25843           slow and they aren't useful yet
25844         * docs/libs/gstreamer-libs-sections.txt:
25845           little -section.txt cleanup for libs
25846
25847 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
25848
25849         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
25850         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
25851           fix up some debugging
25852         (gst_base_transform_get_unit_size),
25853         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
25854         (gst_base_transform_handle_buffer):
25855         * gst/base/gstbasetransform.h:
25856           handle and store timed NEWSEGMENT events so that subclasses that
25857           calculate time by counting samples have a segment_start time they
25858           need to add to their timestamps - see audioresample
25859
25860 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
25861
25862         * gst/gstbin.h:
25863           removed ';' from the end of macro defs
25864         * docs/gst/gstreamer-docs.sgml:
25865         * docs/gst/gstreamer-sections.txt:
25866         * docs/gst/tmpl/.cvsignore:
25867         * gst/gstbus.h:
25868         * gst/gstelement.c: (gst_element_class_init),
25869         (gst_element_set_state), (activate_pads),
25870         (gst_element_save_thyself):
25871         * gst/gstevent.c: (gst_event_new_newsegment):
25872         * gst/gstevent.h:
25873         * gst/gstiterator.c:
25874         * gst/gstiterator.h:
25875         * gst/gstpad.c:
25876         * gst/gstprobe.h:
25877         * gst/gstutils.c: (gst_pad_query_convert):
25878         * gst/gstutils.h:
25879           fixed parameter name mismatches between source, header and docs
25880           added some more docs, resolved the last batch of unused elements in
25881           docs (now someone needs to doc them)
25882
25883 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
25884
25885         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
25886         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
25887           don't walk through the plugins backwards.  Where is all this
25888           reversed logic coming from ?
25889
25890 2005-08-25  Wim Taymans  <wim@fluendo.com>
25891
25892         * gst/base/gstbasetransform.c: (gst_base_transform_init),
25893         (gst_base_transform_transform_size),
25894         (gst_base_transform_configure_caps),
25895         (gst_base_transform_get_unit_size),
25896         (gst_base_transform_buffer_alloc),
25897         (gst_base_transform_change_state):
25898         * gst/base/gstbasetransform.h:
25899         Cache caps unit_size.
25900         Make sure we cannot negotiate up and downstream at the
25901         same time.
25902
25903 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
25904
25905         * gst/gst.c: (init_pre), (init_post):
25906           register the installed plugin path after the env var
25907         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
25908         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
25909           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
25910           directories, so the tests can prefer uninstalled over installed
25911
25912 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
25913
25914         * gst/base/gstbasetransform.h:
25915           comment
25916         * gst/gstpad.c:
25917           add to docs
25918
25919 2005-08-25  Wim Taymans  <wim@fluendo.com>
25920
25921         * gst/gstbin.c: (bin_bus_handler):
25922         Be a bit more conservative about the posted message.
25923         
25924         * gst/gstbus.c: (gst_bus_post):
25925         Some cleanups, warn wrong return values.
25926
25927 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
25928
25929         * check/gst/gstbin.c: (GST_START_TEST):
25930         * gst/gstbin.c: (bin_bus_handler):
25931         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
25932         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
25933         (gst_message_new_warning), (gst_message_new_tag),
25934         (gst_message_new_state_changed), (gst_message_new_segment_start),
25935         (gst_message_new_segment_done), (gst_message_new_custom):
25936         * gst/gstmessage.h:
25937         * tools/gst-launch.c: (event_loop):
25938         * tools/gst-md5sum.c: (event_loop):
25939           Revert unpopular change for GST_MESSAGE_SRC to GObject.
25940
25941 2005-08-25  Wim Taymans  <wim@fluendo.com>
25942
25943         * check/generic/states.c: (GST_START_TEST):
25944         Cleanup can be done at the end.
25945
25946         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
25947         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
25948         (gst_task_get_state), (gst_task_start), (gst_task_pause):
25949         Oh boy.. Thanks for finding this, Thomas. 
25950
25951 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
25952
25953         * docs/gst/gstreamer.types:
25954           added missing types
25955
25956 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
25957
25958         * docs/gst/gstreamer-docs.sgml:
25959         * docs/gst/gstreamer-sections.txt:
25960         * docs/gst/tmpl/.cvsignore:
25961         * gst/gstbin.c:
25962         * gst/gstiterator.c:
25963         * gst/gstutils.c:
25964         * gst/registries/gstxmlregistry.h:
25965           added missing classes and symbols (123 more to go)
25966           removed removed symbols from section file
25967           fixed many doc-comments
25968
25969 2005-08-24  Wim Taymans  <wim@fluendo.com>
25970
25971         * check/generic/states.c: (GST_START_TEST):
25972         Make sure all tasks are stopped.
25973
25974         * check/gst/gstbin.c: (GST_START_TEST):
25975         Unref after usage for proper valgrinding.
25976
25977         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
25978         Really wait for the task to stop before destroying the
25979         mutex.
25980
25981         * gst/gstqueue.c: (gst_queue_sink_activate_push),
25982         (gst_queue_src_activate_push):
25983         Small cleanups. Don't stop the task when we did not start
25984         it.
25985
25986         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
25987         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
25988         (gst_task_get_state), (gst_task_start), (gst_task_pause),
25989         (gst_task_join):
25990         * gst/gsttask.h:
25991         Protect the stream lock with the object lock.
25992         Disallow setting the stream lock when running.
25993         Add cleanup_all to wait for the threadpool to finish.
25994         Remove code to autoallocate a mutex if none was provided.
25995         Add _join() to wait for a task to stop.
25996         Protect the thread pool with a global lock.
25997
25998 2005-08-24  Wim Taymans  <wim@fluendo.com>
25999
26000         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
26001         (gst_base_sink_get_times), (gst_base_sink_do_sync),
26002         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
26003         * gst/base/gstbasesink.h:
26004         Handle newsegment events correctly.
26005         Drop buffers out of the segment range.
26006
26007 2005-08-22  Andy Wingo  <wingo@pobox.com>
26008
26009         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
26010         macro, implements an interface and gstimplementsinterface for a
26011         new type.
26012
26013 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26014
26015         * check/Makefile.am:
26016         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
26017           add a test that does a bunch of state changes on elements
26018           needs some fixing for valgrind
26019         * check/states/sinks.c: (gst_object_suite):
26020           whitespace
26021         * gst/gstcaps.h:
26022           add prototype for gst_caps_is_equal_fixed
26023         * gst/gstplugin.c:
26024         * gst/gstregistrypool.c:
26025           doc fixes
26026
26027 2005-08-24  Andy Wingo  <wingo@pobox.com>
26028
26029         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
26030         convert a negative value. Doesn't make much sense. Mostly this is
26031         here to force callers to ensure -1 maps to -1.
26032
26033 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26034
26035         * docs/pwg/advanced-types.xml:
26036           Well done to Michael for catching my deliberate introduction
26037           of this spelling mistake. 
26038         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
26039         * gst/gstelement.h:
26040           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
26041           unlink pads before removing the element from the bin.
26042
26043 2005-08-24  Andy Wingo  <wingo@pobox.com>
26044
26045         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
26046         the same thing as GST_DEBUG=*:4.
26047         (parse_debug_level, parse_debug_category): New helper parsers.
26048
26049 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
26050
26051         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26052         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
26053         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
26054         (gst_base_transform_buffer_alloc),
26055         (gst_base_transform_handle_buffer):
26056           use gboolean return values and pointers to size so we can use the
26057           full GST_BUFFER_SIZE range (guint) for buffer sizes
26058           use GstPadDirection for transform_caps
26059         * gst/base/gstbasetransform.h:
26060           rename get_size to get_unit_size since that's what it is
26061         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
26062           use GstPadDirection for transform_caps
26063         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26064         * gst/gstutils.h:
26065           cleanup and debugging
26066
26067 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26068
26069         * gst/gstelement.c: (gst_element_class_init),
26070         (gst_element_set_state), (activate_pads),
26071         (gst_element_save_thyself):
26072         * tools/gst-compprep.c: (main):
26073         * tools/gst-inspect.c: (print_element_properties_info):
26074         * tools/gst-xmlinspect.c: (print_element_properties):
26075           Fixed long standing mem-leak
26076
26077 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
26078
26079         * check/gst/gstbin.c: (GST_START_TEST):
26080         * gst/gstbin.c: (bin_bus_handler):
26081         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
26082         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
26083         (gst_message_new_warning), (gst_message_new_tag),
26084         (gst_message_new_state_changed), (gst_message_new_segment_start),
26085         (gst_message_new_segment_done), (gst_message_new_custom):
26086         * gst/gstmessage.h:
26087         * tools/gst-launch.c: (event_loop):
26088         * tools/gst-md5sum.c: (event_loop):
26089           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
26090           that applications can sensibly post custom messages with references
26091           to their own objects.
26092
26093 2005-08-24  Andy Wingo  <wingo@pobox.com>
26094
26095         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
26096         already.
26097
26098 2005-08-24  Wim Taymans  <wim@fluendo.com>
26099
26100         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26101         (gst_base_transform_transform_caps),
26102         (gst_base_transform_transform_size),
26103         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
26104         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
26105         (gst_base_transform_handle_buffer):
26106         * gst/base/gstbasetransform.h:
26107         Many fixes and new features added by Thomas. Can now also do
26108         transforms with variable sizes and a custom fixate_caps function.
26109
26110 2005-08-24  Wim Taymans  <wim@fluendo.com>
26111
26112         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26113         Some debugging.
26114
26115         * gst/gstclock.h:
26116         Cast to ClockTime before formatting to time.
26117
26118         * gst/gstutils.h:
26119         Cleanups.
26120
26121 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
26122
26123         * check/gst-libs/controller.c: (GST_START_TEST),
26124         (gst_controller_suite):
26125         * docs/gst/tmpl/gstcaps.sgml:
26126         * docs/gst/tmpl/gstghostpad.sgml:
26127         * docs/gst/tmpl/gstquery.sgml:
26128         * docs/gst/tmpl/gstutils.sgml:
26129         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
26130         (gst_object_sink_values), (gst_object_get_value_arrays),
26131         (gst_object_get_value_array):
26132           gracefully handle helper method calls to objects that are not beeing
26133           controlled, added test case for that          
26134
26135 2005-08-23  Wim Taymans  <wim@fluendo.com>
26136
26137         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
26138         (gst_event_new_newsegment), (gst_event_parse_newsegment),
26139         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
26140         (gst_event_parse_qos), (gst_event_new_seek),
26141         (gst_event_parse_seek):
26142         * gst/gstevent.h:
26143         Some more debugging output and doc cleanups.
26144
26145         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26146         Fix possible deadlock.
26147
26148 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26149
26150         * docs/gst/gstreamer-docs.sgml:
26151         * docs/gst/gstreamer-sections.txt:
26152         * docs/gst/gstreamer.types:
26153         * docs/gst/tmpl/.cvsignore:
26154         * gst/gstbin.h:
26155         * gst/gstbus.c:
26156         * gst/gstelement.c:
26157         * gst/gstevent.h:
26158           added 100 symbols from gstreamer-unused.txt to the right sections
26159           fixed more broken comments
26160           added GstBus to docs
26161
26162 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26163
26164         * docs/gst/gstreamer-sections.txt:
26165         * docs/gst/tmpl/.cvsignore:
26166         * docs/gst/tmpl/gstbin.sgml:
26167         * docs/gst/tmpl/gstbuffer.sgml:
26168         * gst/base/gstbasesrc.c:
26169         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
26170         * gst/gstbuffer.c:
26171         * gst/gstbuffer.h:
26172         * tools/gst-launch.1.in:
26173           inlined more doc comments, added missing comments and fixed comments
26174           fixed typos
26175
26176 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
26177
26178         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
26179           some debugging
26180         * gst/gstcaps.h:
26181           whitespace fixes
26182         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
26183           more debugging
26184         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
26185         * gst/gststructure.h:
26186           add a fixate function for booleans; add a FIXME that these func
26187           names should probably be gst_structure_fixate_*
26188
26189 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
26190
26191         * docs/gst/gstreamer-docs.sgml:
26192         * docs/gst/gstreamer-sections.txt:
26193         * gst/Makefile.am:
26194         * gst/gstbin.c: (gst_bin_get_type),
26195         (gst_bin_child_proxy_get_child_by_index),
26196         (gst_bin_child_proxy_get_children_count),
26197         (gst_bin_child_proxy_init):
26198         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
26199         (gst_child_proxy_get_child_by_index),
26200         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
26201         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
26202         (gst_child_proxy_get), (gst_child_proxy_set_property),
26203         (gst_child_proxy_set_valist), (gst_child_proxy_set),
26204         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
26205         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
26206         * gst/gstchildproxy.h:
26207         * gst/parse/grammar.y:
26208         * tools/gst-inspect.c: (print_interfaces),
26209         (print_element_properties_info), (print_element_info):
26210           ported gstchildproxy over from 0.8
26211           ported gst-inspect fixes and enhancements over from 0.8
26212
26213 2005-08-22  Wim Taymans  <wim@fluendo.com>
26214
26215         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
26216         (gst_base_transform_handle_buffer):
26217         Also call the transform function if we have ANY caps.
26218
26219         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
26220         Fix debug info.
26221
26222 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26223
26224         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
26225           Don't pretend to handle seek events if the source is not seekable
26226
26227 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
26228
26229         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26230           Remove extra parameter to debug output
26231
26232         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26233         (gst_base_src_do_seek), (gst_base_src_activate_push):
26234           Fix seek event handling.
26235
26236         * gst/gstpipeline.c: (gst_pipeline_change_state):
26237         * gst/gstqueue.c: (gst_queue_handle_sink_event),
26238         (gst_queue_src_activate_push):
26239           Don't start the src pad task on FLUSH_STOP if the pad
26240           isn't linked.
26241           Debug changes.
26242
26243 2005-08-22  Wim Taymans  <wim@fluendo.com>
26244
26245         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
26246         Added check for gst_static_caps_get() refcounting.
26247
26248 2005-08-22  Wim Taymans  <wim@fluendo.com>
26249
26250         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
26251         Make _static_caps_get() refcounting sane.
26252         
26253         * gst/gstelement.c: (gst_element_set_state):
26254         Add g_return_val_if_fail() to protect against segfaults.
26255
26256 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
26257
26258         * docs/gst/tmpl/gstevent.sgml:
26259         * gst/gstevent.c:
26260         * gst/gstevent.h:
26261           inlined remaining docs, added missing doc comments
26262
26263 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
26264
26265         * check/gst/gstbin.c: (GST_START_TEST):
26266           since we don't know when preroll is done, use refcount range
26267           check for the sink
26268         * gst/check/gstcheck.h:
26269           add macro for checking refcount range
26270
26271 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26272
26273         * check/Makefile.am:
26274           clean up environment for when registry gets built versus
26275           when actual tests are run; valgrind seems to not report
26276           leaks if GST_PLUGIN_PATH is set to some specific values
26277         * check/gst/gstbin.c: (GST_START_TEST):
26278           add more refcounting checks; maybe this exposes a
26279           preroll lock bug ?
26280         * common/check.mak:
26281         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26282         * gst/check/gstcheck.h:
26283         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
26284         (gst_bin_change_state):
26285         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
26286           add/fix debugging/whitespace
26287
26288 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26289
26290         * check/gst/gstevent.c: (event_probe), (test_event),
26291         (GST_START_TEST):
26292          Er, don't call gst_bin_watch_for_state_change you idiot.
26293
26294 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
26295
26296         * check/Makefile.am:
26297           Use CHECK_CFLAGS and CHECK_LIBS
26298         * check/gst/gstevent.c: (event_probe), (test_event),
26299         (GST_START_TEST):
26300           Don't leak events.
26301         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
26302         (gst_base_src_start), (gst_base_src_stop),
26303         (gst_base_src_activate_push), (gst_base_src_activate_pull),
26304         (gst_base_src_change_state):
26305           Sprinkle gst_base_src_stop liberally around error paths to fix
26306           problems reusing a source after failed state changes.
26307         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26308         (helper_find_suggest), (gst_type_find_helper):
26309           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
26310         * gst/gstevent.h:
26311         * docs/gst/tmpl/gstevent.sgml:
26312           Migrate part of the docs from the SGML file. Wait for ensonic to
26313           tell me how I did it wrong ;)
26314         * tools/gst-typefind.c: (main):
26315           Extra robustness to state changes between files.
26316
26317 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
26318
26319         * check/Makefile.am:
26320           don't valgrind the controller test - it's leaking - Stefan, HELP
26321         * gst/check/gstcheck.c: (gst_check_message_error),
26322         (gst_check_chain_func), (gst_check_setup_element),
26323         (gst_check_teardown_element), (gst_check_setup_src_pad),
26324         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
26325         (gst_check_teardown_sink_pad):
26326         * gst/check/gstcheck.h:
26327           add a bunch of methods to set up elements, and src and sink pads
26328         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
26329         * check/elements/identity.c: (setup_identity), (cleanup_identity),
26330         (GST_START_TEST):
26331           use them
26332         * gst/gstmessage.c:
26333         * gst/gsttag.h:
26334           whitespace/doc fixes
26335
26336 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26337
26338         * gst/gstelement.h:
26339           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
26340           be handled by the application and not always printed as well
26341
26342 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26343
26344         * check/Makefile.am:
26345           set GST_TOOLS_DIR
26346         * gst/check/gstcheck.c: (gst_check_message_error):
26347         * gst/check/gstcheck.h:
26348           add a fail_unless_equals_int
26349           add fail_unless for error messages
26350
26351 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26352
26353         * check/Makefile.am:
26354         * check/gst.supp:
26355         * common/Makefile.am:
26356         * common/check.mak:
26357         * common/gst.supp:
26358           factor out some of the common stuff so we can use it
26359
26360 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26361
26362         * check/Makefile.am:
26363         * check/gst/gstiterator.c: (GST_START_TEST):
26364         * check/gst/gstsystemclock.c: (GST_START_TEST),
26365         (gst_systemclock_suite):
26366         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
26367         * gst/gstclock.c:
26368           valgrind more tests
26369
26370 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
26371
26372         * check/elements/.cvsignore:
26373         * check/elements/gstfakesrc.c:
26374           rename to name of element
26375         * check/elements/identity.c: (chain_func), (event_func),
26376         (setup_identity), (cleanup_identity), (GST_START_TEST),
26377         (identity_suite), (main):
26378           add a test for identity
26379         * check/Makefile.am:
26380         * pkgconfig/Makefile.am:
26381         * pkgconfig/gstreamer-check.pc.in:
26382         * pkgconfig/gstreamer-check-uninstalled.pc.in:
26383         * gst/check:
26384         * gst/Makefile.am:
26385         * configure.ac:
26386           move the check stuff to a library that gets installed
26387         * check/gst-libs/controller.c: (GST_START_TEST):
26388         * check/gst-libs/gdp.c:
26389         * check/gst/gst.c: (GST_START_TEST):
26390         * check/gst/gstbin.c:
26391         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26392         * check/gst/gstbus.c:
26393         * check/gst/gstcaps.c: (GST_START_TEST):
26394         * check/gst/gstelement.c:
26395         * check/gst/gstghostpad.c:
26396         * check/gst/gstiterator.c:
26397         * check/gst/gstmessage.c:
26398         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
26399         * check/gst/gstobject.c:
26400         * check/gst/gstpad.c: (GST_START_TEST):
26401         * check/gst/gststructure.c: (GST_START_TEST):
26402         * check/gst/gstsystemclock.c: (GST_START_TEST),
26403         (gst_systemclock_suite):
26404         * check/gst/gsttag.c: (gst_tag_suite):
26405         * check/gst/gstvalue.c:
26406         * check/pipelines/cleanup.c:
26407         * check/pipelines/simple_launch_lines.c:
26408         * check/states/sinks.c:
26409           change include statement
26410
26411         * docs/gst/gstreamer-sections.txt:
26412         * docs/gst/tmpl/gstpad.sgml:
26413           document more pad stuff
26414         * gst/gstminiobject.c: (gst_mini_object_ref),
26415         (gst_mini_object_unref):
26416           debug refcounting
26417
26418 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
26419
26420         * docs/gst/tmpl/gst.sgml:
26421         * gst/gst.c:
26422           eliminate another tmpl file, fix spelling in the long-description
26423
26424 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26425
26426         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26427         (test_event), (timediff), (gstevents_suite):
26428           Should fix build on 64-bit arch's
26429
26430 2005-08-18  Andy Wingo  <wingo@pobox.com>
26431
26432         Make sure that when a pipeline goes to PLAYING, that data has
26433         actually hit the sink.
26434
26435         * check/states/sinks.c (test_sink): A sink that doesn't get any
26436         data shouldn't return SUCCESS for going to either PLAYING or
26437         PAUSED. Test also the return values on the way back down.
26438
26439         * gst/gstelement.c (gst_element_set_state): When changing the
26440         state of an element currently changing state asynchronously, go to
26441         lost-state after commiting the pending state. Makes future calls
26442         to get_state continue to return ASYNC.
26443
26444         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
26445         ASYNC when going to PLAYING if we still don't have preroll, as can
26446         happen with live sources.
26447
26448 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26449
26450         * docs/pwg/advanced-types.xml:
26451           Hack long paragraph into 2 chunks as a workaround for buggy
26452           jadetex version in sid and breezy that loops infinitely and
26453           eats all RAM.
26454
26455 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26456
26457         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26458         (test_event), (timediff), (gstevents_suite):
26459           Provide more error margin in clock measurements to allow for 
26460           g_get_current_time inaccuracies.
26461
26462 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26463
26464         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26465         (test_event), (timediff), (gstevents_suite):
26466            Fix error message output so I might be able to tell why the
26467            test works here but fails on the build farm.
26468
26469 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
26470
26471         * check/Makefile.am:
26472         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
26473         (test_event), (timediff), (gstevents_suite), (main):
26474           I wrote a test!
26475
26476         * docs/design/part-seeking.txt:
26477           Spelling correction
26478
26479         * docs/gst/tmpl/gstevent.sgml:
26480         * docs/gst/tmpl/gstfakesrc.sgml:
26481           Docs updates.
26482
26483         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
26484           Treat a buffer-without-newsegment the same as a receiving 
26485           a newsegment not in time format, and disable syncing to the clock
26486           with a warning.
26487
26488         * gst/gstbus.c: (gst_bus_set_sync_handler):
26489           Assert if anyone tries to replace the existing sync_handler for bus, 
26490           as only the owner should be setting it.
26491
26492         * gst/gstevent.h:
26493           Have a fixed set of custom event enums with events identified by
26494           their structure name (as in 0.8), rather than a free-for-all
26495           allowing collisions between enum values from different plugins.
26496
26497         * gst/gstpad.c: (gst_pad_class_init):
26498           Docs change.
26499           
26500         * gst/gstqueue.c: (gst_queue_handle_sink_event):
26501           Handle out-of-band downstream events from the sending thread.
26502
26503 2005-08-17  Andy Wingo  <wingo@pobox.com>
26504
26505         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
26506         play-timeout==0 to mean no timeout at all. In that case, don't
26507         bother with a get_state or a warning, just return directly, even
26508         if it's ASYNC.
26509
26510         * gst/base/gstbasetransform.c: Debug changes.
26511
26512         * gst/gstutils.h:
26513         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
26514         ensure bins post state change messages. A bit of a hack but I can't
26515         think of a way to avoid it.
26516
26517         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
26518
26519 2005-08-16  Andy Wingo  <wingo@pobox.com>
26520
26521         * gst/base/gstadapter.h:
26522         * gst/base/gstadapter.c (gst_adapter_take): New function, like
26523         peek() but you own the data. Not terribly efficient atm.
26524
26525 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26526
26527         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
26528         (gst_element_found_tags):
26529         * gst/gstutils.h:
26530           Add two utility functions for tag handling.
26531
26532 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26533
26534         * docs/manual/advanced-dataaccess.xml:
26535         * docs/manual/basics-helloworld.xml:
26536           Fix docs to use _bin_add() before _link(), which fixes the examples
26537           with recent core versions (reported by Madhan Raj M
26538           <raj_madan@rediffmail.com>, #313199).
26539
26540 2005-08-16  Wim Taymans  <wim@fluendo.com>
26541
26542         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
26543         Added subtract checks.
26544
26545         * docs/design/part-events.txt:
26546         Some more docs about newsegment
26547
26548         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
26549         Fix FIXME
26550
26551         * gst/gstcaps.c: (gst_caps_to_string):
26552         Add comments, cleanups.
26553         
26554         * gst/gstelement.c: (gst_element_save_thyself):
26555         cleanups
26556         
26557         * gst/gstvalue.c: (gst_value_collect_int_range),
26558         (gst_string_unwrap), (gst_value_union_int_int_range),
26559         (gst_value_union_int_range_int_range),
26560         (gst_value_intersect_int_int_range),
26561         (gst_value_intersect_int_range_int_range),
26562         (gst_value_intersect_double_double_range),
26563         (gst_value_intersect_double_range_double_range),
26564         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
26565         (gst_value_subtract_int_range_int),
26566         (gst_value_subtract_double_range_double),
26567         (gst_value_subtract_double_range_double_range),
26568         (gst_value_subtract_from_list), (gst_value_subtract_list),
26569         (gst_value_can_compare), (gst_value_compare_fraction):
26570         Cleanups, add comments, remove unneeded asserts.
26571
26572 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
26573
26574         * tools/gst-launch.c: (event_loop):
26575           don't convert NULL structures to strings
26576
26577 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
26578
26579         * docs/gst/gstreamer-sections.txt:
26580           made some defines private
26581         * docs/gst/tmpl/gstconfig.sgml:
26582         * docs/gst/tmpl/gstqueue.sgml:
26583         * docs/gst/tmpl/gsttaglist.sgml:
26584         * docs/gst/tmpl/gsttypes.sgml:
26585         * docs/gst/tmpl/gstutils.sgml:
26586         * docs/pwg/appendix-porting.xml:
26587         * gst/base/gstbasesink.h:
26588         * gst/base/gstbasesrc.c:
26589         * gst/base/gstbasesrc.h:
26590         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
26591         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
26592         * gst/gstelement.c: (gst_element_class_init):
26593         * gst/gstpad.c: (gst_pad_class_init):
26594         * gst/gstqueue.c: (gst_queue_class_init):
26595         * gst/gstxml.c: (gst_xml_class_init):
26596           documented all undocumented signal inline
26597         * libs/gst/controller/gst-controller.h:
26598           added padding
26599
26600 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26601
26602         * docs/pwg/appendix-porting.xml:
26603           Document _set_link_function -> _set_setcaps_function.
26604
26605 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
26606
26607         * check/Makefile.am:
26608           add a .check target for running the check
26609         * check/gst-libs/controller.c: (GST_START_TEST):
26610           cosmetic fixups
26611         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
26612           complete checks for gstbuffer; would be nice if I could get the
26613           gcov stuff to work so I can see if I actually completed gstbuffer.c
26614         * check/gstcheck.h:
26615           add ASSERT_BUFFER_REFCOUNT
26616
26617 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
26618
26619         * docs/gst/gstreamer-sections.txt:
26620         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
26621         * gst/gsttag.h:
26622           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
26623           spew out a warning if a tag that is already registered
26624           is re-registered, unless it is re-registered with a 
26625           different type (#308438).
26626
26627 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
26628
26629         * docs/pwg/appendix-porting.xml:
26630         * docs/pwg/building-state.xml:
26631           Add some paragraphs about state changes in 0.9 to the PWG
26632           and the porting guide, in particular about the new meaning
26633           of GST_STATE_PAUSED and how to write state change functions
26634           with concurrent access by multiple threads in mind.
26635
26636 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
26637
26638         * docs/gst/gstreamer-docs.sgml:
26639         * docs/libs/gstreamer-libs-docs.sgml:
26640           added deprecation and since indexes
26641         * libs/gst/controller/gst-controller.c:
26642         * libs/gst/controller/gst-helper.c:
26643           added since tags
26644
26645
26646 2005-08-11  Wim Taymans  <wim@fluendo.com>
26647
26648         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
26649         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
26650         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
26651         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
26652         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
26653         (gst_ghost_pad_set_target):
26654         Actually implement (re)setting the target on a ghostpad
26655         as described in the docs.
26656
26657 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
26658
26659         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
26660           Check whether GST_DEBUG_NO_COLOR environment variable is
26661           set and disable coloured debug output if that is the case.
26662
26663 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
26664
26665         * gst/base/gsttypefindhelper.c: (helper_find_peek),
26666         (gst_type_find_helper):
26667           The memory returned by gst_type_find_peek() needs to
26668           stay valid until the end of a typefind function, and
26669           typefind functions may keep results from different 
26670           offsets around, so we can't just unref the buffer from
26671           the previous _peek(), but have to save all buffers 
26672           returned by _peek() until typefinding is done and only
26673           free them then.
26674
26675 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
26676
26677         * docs/gst/gstreamer-sections.txt:
26678         * gst/gstutils.h:
26679           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
26680
26681 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26682
26683         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
26684           Fix a pretty good memleak.
26685
26686 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
26687
26688         * gst/gstiterator.h:
26689           Fix wrong include and 'make distcheck'.
26690
26691 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26692
26693         * gst/gstbin.c: (bin_bus_handler):
26694           Use gst_element_post_message() instead.
26695
26696 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
26697
26698         * gst/base/gstadapter.h:
26699         * gst/base/gstbasesink.h:
26700         * gst/base/gstbasesrc.h:
26701         * gst/base/gstbasetransform.h:
26702         * gst/base/gstcollectpads.h:
26703         * gst/base/gstpushsrc.h:
26704         * gst/gstiterator.h:
26705           Add padding to our base elements' class and instance structs and
26706           to GstIterator (you will need to rebuild all plugins and apps!)
26707
26708 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26709
26710         * gst/gstbin.c: (bin_bus_handler):
26711           Make default message forwarding from child->bus to bin->bus
26712           threadsafe and make it not emit warnings if the parent has no bus.
26713
26714 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26715
26716         * gst/gstelement.c: (activate_pads):
26717           On paused->ready, set pad->caps to NULL, as is the documented
26718           behaviour in this state change. Fixes playback of series of
26719           media files when visualization is enabled in Totem.
26720
26721 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
26722
26723         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
26724           Allow NULL as filter-caps (which means "any").
26725
26726 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
26727
26728         * docs/libs/gstreamer-libs-sections.txt:
26729         * libs/gst/controller/gst-controller.c:
26730         * libs/gst/controller/gst-controller.h:
26731         * libs/gst/controller/gst-helper.c:
26732           adding more entries to the docs and fix small doc-bugs
26733
26734 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
26735
26736         * docs/gst/gstreamer-docs.sgml:
26737         * docs/gst/gstreamer-sections.txt:
26738         * docs/gst/gstreamer.types:
26739         * docs/gst/tmpl/gstbasesink.sgml:
26740         * docs/gst/tmpl/gstbasesrc.sgml:
26741         * docs/gst/tmpl/gstbasetransform.sgml:
26742         * docs/gst/tmpl/gstfakesrc.sgml:
26743         * gst/base/gstcollectpads.c:
26744         * gst/base/gstcollectpads.h:
26745         * libs/gst/controller/gst-controller.c:
26746         * libs/gst/controller/gst-controller.h:
26747         * libs/gst/controller/gst-helper.c:
26748         * libs/gst/controller/gst-interpolation.c:
26749         * libs/gst/controller/lib.c:
26750           added long/short desc for controller docs
26751           added collectpads base class docs
26752           added correct includes to base-class docs
26753
26754 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
26755
26756         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
26757         (gst_test_mono_source_set_property),
26758         (gst_test_mono_source_class_init), (GST_START_TEST),
26759         (gst_controller_suite):
26760         * docs/gst/gstreamer-docs.sgml:
26761         * docs/gst/gstreamer-sections.txt:
26762         * docs/gst/gstreamer.types:
26763         * docs/libs/gstreamer-libs-docs.sgml:
26764         * docs/libs/gstreamer-libs-sections.txt:
26765         * gst/base/gstadapter.c:
26766         * libs/gst/controller/gst-controller.c:
26767         (gst_controlled_property_new), (gst_controlled_property_free),
26768         (gst_controller_new_valist),
26769         (gst_controller_remove_properties_valist),
26770         (gst_controller_sink_values), (_gst_controller_finalize):
26771         * libs/gst/controller/gst-controller.h:
26772         * libs/gst/controller/gst-helper.c:
26773         (gst_object_control_properties), (gst_object_uncontrol_properties),
26774         (gst_object_get_controller), (gst_object_set_controller),
26775         (gst_object_sink_values), (gst_object_get_value_arrays),
26776         (gst_object_get_value_array):
26777           more tests (and fixes) for the controller
26778           more docs for the controller
26779           integrated companies docs for the adapter 
26780
26781 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
26782
26783         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
26784         (GST_START_TEST), (fakesrc_suite):
26785           add tests for sizetype
26786
26787 2005-08-04  Andy Wingo  <wingo@pobox.com>
26788
26789         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
26790         fixes buffer_alloc proxying among other things.
26791
26792         * gst/base/gstbasetransform.c:
26793         * gst/base/gstbasetransform.h:
26794         Revert patch to gstbasetransform from 7-28 removing
26795         delay_configure.
26796
26797         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
26798         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
26799         Semantics changed, should return not the size of the output buffer
26800         but the byte size of a buffer with a given caps.
26801
26802         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
26803         debug object.
26804         (gst_base_transform_configure_caps): Don't set out_size here: (in,
26805         out) are not the pad caps until setcaps finishes.
26806         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
26807         not-in-place case as well. Deal with changing from in-place to
26808         not-in-place within calling pad_alloc_buffer. Still a bit
26809         concerned about the overhead here...
26810
26811 2005-08-03  Andy Wingo  <wingo@pobox.com>
26812
26813         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
26814         fixating is an error.
26815
26816 2005-08-04  Edward Hervey  <edward@fluendo.com>
26817
26818         * gst/base/gstadapter.h: 
26819         Added gst_adapter_get_type() to the header
26820
26821 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
26822
26823         * check/Makefile.am:
26824         * check/gst-libs/controller.c:
26825         * libs/gst/controller/gst-controller.c:
26826         (gst_controller_new_valist):
26827           added check test suite for the controller
26828         * gst/base/gstpushsrc.c:
26829           fixed a doc typo
26830
26831 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
26832
26833         * docs/gst/Makefile.am:
26834         * docs/gst/gstreamer-docs.sgml:
26835         * docs/gst/gstreamer-sections.txt:
26836         * docs/gst/gstreamer.types:
26837         * docs/gst/tmpl/gstfakesrc.sgml:
26838         * gst/base/README:
26839         * gst/base/gstbasesink.c:
26840         * gst/base/gstbasesink.h:
26841         * gst/base/gstbasesrc.c:
26842         * gst/base/gstbasesrc.h:
26843         * gst/base/gstbasetransform.c:
26844         * gst/base/gstpushsrc.c:
26845         * gst/base/gstpushsrc.h:
26846           add short/long description docs to base classes
26847           add pushsrc to the docs
26848           remove consolidated doc fragments
26849
26850 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
26851
26852         * configure.ac:
26853         * docs/libs/Makefile.am:
26854         * docs/libs/gstreamer-libs-docs.sgml:
26855         * docs/libs/gstreamer-libs-sections.txt:
26856         * docs/libs/gstreamer-libs.types:
26857         * examples/Makefile.am:
26858         * examples/controller/.cvsignore:
26859         * examples/controller/Makefile.am:
26860         * examples/controller/audio-example.c: (main):
26861         * libs/gst/Makefile.am:
26862         * libs/gst/controller/.cvsignore:
26863         * libs/gst/controller/Makefile.am:
26864         * libs/gst/controller/gst-controller.c:
26865         (on_object_controlled_property_changed), (gst_timed_value_compare),
26866         (gst_timed_value_find),
26867         (gst_controlled_property_set_interpolation_mode),
26868         (gst_controlled_property_new), (gst_controlled_property_free),
26869         (gst_controller_find_controlled_property),
26870         (gst_controller_new_valist), (gst_controller_new),
26871         (gst_controller_remove_properties_valist),
26872         (gst_controller_remove_properties), (gst_controller_set),
26873         (gst_controller_set_from_list), (gst_controller_unset),
26874         (gst_controller_get), (gst_controller_get_all),
26875         (gst_controller_sink_values), (gst_controller_get_value_arrays),
26876         (gst_controller_get_value_array),
26877         (gst_controller_set_interpolation_mode),
26878         (_gst_controller_finalize), (_gst_controller_init),
26879         (_gst_controller_class_init), (gst_controller_get_type):
26880         * libs/gst/controller/gst-controller.h:
26881         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
26882         (g_object_uncontrol_properties), (g_object_get_controller),
26883         (g_object_set_controller), (g_object_sink_values),
26884         (g_object_get_value_arrays), (g_object_get_value_array):
26885         * libs/gst/controller/gst-interpolation.c:
26886         (gst_controlled_property_find_timed_value_node),
26887         (interpolate_none_get), (interpolate_trigger_get),
26888         (interpolate_trigger_get_value_array):
26889         * libs/gst/controller/lib.c: (gst_controller_init):
26890         * pkgconfig/Makefile.am:
26891         * pkgconfig/gstreamer-control-uninstalled.pc.in:
26892         * pkgconfig/gstreamer-control.pc.in:
26893         * testsuite/Makefile.am:
26894         * testsuite/controller/.cvsignore:
26895         * testsuite/controller/Makefile.am:
26896         * testsuite/controller/interpolator.c: (main):
26897           added controller code
26898           removed dparam pc files
26899
26900 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
26901         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
26902         (gst_collectpads_stop):
26903           Broadcast the condition when shutting down, to make sure we wake all
26904           threads up. Shut down pads on finalize, for safety.
26905
26906 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
26907         * gst/base/gstbasetransform.c: (gst_base_transform_init),
26908         (gst_base_transform_handle_buffer),
26909         (gst_base_transform_change_state):
26910           Handle PAUSED->READY->PAUSED transition after negotiation
26911           occurred already.
26912         * gst/gstmessage.c: (gst_message_init):
26913           Extra piece of debug for new messages.
26914
26915 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
26916
26917         * configure.ac:
26918         * docs/gst/tmpl/gstbasesrc.sgml:
26919         * docs/gst/tmpl/gstelement.sgml:
26920         * docs/gst/tmpl/gstevent.sgml:
26921         * docs/gst/tmpl/gstfakesrc.sgml:
26922         * docs/gst/tmpl/gstformat.sgml:
26923         * docs/gst/tmpl/gstghostpad.sgml:
26924         * docs/gst/tmpl/gstpad.sgml:
26925         * docs/gst/tmpl/gstquery.sgml:
26926         * docs/gst/tmpl/gststructure.sgml:
26927         * docs/gst/tmpl/gsttaglist.sgml:
26928         * docs/gst/tmpl/gstvalue.sgml:
26929         * docs/libs/gstreamer-libs-docs.sgml:
26930         * docs/libs/gstreamer-libs-sections.txt:
26931         * docs/libs/gstreamer-libs.types:
26932         * libs/gst/Makefile.am:
26933         * libs/gst/control/.cvsignore:
26934         * libs/gst/control/Makefile.am:
26935         * libs/gst/control/control.c:
26936         * libs/gst/control/control.h:
26937         * libs/gst/control/dparam.c:
26938         * libs/gst/control/dparam.h:
26939         * libs/gst/control/dparam_smooth.c:
26940         * libs/gst/control/dparam_smooth.h:
26941         * libs/gst/control/dparamcommon.h:
26942         * libs/gst/control/dparammanager.c:
26943         * libs/gst/control/dparammanager.h:
26944         * libs/gst/control/dplinearinterp.c:
26945         * libs/gst/control/dplinearinterp.h:
26946         * libs/gst/control/unitconvert.c:
26947         * libs/gst/control/unitconvert.h:
26948         * testsuite/Makefile.am:
26949         * testsuite/dynparams/.cvsignore:
26950         * testsuite/dynparams/Makefile.am:
26951         * testsuite/dynparams/dparamstest.c:
26952         * tools/Makefile.am:
26953         * tools/gst-inspect.c: (print_element_info), (main):
26954         * tools/gst-xmlinspect.c: (print_element_info), (main):
26955           deactivate and remove dparams (libgstcontrol)
26956
26957 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
26958
26959         * gst/elements/gsttypefindelement.c:
26960         (gst_type_find_element_have_type), (gst_type_find_element_init),
26961         (stop_typefinding), (gst_type_find_element_handle_event),
26962         (gst_type_find_element_chain), (gst_type_find_element_getrange):
26963         * gst/elements/gsttypefindelement.h:
26964           Set caps on all outgoing buffers, not just the first one.
26965
26966 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
26967
26968         * gst/elements/gsttypefindelement.c:
26969         (gst_type_find_element_have_type),
26970         (gst_type_find_element_check_set_buffer_caps),
26971         (gst_type_find_element_init), (stop_typefinding),
26972         (gst_type_find_element_handle_event),
26973         (gst_type_find_element_chain), (gst_type_find_element_getrange):
26974         * gst/elements/gsttypefindelement.h:
26975           Set caps on first outgoing buffer when we've found the type.
26976
26977 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
26978
26979         * docs/gst/gstreamer-docs.sgml:
26980         * docs/gst/gstreamer-sections.txt:
26981         * docs/gst/tmpl/gstscheduler.sgml:
26982         * docs/gst/tmpl/gstschedulerfactory.sgml:
26983           Remove some old cruft from docs.
26984
26985 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
26986
26987         * gst/gstpad.h:
26988           Fix inline docs for GstPadLinkReturn.
26989           
26990         * gst/gststructure.c: (gst_structure_has_name):
26991         * gst/gststructure.h:
26992         * docs/gst/gstreamer-sections.txt:
26993           New API: gst_structure_has_name().
26994
26995 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
26996
26997         * configure.ac:
26998           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
26999           and _LARGEFILE_SOURCE in config.h as required. Do not 
27000           export those flags in our .pc files any longer (#142209).
27001
27002           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
27003
27004         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
27005         (gst_file_sink_do_seek), (gst_file_sink_event),
27006         (gst_file_sink_get_current_offset), (gst_file_sink_render):
27007           Redo seek/tell calls with large file support in mind; add some
27008           debugging messages; add log message that tells us when large
27009           file support is unavailable or not enabled for some reason.
27010
27011         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
27012           Add log message that tells us when large file support 
27013           is unavailable or not enabled for some reason.
27014
27015 2005-07-29  Wim Taymans  <wim@fluendo.com>
27016
27017         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27018         Added test for removing an element with ghostpad from a bin.
27019         Fixed test as current implementation does the right thing.
27020
27021         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
27022         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
27023         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
27024         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
27025         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
27026         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
27027         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
27028         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
27029         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
27030         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
27031         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
27032         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
27033         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
27034         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
27035         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
27036         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
27037         * gst/gstghostpad.h:
27038         Clean up ghostpads, remove properties for internal stuff.
27039         Make threadsafe.
27040         Fix refcounting.
27041         Prepare for switching targets, not all use cases work yet.
27042
27043 2005-07-29  Wim Taymans  <wim@fluendo.com>
27044
27045         * docs/design/part-gstghostpad.txt:
27046         Small update.
27047
27048         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27049         (gst_bin_remove_func):
27050         Unlinking pads while holding the bin LOCK is not a good
27051         idea.
27052
27053         * gst/gstpad.c: (gst_pad_class_init),
27054         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
27055         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
27056         No prob setting template after creating the pad.
27057
27058 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
27059
27060         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
27061         (gst_bus_peek), (gst_bus_source_dispatch),
27062         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
27063         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
27064           gst_bus_poll may be called from other threads. Handle
27065           this nicely by not making poll_data disappear off the
27066           stack once gst_bus_poll returns.
27067           gst_bus_peek now increments the refcount on the returned
27068           message.
27069
27070 2005-07-29  Wim Taymans  <wim@fluendo.com>
27071
27072         * docs/design/part-gstghostpad.txt:
27073         Overview of current GhostPad datastructures and use
27074         cases for changing the target.
27075
27076 2005-07-28  Wim Taymans  <wim@fluendo.com>
27077
27078         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
27079         Added checks for hierarchy consistency whan adding linked
27080         elements to bins.
27081
27082         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27083         Added check to test element scheduling without bin/pipeline.
27084
27085         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
27086         First add elements to bin, then link.
27087         
27088         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
27089         (gst_bin_remove_func):
27090         Unlink pads from elements added/removed from bin to maintain
27091         hierarchy consistency.
27092
27093 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27094
27095         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
27096         (gst_base_transform_handle_buffer):
27097         * gst/base/gstbasetransform.h:
27098           Remove broken delay_configure (fixes renegotiation of software
27099           scaling pipelines); remove some leftover printf()s.
27100
27101 2005-07-28  Wim Taymans  <wim@fluendo.com>
27102
27103         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
27104         Added some more tests for wrong hierarchy
27105
27106         * docs/design/part-overview.txt:
27107         Some updates.
27108
27109         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
27110         Cleanups.
27111
27112         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
27113         (gst_element_dispose):
27114         Some more cleanups.
27115
27116         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
27117         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
27118         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27119         (gst_pad_set_caps), (gst_pad_send_event):
27120         Check for correct hierarchy when linking pads. Moving to
27121         strict requirement for ghostpads when linking elements in
27122         different bins.
27123
27124         * gst/gstpad.h:
27125         Clean ups. Added WRONG_HIERARCHY return value.
27126
27127 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27128
27129         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27130           Better debug if no transform is possible.
27131
27132 2005-07-27  Wim Taymans  <wim@fluendo.com>
27133
27134         * docs/random/wtay/network-transp:
27135         Some old doc I had.
27136
27137 2005-07-27  Wim Taymans  <wim@fluendo.com>
27138
27139         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27140         (gst_dp_event_from_packet):
27141         Fix serialization of seek events.
27142
27143 2005-07-27  Wim Taymans  <wim@fluendo.com>
27144
27145         * check/gst-libs/gdp.c: (GST_START_TEST):
27146         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27147         Fix compilation and fix event serialization.
27148
27149 2005-07-27  Wim Taymans  <wim@fluendo.com>
27150
27151         * CHANGES-0.9:
27152         * docs/design/part-TODO.txt:
27153         * docs/design/part-events.txt:
27154         Some docs updates
27155
27156         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27157         (gst_base_sink_event), (gst_base_sink_do_sync),
27158         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27159         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27160         (gst_base_src_do_seek), (gst_base_src_event_handler),
27161         (gst_base_src_loop):
27162         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27163         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27164         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27165         (gst_base_transform_event), (gst_base_transform_handle_buffer),
27166         (gst_base_transform_set_passthrough),
27167         (gst_base_transform_is_passthrough):
27168         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
27169         * gst/elements/gstfilesink.c: (gst_file_sink_event):
27170         Event updates.
27171
27172         * gst/gstbuffer.h:
27173         Use faster casts.
27174
27175         * gst/gstelement.c: (gst_element_seek):
27176         * gst/gstelement.h:
27177         Update gst_element_seek.
27178
27179         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
27180         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
27181         (gst_event_new_flush_start), (gst_event_new_flush_stop),
27182         (gst_event_new_eos), (gst_event_new_newsegment),
27183         (gst_event_parse_newsegment), (gst_event_new_tag),
27184         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
27185         (gst_event_parse_qos), (gst_event_new_seek),
27186         (gst_event_parse_seek), (gst_event_new_navigation):
27187         * gst/gstevent.h:
27188         Make GstEvent use GstStructure. Add parsing code, make sure the
27189         API is sufficiently generic.
27190         Mark possible directions of events and serialization.
27191
27192         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
27193         (_gst_message_copy), (gst_message_new_segment_start),
27194         (gst_message_new_segment_done), (gst_message_new_custom),
27195         (gst_message_parse_segment_start),
27196         (gst_message_parse_segment_done):
27197         Small cleanups.
27198
27199         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27200         (gst_pad_set_caps), (gst_pad_send_event):
27201         Update for new events. 
27202         Catch events sent in wrong directions.
27203
27204         * gst/gstqueue.c: (gst_queue_link_src),
27205         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
27206         (gst_queue_handle_src_query):
27207         Event updates.
27208
27209         * gst/gsttag.c:
27210         * gst/gsttag.h:
27211         Remove event code from this file.
27212
27213         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
27214         (gst_dp_event_from_packet):
27215         Event updates.
27216
27217 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27218
27219         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
27220         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27221         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
27222           Make debugging actually useful.
27223
27224 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27225
27226         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
27227         (gst_pad_fixate_caps):
27228           Implement default fixation once again, so that gst_pad_fixate()
27229           actually does anything at all. This probably needs to be some
27230           sort of a last resort, and use profile-based fixation first, but
27231           since that doesn't exist yet, this is the best we have. Fixes
27232           visualization in Totem.
27233
27234 2005-07-22  Wim Taymans  <wim@fluendo.com>
27235
27236         * docs/design/part-events.txt:
27237         Small update.
27238
27239         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27240         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
27241         (gst_base_sink_activate_pull):
27242         Some more comments.
27243
27244         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
27245         (gst_fake_src_create):
27246         Fix handoff marshall.
27247
27248         * gst/elements/gstidentity.c: (gst_identity_class_init),
27249         (gst_identity_transform_ip):
27250         We're a real inplace element.
27251
27252         * gst/gstbus.c: (gst_bus_post):
27253         Added some comments.
27254
27255         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
27256         * tests/muxing/case1.c: (main):
27257         * tests/sched/dynamic-pipeline.c: (main):
27258         * tests/sched/interrupt1.c: (main):
27259         * tests/sched/interrupt2.c: (main):
27260         * tests/sched/interrupt3.c: (main):
27261         * tests/sched/runxml.c: (main):
27262         * tests/sched/sched-stress.c: (main):
27263         * tests/seeking/seeking1.c: (event_received), (main):
27264         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
27265         (main):
27266         * tests/threadstate/threadstate3.c: (main):
27267         * tests/threadstate/threadstate4.c: (main):
27268         * tests/threadstate/threadstate5.c: (main):
27269         Fix the tests.
27270
27271 2005-07-21  Wim Taymans  <wim@fluendo.com>
27272
27273         * docs/design/part-seeking.txt:
27274         Some small additions.
27275
27276         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27277         (gst_base_sink_get_times), (gst_base_sink_do_sync),
27278         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
27279         * gst/base/gstbasesink.h:
27280         discont values are gint64, handle the math correctly.
27281
27282         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27283         Make the basesrc report error if the source pad is not linked.
27284
27285         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
27286         (gst_queue_loop), (gst_queue_handle_src_query),
27287         (gst_queue_src_activate_push):
27288         Make queue collect data even if the srcpad is not linked.
27289         Start pushing out data as soon as it is linked.
27290
27291         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
27292         * gst/gstutils.h:
27293         Added gst_flow_get_name() to ease error reporting.
27294
27295 2005-07-20  Wim Taymans  <wim@fluendo.com>
27296
27297         * gst/gstmessage.c: (gst_message_new_segment_start),
27298         (gst_message_new_segment_done), (gst_message_parse_segment_start),
27299         (gst_message_parse_segment_done):
27300         * gst/gstmessage.h:
27301         Added a bunch of messages for advanced seeking.
27302
27303         * gst/parse/grammar.y:
27304         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
27305         (gst_dpman_state_changed):
27306         Fix some new-pad -> pad-added signals
27307
27308 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27309
27310         * docs/manual/appendix-porting.xml:
27311         * docs/pwg/appendix-porting.xml:
27312           Document new-pad/state-change signal renames and the FixedList
27313           type rename.
27314
27315 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27316
27317         * docs/manual/advanced-autoplugging.xml:
27318         * docs/manual/basics-helloworld.xml:
27319         * docs/manual/basics-pads.xml:
27320         * docs/random/ds/0.9-suggested-changes:
27321         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
27322         * gst/gstelement.h:
27323         * gst/gstevent.h:
27324         * gst/gstformat.h:
27325         * gst/gstquery.h:
27326         * gst/gststructure.c: (gst_structure_value_get_generic_type),
27327         (gst_structure_parse_array), (gst_structure_parse_value):
27328         * gst/gstvalue.c: (gst_type_is_fixed),
27329         (gst_value_list_prepend_value), (gst_value_list_append_value),
27330         (gst_value_list_get_size), (gst_value_list_get_value),
27331         (gst_value_transform_array_string), (gst_value_serialize_array),
27332         (gst_value_deserialize_array), (gst_value_intersect_array),
27333         (gst_value_is_fixed), (_gst_value_initialize):
27334         * gst/gstvalue.h:
27335           GstElement::new-pad -> pad-added, GstElement::state-change ->
27336           state-changed, GstValueFixedList -> GstValueArray, add format and
27337           flags as their own arguments in gst_element_seek() (should improve
27338           "bindeability"), remove function generators since they don't work
27339           under a whole bunch of compilers (they were deprecated already
27340           anyway).
27341
27342 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27343
27344         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
27345         (_gst_debug_register_funcptr):
27346         * gst/gstinfo.h:
27347           Fix illegal cast on some platforms (#309253).
27348
27349 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27350
27351         * gst/gstmessage.c: (gst_message_new_custom):
27352         * gst/gstmessage.h:
27353           Add _new_custom, make _new_application a macro to _new_custom.
27354
27355 2005-07-20  Wim Taymans  <wim@fluendo.com>
27356
27357         * gst/base/gstbasesrc.c: (gst_base_src_init),
27358         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
27359         * gst/base/gstbasesrc.h:
27360         Add a gboolean to decide when to push out a discont.
27361
27362         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
27363         (gst_queue_loop), (gst_queue_handle_src_query),
27364         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
27365         (gst_queue_set_property), (gst_queue_get_property):
27366         Some cleanups.
27367
27368         * tests/threadstate/threadstate1.c: (main):
27369         Make a thread test compile and run... very silly..
27370
27371
27372 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27373
27374         * docs/manual/appendix-porting.xml:
27375           Mention removal of libgstgconf-0.9.la and existence of gconf
27376           elements.
27377
27378 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27379
27380         * docs/pwg/advanced-clock.xml:
27381         * docs/pwg/appendix-porting.xml:
27382         * docs/pwg/intro-preface.xml:
27383         * docs/pwg/other-base.xml:
27384         * docs/pwg/other-manager.xml:
27385         * docs/pwg/other-nton.xml:
27386         * docs/pwg/other-ntoone.xml:
27387         * docs/pwg/other-oneton.xml:
27388         * docs/pwg/pwg.xml:
27389           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
27390           demuxer), remove n-to-n (was never written), fix some code examples
27391           and links and update the porting section to include all this.
27392
27393 2005-07-19  Wim Taymans  <wim@fluendo.com>
27394
27395         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
27396         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
27397         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
27398         (gst_queue_src_activate_push), (gst_queue_change_state),
27399         (gst_queue_get_property):
27400         * gst/gstqueue.h:
27401         Propagate GstFlowReturn more intelligently upstream and output
27402         an ERROR/EOS when streaming stopped due to fatal error.
27403
27404 2005-07-19  Wim Taymans  <wim@fluendo.com>
27405
27406         * tools/gst-launch.c: (check_intr), (event_loop), (main):
27407         Don't block forever for the state change to complete, the
27408         pipeline already did with a sensible timeout.
27409
27410 2005-07-19  Wim Taymans  <wim@fluendo.com>
27411
27412         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
27413         Make sure we never call the create function is we
27414         got deactivated.
27415
27416 2005-07-19  Andy Wingo  <wingo@pobox.com>
27417
27418         * gst/parse/parse.l: Attempt to solve bug #172815.
27419
27420 2005-07-19  Wim Taymans  <wim@fluendo.com>
27421
27422         * docs/design/part-clocks.txt:
27423         * docs/design/part-events.txt:
27424         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
27425         Small docs updates.
27426         Only update the seeking values when we are not
27427         busy streaming.
27428
27429 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27430
27431         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27432           Oops, ignore the result of gst_pad_push_event here.
27433
27434 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
27435
27436         * gst/base/gstbasesrc.c: (gst_base_src_loop),
27437         (gst_base_src_activate_push):
27438           Send discont event from the loop function, as pads
27439           aren't activated yet in the activate_push handler.
27440
27441         * gst/gstbin.c: (bin_bus_handler):
27442           Don't leak element name.
27443
27444 2005-07-18  Andy Wingo  <wingo@pobox.com>
27445
27446         * configure.ac: Use AS_LIBTOOL_TAGS.
27447
27448 2005-07-18  Wim Taymans  <wim@fluendo.com>
27449
27450         * docs/gst/gstreamer.types:
27451         Remove deleted types.
27452
27453 2005-07-18  Wim Taymans  <wim@fluendo.com>
27454
27455         * check/elements/gstfakesrc.c: (GST_START_TEST):
27456         * configure.ac:
27457         * gst/Makefile.am:
27458         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
27459         (init_popt_callback):
27460         * gst/gst.h:
27461         * gst/gst_private.h:
27462         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
27463         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
27464         * gst/gstbin.h:
27465         * gst/gstbus.h:
27466         * gst/gstconfig.h.in:
27467         * gst/gstelement.c: (gst_element_class_init),
27468         (gst_element_set_base_time), (gst_element_get_base_time),
27469         (iterator_fold_with_resync), (gst_element_change_state),
27470         (gst_element_dispose), (gst_element_get_bus):
27471         * gst/gstelement.h:
27472         * gst/gstelementfactory.h:
27473         * gst/gsterror.c: (_gst_core_errors_init):
27474         * gst/gsterror.h:
27475         * gst/gstevent.h:
27476         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27477         * gst/gstindex.c:
27478         * gst/gstinfo.c: (_gst_debug_init):
27479         * gst/gstmessage.c: (_gst_message_copy):
27480         * gst/gstmessage.h:
27481         * gst/gstminiobject.h:
27482         * gst/gstobject.c:
27483         * gst/gstobject.h:
27484         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27485         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
27486         * gst/gstpad.h:
27487         * gst/gstparse.h:
27488         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
27489         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27490         (gst_pipeline_get_last_stream_time):
27491         * gst/gstpipeline.h:
27492         * gst/gstpluginfeature.h:
27493         * gst/gstquery.h:
27494         * gst/gstscheduler.c:
27495         * gst/gstscheduler.h:
27496         * gst/gststructure.h:
27497         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
27498         (gst_task_finalize), (gst_task_func), (gst_task_create),
27499         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
27500         (gst_task_stop), (gst_task_pause):
27501         * gst/gsttask.h:
27502         * gst/gsttypefind.h:
27503         * gst/gsttypes.h:
27504         * gst/registries/gstlibxmlregistry.c: (load_feature),
27505         (gst_xml_registry_load), (gst_xml_registry_save_feature):
27506         * gst/registries/gstxmlregistry.c:
27507         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
27508         * gst/schedulers/threadscheduler.c:
27509         * libs/gst/control/dparammanager.h:
27510         * tools/gst-inspect.c: (print_element_list),
27511         (print_plugin_features), (print_element_features):
27512         * tools/gst-xmlinspect.c: (print_element_list),
27513         (print_plugin_info), (main):
27514         Removed plugable schedulers.
27515         Removed Scheduler/Manager from elements.
27516         Removed gsttypes.h, rearranged includes.
27517         Removed dependency pad<->element, element<>pipeline, and
27518         various others,  fix includes.
27519         implement gst_pad_get_parent() with gst_object_get_parent()
27520         Make GstTask sefcontained.
27521         Fix _get_state() on GstBin, it did not return ASYNC with a 0
27522         timeout.
27523         Fix endless loop in iterator_fold_with_resync.
27524
27525
27526 2005-07-18  Wim Taymans  <wim@fluendo.com>
27527
27528         * gst/Makefile.am:
27529         * gst/gstarch.h:
27530         Remove old file.
27531
27532 2005-07-18  Wim Taymans  <wim@fluendo.com>
27533
27534         * gst/Makefile.am:
27535         No more cothreads.h
27536
27537 2005-07-18  Wim Taymans  <wim@fluendo.com>
27538
27539         * gst/cothreads.c:
27540         * gst/cothreads.h:
27541         Let's remove these.
27542
27543 2005-07-18  Wim Taymans  <wim@fluendo.com>
27544
27545         * docs/design/part-dynamic.txt:
27546         * docs/design/part-events.txt:
27547         * docs/design/part-seeking.txt:
27548         Some more docs in the works.
27549
27550         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
27551         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
27552         (gst_base_transform_setcaps), (gst_base_transform_get_size),
27553         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
27554         (gst_base_transform_handle_buffer),
27555         (gst_base_transform_sink_activate_push),
27556         (gst_base_transform_src_activate_pull),
27557         (gst_base_transform_set_passthrough),
27558         (gst_base_transform_is_passthrough):
27559         Refcounting fixes.
27560
27561         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
27562         Cleanups.
27563
27564         * gst/gstevent.c: (gst_event_finalize):
27565         Set SRC to NULL.
27566
27567         * gst/gstutils.c: (gst_element_unlink),
27568         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
27569         (gst_pad_proxy_setcaps):
27570         * gst/gstutils.h:
27571         Add _get_parent_element() to get a pads parent as an element.
27572
27573 2005-07-18  Wim Taymans  <wim@fluendo.com>
27574
27575         * check/gst/gstbin.c: (GST_START_TEST):
27576         Remove bogus test.
27577
27578 2005-07-18  Wim Taymans  <wim@fluendo.com>
27579
27580         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
27581         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
27582         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
27583         (gst_base_sink_event), (gst_base_sink_do_sync),
27584         (gst_base_sink_chain), (gst_base_sink_loop),
27585         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
27586         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
27587         Refcounting fixes.
27588         Fix logic for returning ASYNC when not prerolled.
27589
27590 2005-07-18  Wim Taymans  <wim@fluendo.com>
27591
27592         * gst/gstqueue.c: (gst_queue_handle_sink_event):
27593         Fix nasty refcount bug.
27594
27595 2005-07-16 Philippe Khalaf <burger@speedy.org>
27596
27597         * gst/elements/gstfdsrc.c:
27598         * gst/elements/gstfdsrc.h:
27599         * gst/elements/gstelements.c:
27600         * gst/elements/Makefile.am:
27601         Ported fdsrc to 0.9.
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_do_sync):
27607         Fix compile error.
27608
27609 2005-07-16  Wim Taymans  <wim@fluendo.com>
27610
27611         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
27612         (gst_base_sink_event), (gst_base_sink_get_times),
27613         (gst_base_sink_do_sync), (gst_base_sink_change_state):
27614         * gst/base/gstbasesink.h:
27615         Store and use discont values when syncing buffers as described
27616         in design docs.
27617         
27618         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
27619         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
27620         (gst_base_src_activate_push):
27621         Push discont event when starting.
27622
27623         * gst/elements/gstidentity.c: (gst_identity_transform):
27624         Small cleanups.
27625
27626         * gst/gstbin.c: (gst_bin_change_state):
27627         Small cleanups in base_time  distribution.
27628
27629         * gst/gstelement.c: (gst_element_set_base_time),
27630         (gst_element_get_base_time), (gst_element_change_state):
27631         * gst/gstelement.h:
27632         Added methods for the base_time of the element.
27633         Some MT fixes.
27634
27635         * gst/gstpipeline.c: (gst_pipeline_send_event),
27636         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
27637         (gst_pipeline_get_last_stream_time):
27638         * gst/gstpipeline.h:
27639         MT fixes.
27640         Handle seeking as described in design doc, remove stream_time
27641         hack.
27642         Cleanups clock and stream_time selection code. Added accessors
27643         for the stream_time.
27644         
27645
27646 2005-07-16  Andy Wingo  <wingo@pobox.com>
27647
27648         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
27649         (#305291).
27650
27651 2005-07-16  Wim Taymans  <wim@fluendo.com>
27652
27653         * check/gst/gstbin.c: (GST_START_TEST):
27654         Make elements silent as the deep_notify refs the
27655         parent, which might make the test fail.
27656
27657         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
27658         Don't hold the lock for too long.
27659
27660 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
27661
27662         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
27663           Don't unref the caps we passed to gst_caps_make_writable() after
27664           passing them. gst_caps_make_writable() will do that for us.
27665
27666 2005-07-15  Andy Wingo  <wingo@pobox.com>
27667
27668         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
27669         (#157311).
27670
27671         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
27672         own marshalling function for the handoff signal. Properly type the
27673         buffer as a buffer. Fixes some warnings. Should do a more general
27674         solution.
27675         (gst_identity_class_init): Plug into the right marshaller.
27676
27677 2005-07-15  Wim Taymans  <wim@fluendo.com>
27678
27679         * docs/design/part-TODO.txt:
27680         * docs/design/part-clocks.txt:
27681         * docs/design/part-element-sink.txt:
27682         * docs/design/part-events.txt:
27683         * docs/design/part-gstpipeline.txt:
27684         Updated docs, mostly DISCONT related.
27685
27686 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
27687
27688         * docs/pwg/building-pads.xml:
27689           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
27690
27691 2005-07-15  Andy Wingo  <wingo@pobox.com>
27692
27693         * tools/gst-typefind.c: Update, add copyright block.
27694
27695         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
27696         Normalize and truncate caps before fixation.
27697
27698         * gst/gstcaps.h:
27699         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
27700         discards all but the first structure from its argument.
27701
27702 2005-07-15  Wim Taymans  <wim@fluendo.com>
27703
27704         * gst/base/gstbasetransform.c: (gst_base_transform_init),
27705         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
27706         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
27707         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
27708         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
27709         (gst_base_transform_chain), (gst_base_transform_change_state),
27710         (gst_base_transform_set_passthrough),
27711         (gst_base_transform_is_passthrough):
27712         * gst/base/gstbasetransform.h:
27713         Make passthrough work using the bufferpools.
27714         Changed API a bit, subclasses have to write into a buffer
27715         provided by the base class.
27716         More debug info in nego functions.
27717         
27718         * gst/elements/gstidentity.c: (gst_identity_init),
27719         (gst_identity_transform):
27720         Port to new base class.
27721
27722 2005-07-15  Wim Taymans  <wim@fluendo.com>
27723
27724         * gst/gstmessage.c: (gst_message_new_state_changed):
27725         * tools/gst-launch.c: (event_loop), (main):
27726         Totally dump messages in -launch with the -m option.
27727         Fix message name for State messages,
27728
27729 2005-07-14  Wim Taymans  <wim@fluendo.com>
27730
27731         * gst/base/gstbasesrc.c: (gst_base_src_loop):
27732         Post error messages on errors.
27733
27734 2005-07-14  Wim Taymans  <wim@fluendo.com>
27735
27736         * gst/gstcaps.c: (gst_caps_do_simplify):
27737         Remove debug info.
27738
27739         * gst/gsterror.h:
27740         Define error for stream stopped.
27741
27742         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
27743         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
27744         Do proper return values.
27745
27746         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
27747         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
27748         (gst_pad_get_range):
27749         Better return values.
27750
27751         * gst/gstpad.h:
27752         Reorganise return values, add macro to check for fatal errors.
27753
27754         * gst/gstqueue.c: (gst_queue_chain):
27755         Return proper GstFlowReturn values,
27756
27757 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
27758
27759         * docs/gst/gstreamer-sections.txt:
27760         * docs/gst/gstreamer.types:
27761         * docs/gst/tmpl/gst.sgml:
27762         * docs/gst/tmpl/gstbasesink.sgml:
27763         * docs/gst/tmpl/gstbasesrc.sgml:
27764         * docs/gst/tmpl/gstbasetransform.sgml:
27765         * docs/gst/tmpl/gstbin.sgml:
27766         * docs/gst/tmpl/gstbuffer.sgml:
27767         * docs/gst/tmpl/gstcaps.sgml:
27768         * docs/gst/tmpl/gstclock.sgml:
27769         * docs/gst/tmpl/gstcompat.sgml:
27770         * docs/gst/tmpl/gstconfig.sgml:
27771         * docs/gst/tmpl/gstelement.sgml:
27772         * docs/gst/tmpl/gstelementdetails.sgml:
27773         * docs/gst/tmpl/gstelementfactory.sgml:
27774         * docs/gst/tmpl/gstenumtypes.sgml:
27775         * docs/gst/tmpl/gsterror.sgml:
27776         * docs/gst/tmpl/gstevent.sgml:
27777         * docs/gst/tmpl/gstfakesink.sgml:
27778         * docs/gst/tmpl/gstfakesrc.sgml:
27779         * docs/gst/tmpl/gstfilesink.sgml:
27780         * docs/gst/tmpl/gstfilesrc.sgml:
27781         * docs/gst/tmpl/gstfilter.sgml:
27782         * docs/gst/tmpl/gstformat.sgml:
27783         * docs/gst/tmpl/gstghostpad.sgml:
27784         * docs/gst/tmpl/gstimplementsinterface.sgml:
27785         * docs/gst/tmpl/gstindex.sgml:
27786         * docs/gst/tmpl/gstindexfactory.sgml:
27787         * docs/gst/tmpl/gstinfo.sgml:
27788         * docs/gst/tmpl/gstiterator.sgml:
27789         * docs/gst/tmpl/gstmacros.sgml:
27790         * docs/gst/tmpl/gstmemchunk.sgml:
27791         * docs/gst/tmpl/gstminiobject.sgml:
27792         * docs/gst/tmpl/gstobject.sgml:
27793         * docs/gst/tmpl/gstpad.sgml:
27794         * docs/gst/tmpl/gstpadtemplate.sgml:
27795         * docs/gst/tmpl/gstparse.sgml:
27796         * docs/gst/tmpl/gstpipeline.sgml:
27797         * docs/gst/tmpl/gstplugin.sgml:
27798         * docs/gst/tmpl/gstpluginfeature.sgml:
27799         * docs/gst/tmpl/gstquery.sgml:
27800         * docs/gst/tmpl/gstqueue.sgml:
27801         * docs/gst/tmpl/gstregistry.sgml:
27802         * docs/gst/tmpl/gstregistrypool.sgml:
27803         * docs/gst/tmpl/gstscheduler.sgml:
27804         * docs/gst/tmpl/gstschedulerfactory.sgml:
27805         * docs/gst/tmpl/gststructure.sgml:
27806         * docs/gst/tmpl/gstsystemclock.sgml:
27807         * docs/gst/tmpl/gsttaglist.sgml:
27808         * docs/gst/tmpl/gsttagsetter.sgml:
27809         * docs/gst/tmpl/gsttrace.sgml:
27810         * docs/gst/tmpl/gsttrashstack.sgml:
27811         * docs/gst/tmpl/gsttypefind.sgml:
27812         * docs/gst/tmpl/gsttypefindfactory.sgml:
27813         * docs/gst/tmpl/gsttypes.sgml:
27814         * docs/gst/tmpl/gsturihandler.sgml:
27815         * docs/gst/tmpl/gsturitype.sgml:
27816         * docs/gst/tmpl/gstutils.sgml:
27817         * docs/gst/tmpl/gstvalue.sgml:
27818         * docs/gst/tmpl/gstversion.sgml:
27819         * docs/gst/tmpl/gstxml.sgml:
27820         * docs/libs/tmpl/gstcontrol.sgml:
27821         * docs/libs/tmpl/gstdataprotocol.sgml:
27822         * docs/libs/tmpl/gstdparam.sgml:
27823         * docs/libs/tmpl/gstdplinint.sgml:
27824         * docs/libs/tmpl/gstdpman.sgml:
27825         * docs/libs/tmpl/gstdpsmooth.sgml:
27826         * docs/libs/tmpl/gstgetbits.sgml:
27827         * docs/libs/tmpl/gstunitconvert.sgml:
27828         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
27829         (gst_push_src_base_init), (gst_push_src_class_init),
27830         (gst_push_src_init), (gst_push_src_create):
27831         * gst/base/gstpushsrc.h:
27832         * gst/elements/gstelements.c:
27833         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
27834         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
27835         (gst_fake_sink_init), (gst_fake_sink_set_property),
27836         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
27837         (gst_fake_sink_event), (gst_fake_sink_preroll),
27838         (gst_fake_sink_render), (gst_fake_sink_change_state):
27839         * gst/elements/gstfakesink.h:
27840         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
27841         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
27842         (gst_fake_src_base_init), (gst_fake_src_class_init),
27843         (gst_fake_src_init), (gst_fake_src_event_handler),
27844         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
27845         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
27846         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
27847         (gst_fake_src_create_buffer), (gst_fake_src_create),
27848         (gst_fake_src_start), (gst_fake_src_stop):
27849         * gst/elements/gstfakesrc.h:
27850         * gst/elements/gstfilesink.c: (_do_init),
27851         (gst_file_sink_base_init), (gst_file_sink_class_init),
27852         (gst_file_sink_init), (gst_file_sink_dispose),
27853         (gst_file_sink_set_location), (gst_file_sink_set_property),
27854         (gst_file_sink_get_property), (gst_file_sink_open_file),
27855         (gst_file_sink_close_file), (gst_file_sink_query),
27856         (gst_file_sink_event), (gst_file_sink_render),
27857         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
27858         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
27859         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
27860         * gst/elements/gstfilesink.h:
27861         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
27862         (gst_file_src_class_init), (gst_file_src_init),
27863         (gst_file_src_finalize), (gst_file_src_set_location),
27864         (gst_file_src_set_property), (gst_file_src_get_property),
27865         (gst_file_src_map_region), (gst_file_src_map_small_region),
27866         (gst_file_src_create_mmap), (gst_file_src_create_read),
27867         (gst_file_src_create), (gst_file_src_is_seekable),
27868         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
27869         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
27870         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
27871         (gst_file_src_uri_handler_init):
27872         * gst/elements/gstfilesrc.h:
27873           more autistic cleanliness in functions/names/defines
27874
27875 2005-07-13  Andy Wingo  <wingo@pobox.com>
27876
27877         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
27878         source couldn't negotiate.
27879
27880         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
27881         connections again.
27882
27883         * gst/gstutils.h:
27884         * gst/gstutils.c (gst_element_link_pads_filtered): New old
27885         function. I am channeling Hades. Put your boots on suckers!!!
27886
27887 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
27888
27889         * testsuite/caps/Makefile.am:
27890         * testsuite/caps/value_compare.c:
27891         * testsuite/caps/value_intersect.c:
27892         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
27893           move two testsuite apps over to the check dir
27894
27895 2005-07-12  Wim Taymans  <wim@fluendo.com>
27896
27897         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
27898         Added more debug info in the negotiate process.
27899
27900         * gst/gstmessage.h:
27901         Prepare for segment playback.
27902
27903         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
27904         Better debugging.
27905
27906         * gst/gstutils.c:
27907         Some more docs.
27908
27909         * tools/gst-launch.c: (main):
27910         NULL pipeline on errors.
27911
27912 2005-07-12  Andy Wingo  <wingo@pobox.com>
27913
27914         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
27915         not it comes from a malloc region. Make sure our copy gets freed.
27916
27917 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
27918
27919         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
27920         * check/gst/gstmessage.c: (GST_START_TEST):
27921         * check/gst/gststructure.c: (GST_START_TEST),
27922         (gst_structure_suite), (main):
27923           more testing
27924         * gst/gstelement.c: (gst_element_message_full):
27925           clean up GError and debug string now that they get copied
27926         * gst/gstmessage.c: (gst_message_new_error),
27927         (gst_message_new_warning), (gst_message_parse_error),
27928         (gst_message_parse_warning):
27929           use GST_TYPE_G_ERROR for structure_new, and take copies of
27930           arguments, so that we don't mess up refcounting
27931
27932 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
27933
27934         * check/Makefile.am:
27935           add per-test valgrind targets
27936         * check/gst-libs/gdp.c: (GST_START_TEST),
27937         (gst_data_protocol_suite), (main):
27938           clean up
27939
27940 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
27941
27942         * check/Makefile.am:
27943           instate more valgrindable tests
27944         * check/elements/gstfakesrc.c: (chain_func), (event_func),
27945         (GST_START_TEST), (fakesrc_suite):
27946         * check/gst/gstpad.c: (GST_START_TEST):
27947         * check/gst/gststructure.c: (GST_START_TEST):
27948           fix test leaks
27949         * docs/gst/tmpl/gstminiobject.sgml:
27950         * gst/gstpad.c: (gst_pad_finalize):
27951           fix the static mutex leak
27952
27953 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
27954
27955         * check/Makefile.am:
27956           add two more tests for valgrinding
27957         * check/gst/gstvalue.c: (GST_START_TEST):
27958           test refcount of deserialized buffer, found a leak
27959         * docs/gst/gstreamer-docs.sgml:
27960         * docs/gst/gstreamer-sections.txt:
27961         * docs/gst/gstreamer.types:
27962         * docs/gst/tmpl/gstminiobject.sgml:
27963           add miniobject to docs
27964         * gst/gstminiobject.c:
27965           add some docs
27966         * gst/gstvalue.c: (gst_value_deserialize_buffer),
27967         (gst_string_unwrap):
27968           fix a hard-to-find invalid write for one of the tests
27969           fix a leak for deserialized buffers
27970
27971 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
27972
27973         * docs/pwg/advanced-events.xml:
27974         * docs/pwg/advanced-request.xml:
27975         * docs/pwg/advanced-scheduling.xml:
27976         * docs/pwg/appendix-porting.xml:
27977         * docs/pwg/building-boiler.xml:
27978         * docs/pwg/intro-preface.xml:
27979         * docs/pwg/other-ntoone.xml:
27980           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
27981           of example code and explanation for pad activation, loop() and
27982           getrange() functions and a bit more. Remove old comments pointing
27983           to loop-functions.
27984         * examples/pwg/Makefile.am:
27985           Add loop/getrange examples.
27986
27987 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
27988
27989         * configure.ac:
27990           check for valgrind binary + some fixes
27991         * check/gst.supp:
27992           valgrind suppressions for the tests
27993         * check/Makefile.am:
27994           add a valgrind: target that valgrinds the unit tests
27995         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
27996         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
27997         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
27998         * check/gst/gstghostpad.c:
27999           added some cleanup
28000         * check/gst/gstdata.c:
28001           removed
28002         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
28003         (thread_unref), (gst_mini_object_suite), (main):
28004           added
28005         * gst/gst.c: (gst_deinit):
28006         * gst/gst.h:
28007           add a method to clean up.
28008         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28009         (gst_system_clock_obtain):
28010           allow for disposing the system clock.
28011         * tools/gst-launch.c: (main):
28012           deinit
28013
28014 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
28015
28016         * docs/gst/tmpl/gstbasesrc.sgml:
28017         * docs/gst/tmpl/gstfakesrc.sgml:
28018         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28019         (gst_base_src_init), (gst_base_src_set_property),
28020         (gst_base_src_get_property), (gst_base_src_get_range),
28021         (gst_base_src_start):
28022         * gst/base/gstbasesrc.h:
28023           add num-buffers property
28024         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28025         (gst_fakesrc_init), (gst_fakesrc_set_property),
28026         (gst_fakesrc_get_property), (gst_fakesrc_create),
28027         (gst_fakesrc_start):
28028           remove num-buffers property
28029
28030 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28031
28032         * docs/gst/gstreamer-sections.txt:
28033         * docs/gst/tmpl/gstbasesink.sgml:
28034         * docs/gst/tmpl/gstbasesrc.sgml:
28035         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
28036         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
28037         (gst_base_sink_finalize), (gst_base_sink_set_clock),
28038         (gst_base_sink_set_property), (gst_base_sink_get_property),
28039         (gst_base_sink_handle_object), (gst_base_sink_event),
28040         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
28041         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
28042         (gst_base_sink_loop), (gst_base_sink_deactivate),
28043         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
28044         (gst_base_sink_change_state):
28045         * gst/base/gstbasesink.h:
28046         * gst/base/gstbasesrc.h:
28047         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
28048         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
28049         (gst_filesink_init):
28050           more macro splitting
28051
28052 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28053
28054         * gst/gstelement.c: (gst_element_get_bus):
28055           add debug
28056         * tools/gst-launch.c: (check_intr), (event_loop):
28057           fix bus leaks
28058
28059 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28060
28061         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
28062           fix a caps leak
28063
28064 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
28065
28066         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28067         (gst_base_src_finalize):
28068           add finalize method and clean up properly
28069         * gst/gstpipeline.c: (gst_pipeline_dispose):
28070           add debug
28071
28072 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28073
28074         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
28075         (gst_bin_suite):
28076           add more things to check
28077         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
28078         * gst/gstelement.c:
28079           more debug
28080
28081 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28082
28083         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28084         (GST_START_TEST), (fakesrc_suite):
28085         * check/gst-libs/gdp.c: (GST_START_TEST):
28086         * check/gst/gst.c: (GST_START_TEST):
28087         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
28088         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
28089         * check/gst/gstbus.c: (GST_START_TEST):
28090         * check/gst/gstcaps.c: (GST_START_TEST):
28091         * check/gst/gstdata.c: (GST_START_TEST):
28092         * check/gst/gstelement.c: (GST_START_TEST):
28093         * check/gst/gstghostpad.c: (GST_START_TEST):
28094         * check/gst/gstiterator.c: (GST_START_TEST):
28095         * check/gst/gstmessage.c: (GST_START_TEST):
28096         * check/gst/gstobject.c: (GST_START_TEST):
28097         * check/gst/gstpad.c: (GST_START_TEST):
28098         * check/gst/gststructure.c: (GST_START_TEST):
28099         * check/gst/gstsystemclock.c: (GST_START_TEST),
28100         (gst_systemclock_suite):
28101         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
28102         * check/gst/gstvalue.c: (GST_START_TEST):
28103         * check/pipelines/cleanup.c: (GST_START_TEST):
28104         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
28105         * check/states/sinks.c: (GST_START_TEST):
28106         * check/gstcheck.c: (gst_check_init):
28107         * check/gstcheck.h:
28108           add debugging category
28109           use GST_START_TEST now, so we add a debug line
28110
28111 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
28112
28113         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
28114           add test for state change message on a bin
28115         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
28116           add another test
28117         * gst/gstbin.c: (gst_bin_init):
28118         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
28119         * gst/gstelement.c: (gst_element_post_message),
28120         (gst_element_set_state):
28121         * gst/gstelementfactory.c: (gst_element_factory_create):
28122         * gst/gstmessage.c: (gst_message_new):
28123         * gst/gstscheduler.c:
28124           various debugging additions and cleanups
28125
28126 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28127
28128         * check/Makefile.am:
28129         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
28130         (main):
28131           adding tests for elements
28132         * gst/gstelement.c: (gst_element_dispose):
28133
28134 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28135
28136         * gst/registries/gstlibxmlregistry.c: (load_feature):
28137           plug more leaks.  A simple gst_init() now is leakfree, yay.
28138
28139 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28140
28141         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
28142         (gst_xml_registry_load):
28143           plug another memleak
28144
28145 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28146
28147         * configure.ac:
28148           use GST_SET_ERROR_CFLAGS
28149         * docs/faq/cvs.xml:
28150           change to ERROR_CFLAGS
28151
28152 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
28153
28154         * configure.ac:
28155           make GST_ERROR_CFLAGS overridable and re-enable Werror
28156         * docs/faq/cvs.xml:
28157           add a note about error CFLAGS
28158         * docs/gst/tmpl/gstfakesrc.sgml:
28159         * gst/elements/gstfakesrc.c:
28160           comment out some unused code
28161         * gst/gst.c: (split_and_iterate):
28162         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
28163         (load_feature):
28164           plug some memleaks
28165
28166 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28167
28168         * common/Makefile.am:
28169         * common/gtk-doc.mak:
28170         * docs/gst/Makefile.am:
28171           factor out gtk-doc.mak
28172
28173 2005-07-07  Wim Taymans  <wim@fluendo.com>
28174
28175         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
28176         (gst_thread_scheduler_dispose):
28177         Unlock the STREAM_LOCK completely.
28178
28179 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
28180
28181         * check/Makefile.am:
28182         * check/elements/.cvsignore:
28183         * check/elements/gstfakesrc.c: (chain_func), (event_func),
28184         (START_TEST), (fakesrc_suite), (main):
28185         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
28186         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
28187         (gst_fakesrc_create), (gst_fakesrc_start):
28188         * gst/elements/gstfakesrc.h:
28189           adding a first element test
28190
28191 2005-07-07  Andy Wingo  <wingo@pobox.com>
28192
28193         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
28194         debug message.
28195
28196 2005-07-07  Wim Taymans  <wim@fluendo.com>
28197
28198         * gst/gstquery.c:
28199         * gst/gstquery.h:
28200         Remove old types
28201
28202 2005-07-07  Wim Taymans  <wim@fluendo.com>
28203
28204         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
28205         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
28206         Allow subclasses to implement their own negotiation.
28207
28208 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28209
28210         * docs/design/part-gstbin.txt:
28211         * docs/design/part-gstpipeline.txt:
28212           Update design notes to reflect the movement of
28213           responsibility for bus handling from GstPipeline to
28214           GstBin
28215
28216 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28217
28218         * configure.ac:
28219           Remove unnecessary queue2/3/4 examples.
28220
28221 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
28222
28223         * examples/Makefile.am:
28224         * examples/helloworld/helloworld.c: (event_loop), (main):
28225         * examples/queue/queue.c: (event_loop), (main):
28226         * examples/queue2/queue2.c: (main):
28227           Update a couple of the examples to work again.
28228
28229         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28230         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
28231          Spelling corrections and extra debug.
28232         
28233         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
28234         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
28235         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
28236         * gst/gstbin.h:
28237         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
28238         (gst_pipeline_change_state):
28239         * gst/gstpipeline.h:
28240           Move the bus handler for children to the GstBin, and create a
28241           separate bus for receiving messages from children to the one the
28242           bus sends 'upwards' on.
28243
28244 2005-07-06  Wim Taymans  <wim@fluendo.com>
28245
28246         * gst/base/README:
28247         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28248         (gst_base_sink_handle_object), (gst_base_sink_loop),
28249         (gst_base_sink_change_state):
28250         * gst/base/gstbasesink.h:
28251         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
28252         (gst_base_src_init), (gst_base_src_setcaps),
28253         (gst_base_src_getcaps), (gst_base_src_loop),
28254         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
28255         (gst_base_src_start), (gst_base_src_change_state):
28256         * gst/base/gstbasesrc.h:
28257         Make basesrc negotiate.
28258         Handle the case where preroll fails in basesink.
28259         Update README.
28260
28261 2005-07-06  Wim Taymans  <wim@fluendo.com>
28262
28263         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
28264         Implement the fixate function.
28265         Clean up acceptcaps.
28266
28267 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28268
28269         * docs/pwg/building-filterfactory.xml:
28270         * docs/pwg/pwg.xml:
28271           Remove never-written filter-factory chapter; I'll add the various
28272           base classes to part 4 ("other element types") later on.
28273
28274 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28275
28276         * docs/pwg/advanced-negotiation.xml:
28277         * docs/pwg/building-boiler.xml:
28278         * docs/pwg/building-pads.xml:
28279         * docs/pwg/pwg.xml:
28280         * examples/pwg/Makefile.am:
28281           Add a chapter on caps negotiation, simplify the original code
28282           samples a bit w.r.t. caps negotiation, add link to the advanced
28283           section. Add a bunch of examples showing different use cases of
28284           different types of caps negotiation. Upstream renegotiation isn't
28285           fully documented yet since nobody knows how that works.
28286
28287 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
28288
28289         * check/gst/gstpad.c:
28290         * check/gstcheck.c:
28291         * gst/gstpad.c: (gst_pad_get_internal_links_default):
28292           if pad has no parent, return NULL as list of internal links
28293
28294 2005-07-05  Andy Wingo  <wingo@pobox.com>
28295
28296         * gst/elements/gstfilesrc.c:
28297         * gst/elements/gstfakesrc.c: 
28298         * gst/base/gstpushsrc.c:
28299         * gst/base/gstbasesrc.h: 
28300         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
28301         
28302 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
28303
28304         * Makefile.am:
28305           better report generation target (lcov needs a patch)
28306
28307 2005-07-05  Andy Wingo  <wingo@pobox.com>
28308
28309         * gst/elements, testsuite: Null if we got it...
28310
28311 2005-07-05  Wim Taymans  <wim@fluendo.com>
28312
28313         * configure.ac:
28314         * libs/gst/dataprotocol/Makefile.am:
28315         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
28316         * libs/gst/dataprotocol/dataprotocol.h:
28317         * pkgconfig/Makefile.am:
28318         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
28319         * pkgconfig/gstreamer-dataprotocol.pc.in:
28320         Ported dataprotol to 0.9. 
28321         Added pkgconfig files.
28322
28323 2005-07-05  Andy Wingo  <wingo@pobox.com>
28324
28325         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
28326         Default to returning TRUE for the case when tranform_caps returns
28327         a fixed caps, like for identity or volume.
28328
28329         * check/gst/gstbus.c (pound_bus_with_messages): 
28330         * check/gst/gstmessage.c (START_TEST): 
28331         * check/pipelines/simple_launch_lines.c (got_handoff): Application
28332         message API change.
28333
28334         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
28335         logic weaks here: always run transform_caps, trying passthrough
28336         operation only if the original caps intersects with the transform.
28337
28338         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
28339         source and sink caps.
28340
28341         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
28342         Intersect the peer caps with the pad template before going into
28343         transform_caps.
28344         (gst_base_transform_transform_caps): More debugging.
28345
28346         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
28347         src argument.
28348
28349 2005-07-04  Edward Hervey  <edward@fluendo.com>
28350
28351         * gst/gstutils.c:
28352         * gst/gstutils.h:
28353         (gst_pad_add_*_probe): now returns the signal id for better wrapping
28354         in bindings.
28355
28356 2005-07-04  Andy Wingo  <wingo@pobox.com>
28357
28358         * check/gst/gstpad.c: Only set explicit caps on pads.
28359
28360 2005-07-01  Andy Wingo  <wingo@pobox.com>
28361
28362         * tests/network-clock.scm: Commentary update.
28363
28364         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
28365         Didn't really make sense, not implementable with basetransform,
28366         etc.
28367         (gst_identity_transform): Unref inbuf via make_writable. Feeble
28368         attempt at implementing the sync property, needs an unlock method.
28369
28370         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
28371         New func, by default returns the same caps (the identity
28372         transformation).
28373         (gst_base_transform_getcaps): Uses transform_caps to return
28374         something sensible.
28375         (gst_base_transform_setcaps): Complicated logic to get caps on
28376         both pads, even if they are different, and to call set_caps once
28377         for every time both pads get their caps set.
28378         (gst_base_transform_handle_buffer): Give the ref to the transform
28379         function. Allows in-place modification of the buffer.
28380
28381         * gst/base/gstbasetransform.h (transform_caps): New class method.
28382         Given caps on one side, what can I do on the other.
28383         (set_caps): Take two caps, one for each side of the element.
28384
28385         * gst/gstpad.h:
28386         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
28387         caps in place. This is safe because we can check the mutability of
28388         the caps, and a good idea because fixate functions are just called
28389         as a matter of last resort. (Not actually implemented.)
28390         (gst_pad_set_caps): If the caps we're setting is actually the same
28391         as the existing pad caps, just update the pointer without calling
28392         setcaps. Assert that caps is either NULL or fixed, as per the
28393         docs.
28394
28395         * gst/gstghostpad.c: Update for fixate changes.
28396
28397 2005-07-02  Andy Wingo  <wingo@pobox.com>
28398
28399         * gst/gstcaps.c:
28400         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
28401         two refcounts makes it immutable, which is enough. Doc more.
28402
28403 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
28404
28405         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
28406           Put the mini_object into GValue as a mini_object,
28407           not a gpointer, since that's how we declared
28408           the signal.
28409
28410 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28411
28412         * examples/pwg/Makefile.am:
28413           Fix buildbot again.
28414
28415 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28416
28417         * docs/pwg/building-testapp.xml:
28418           Add extra check.
28419         * examples/pwg/Makefile.am:
28420           Fix buildbot.
28421
28422 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28423
28424         * configure.ac:
28425         * examples/Makefile.am:
28426         * examples/pwg/Makefile.am:
28427         * examples/pwg/extract.pl:
28428           Enable building the PWG examples.
28429         * docs/pwg/advanced-interfaces.xml:
28430           Add URI interface stub.
28431         * docs/pwg/advanced-types.xml:
28432         * docs/pwg/other-autoplugger.xml:
28433         * docs/pwg/appendix-porting.xml:
28434         * docs/pwg/pwg.xml:
28435           Add porting guide (mostly stubs), remove autoplugging (see ADM).
28436         * docs/pwg/building-boiler.xml:
28437         * docs/pwg/building-chainfn.xml:
28438         * docs/pwg/building-pads.xml:
28439         * docs/pwg/building-props.xml:
28440         * docs/pwg/building-state.xml:
28441         * docs/pwg/building-testapp.xml:
28442           Update the building-*.xml parts for 0.9 changes. All examples
28443           code blocks compile in examples/pwg/*.
28444
28445 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28446
28447         * docs/manual/advanced-autoplugging.xml:
28448         * docs/manual/appendix-checklist.xml:
28449         * docs/manual/appendix-integration.xml:
28450         * docs/manual/highlevel-components.xml:
28451           Fix playbin/decodebin examples, update docs a bit, mention bus
28452           instead of signals in various places, mention kmplayer and
28453           kaffeine since they have a working GStreamer backend in the KDE
28454           section.
28455
28456 2005-06-30  Wim Taymans  <wim@fluendo.com>
28457
28458         * CHANGES-0.9:
28459         * docs/design/draft-ghostpads.txt:
28460         * docs/design/draft-push-pull.txt:
28461         * docs/design/draft-query.txt:
28462         * docs/design/part-TODO.txt:
28463         * docs/design/part-query.txt:
28464         Added CHANGES-0.9 doc, updated status of other docs.
28465         
28466         * gst/gstquery.h:
28467         Remove "hmm" macro
28468
28469 2005-06-30  Wim Taymans  <wim@fluendo.com>
28470
28471         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
28472         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
28473         (gst_base_sink_change_state):
28474         * gst/base/gstbasesink.h:
28475         Some tweaks, only EOS and a buffer complete a preroll.
28476
28477 2005-06-30  Andy Wingo  <wingo@pobox.com>
28478
28479         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
28480         activate_push down to the internal pad as well.
28481
28482 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
28483
28484         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28485
28486         * gst/gsttaginterface.c:
28487           Some documentation fixes (#307394 and #307397).
28488
28489 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
28490
28491         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28492
28493         * gst/gstvalue.c: (gst_value_intersect_list):
28494           Fix memleak (#309125).
28495
28496 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28497
28498         * docs/manual/advanced-dataaccess.xml:
28499           Fix fakesrc example to compile; doesn't work, bug somewhere...?
28500         * docs/manual/basics-pads.xml:
28501           Add reference for filtered caps to above chapter.
28502
28503 2005-06-30  Wim Taymans  <wim@fluendo.com>
28504
28505         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
28506         (gst_bin_change_state):
28507         Probes are gone.
28508         Lame attempt at making the state change function a bit
28509         more readable.
28510
28511 2005-06-30  Wim Taymans  <wim@fluendo.com>
28512
28513         * docs/design/part-clocks.txt:
28514         * docs/design/part-element-sink.txt:
28515         * docs/design/part-events.txt:
28516         * docs/design/part-preroll.txt:
28517         * docs/design/part-states.txt:
28518         Some more tweeks and additions to the docs.
28519
28520 2005-06-30  Wim Taymans  <wim@fluendo.com>
28521
28522         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28523         (default_have_data), (gst_pad_class_init), (gst_pad_init),
28524         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28525         (gst_pad_check_pull_range), (gst_pad_get_range),
28526         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
28527         * gst/gstpad.h:
28528         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
28529         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28530         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28531         (gst_pad_remove_buffer_probe):
28532         Removed atomic operations, use existing LOCK.
28533         Move exception handling out of main code path.
28534
28535 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28536
28537         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28538         (silly_return_true_function), (gst_pad_class_init),
28539         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
28540         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
28541         (gst_pad_send_event):
28542           Fix accumulator, add default value by using _emitv() instead
28543           of _emit() for signal emission.
28544
28545 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28546
28547         * docs/manual/advanced-dataaccess.xml:
28548         * examples/manual/Makefile.am:
28549           Add probe example.
28550         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
28551           Make work (??).
28552
28553 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
28554
28555         * gst/elements/gstfilesink.c: (gst_filesink_render):
28556           Simplify code so that we don't have to handle short
28557           writes and return GST_FLOW_ERROR if an error occured.
28558
28559 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28560
28561         * docs/gst/gstreamer-docs.sgml:
28562           Remove probes more.
28563
28564 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28565
28566         * docs/gst/gstreamer-sections.txt:
28567         * docs/gst/tmpl/gstpad.sgml:
28568         * docs/gst/tmpl/gstprobe.sgml:
28569         * gst/Makefile.am:
28570         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
28571         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
28572         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
28573         (gst_pad_push_event), (gst_pad_send_event):
28574         * gst/gstpad.h:
28575         * gst/gstutils.c: (gst_pad_add_data_probe),
28576         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
28577         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
28578         (gst_pad_remove_buffer_probe):
28579         * gst/gstutils.h:
28580           Remove old probes, add new g-signal-based probes and some utility
28581           functions.
28582
28583 2005-06-29  Edward Hervey  <edward@fluendo.com>
28584
28585         * gst/gstelementfactory.c:
28586         * gst/gstutils.h:
28587         * gst/gstutils.c:
28588         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
28589         the definition to the header file.
28590
28591 2005-06-29  Andy Wingo  <wingo@pobox.com>
28592
28593         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
28594         plugins from the source directory.
28595
28596 2005-06-29  Wim Taymans  <wim@fluendo.com>
28597
28598         * docs/gst/tmpl/gstbuffer.sgml:
28599         * docs/gst/tmpl/gstclock.sgml:
28600         Some fixings for blantently wrong text.
28601
28602 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
28603
28604         * check/Makefile.am:
28605         * gst/gst.c: (add_path_func), (init_pre):
28606         * gst/gstregistry.c: (gst_registry_add_path):
28607           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
28608           only scan the GST_PLUGIN_PATH locations, and not add
28609           system locations
28610
28611 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
28612
28613         * docs/gst/gstreamer-sections.txt:
28614         * docs/gst/tmpl/gstbasesrc.sgml:
28615         * gst/gstelement.c:
28616         * gst/gstelement.h:
28617         * gst/gstevent.c:
28618         * gst/gstutils.c:
28619           doc fixes
28620
28621 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28622
28623         * docs/manual/advanced-autoplugging.xml:
28624           Fix autoplugging example.
28625
28626 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28627
28628         * docs/manual/advanced-autoplugging.xml:
28629         * docs/manual/mime-world.fig:
28630           Try to get autoplugging working, fix type detection. Fix text
28631           in hello-world image.
28632
28633 2005-06-29  Wim Taymans  <wim@fluendo.com>
28634
28635         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
28636         (gst_base_sink_change_state):
28637         Small debug line.
28638
28639         * gst/gstclock.h:
28640         map SIGNAL and BROADCAST to the right function.
28641
28642         * gst/gstobject.h:
28643         Remove redundant braces.
28644
28645         * gst/gstpad.c: (gst_pad_set_caps):
28646         Don't call setcaps function when reseting caps to NULL.
28647
28648         * gst/gstsystemclock.c: (gst_system_clock_dispose),
28649         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
28650         (gst_system_clock_id_unschedule):
28651         Use BROADCAST as this is what we do.
28652
28653 2005-06-29  Wim Taymans  <wim@fluendo.com>
28654
28655         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
28656         We are actually prerolling before commiting the state
28657         change. 
28658
28659 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
28660
28661         * docs/manual/advanced-clocks.xml:
28662         * docs/manual/advanced-interfaces.xml:
28663         * docs/manual/advanced-metadata.xml:
28664         * docs/manual/advanced-position.xml:
28665         * docs/manual/advanced-schedulers.xml:
28666         * docs/manual/advanced-threads.xml:
28667         * docs/manual/appendix-porting.xml:
28668         * docs/manual/basics-bins.xml:
28669         * docs/manual/basics-bus.xml:
28670         * docs/manual/basics-elements.xml:
28671         * docs/manual/basics-helloworld.xml:
28672         * docs/manual/basics-pads.xml:
28673         * docs/manual/highlevel-components.xml:
28674         * docs/manual/manual.xml:
28675         * docs/manual/thread.fig:
28676           Update (until threads/scheduling) Application Development Manual;
28677           remove GstThread, add GstBus, add simple porting checklist, add
28678           documentation for tag writing, clocks, make all examples until this
28679           part compile and run.
28680         * examples/manual/Makefile.am:
28681           Update from changes to Application Development Manual; add bus
28682           example, remove thread example.
28683
28684 2005-06-28  Wim Taymans  <wim@fluendo.com>
28685
28686         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
28687         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
28688         (gst_bus_source_dispatch):
28689         Add debugging messages.
28690         Make internal methods static.
28691         Handle the case where the bus is flushed in the handler.
28692         
28693         * gst/gstelement.c: (gst_element_get_bus):
28694         Fix refcount in _get_bus();
28695
28696         * gst/gstpipeline.c: (gst_pipeline_change_state),
28697         (gst_pipeline_get_clock_func):
28698         Clock refcounting fixes.
28699         Handle the case where preroll timed out more gracefully.
28700         
28701         * gst/gstsystemclock.c: (gst_system_clock_dispose):
28702         Clean up the internal thread in dispose. This is needed
28703         for subclasses that actually get disposed.
28704         
28705         * gst/schedulers/threadscheduler.c:
28706         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
28707         (gst_thread_scheduler_dispose):
28708         Free thread pool in dispose.
28709
28710 2005-06-28  Andy Wingo  <wingo@pobox.com>
28711
28712         * tests/network-clock-utils.scm (debug, print-event): New utils.
28713
28714         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
28715         (*packet-loss*): Unified loss probability.
28716         (network-time): Report out-of-band events.
28717
28718         * tests/plot-data: Add support for out-of-band events. Hack it
28719         into this script instead of passing it down the pipe; should fix
28720         this later.
28721
28722 2005-06-28  Wim Taymans  <wim@fluendo.com>
28723
28724         * docs/gst/gstreamer.types:
28725         * docs/gst/tmpl/gstbasesrc.sgml:
28726         * docs/gst/tmpl/gstpad.sgml:
28727         Docs fixes.
28728
28729 2005-06-28  Wim Taymans  <wim@fluendo.com>
28730
28731         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28732         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
28733         (gst_proxy_pad_do_fixatecaps):
28734         Correctly proxy the check_pull_range function.
28735
28736 2005-06-28  Andy Wingo  <wingo@pobox.com>
28737
28738         * tests/network-clock.scm: Removed need for slib.
28739         
28740 2005-06-28  Wim Taymans  <wim@fluendo.com>
28741
28742         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
28743         (gst_basesink_preroll_queue_flush):
28744         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
28745         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
28746         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28747         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
28748         (gst_proxy_pad_set_property):
28749         * gst/gstpad.c:
28750         * gst/gstpad.h:
28751         * gst/gstqueue.c: (gst_queue_init):
28752         The deprecated pad loop function is removed now.
28753
28754 2005-06-28  Andy Wingo  <wingo@pobox.com>
28755
28756         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
28757         New parameters, simulate network packet loss.
28758
28759         * tests/network-clock-utils.scm: Initialize the RNG.
28760
28761 2005-06-28  Wim Taymans  <wim@fluendo.com>
28762
28763         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
28764         (gst_basesink_event), (gst_basesink_deactivate):
28765         Flushing the preroll queue always needs to unlock the waiters.
28766
28767 2005-06-28  Edward Hervey  <edward@fluendo.com>
28768
28769         * gst/gstpipeline.c: (gst_pipeline_send_event): 
28770         Wheen a seek was successful on a pipeline, set the stream_time to the
28771         seek offset in order to have a synchronized stream_time.
28772
28773 2005-06-28  Wim Taymans  <wim@fluendo.com>
28774
28775         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
28776         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
28777         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
28778         (gst_proxy_pad_do_fixatecaps):
28779         Call wrapper function instead of just calling the function
28780         pointers. This takes care of any locking and whatmore.
28781
28782 2005-06-28  Wim Taymans  <wim@fluendo.com>
28783
28784         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
28785         (gst_pad_pull_range):
28786         * gst/gstpad.h:
28787         CONNECTED -> LINKED.
28788
28789 2005-06-28  Andy Wingo  <wingo@pobox.com>
28790
28791         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
28792         source-munging commit!!!
28793
28794         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
28795         (gst_object_sink): Take gpointer arguments, not GstObject --
28796         avoids casts. Like GLib.
28797
28798         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
28799         activate.
28800
28801 2005-06-27  Andy Wingo  <wingo@pobox.com>
28802
28803         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
28804         remaining buffer.
28805
28806         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
28807         returns a sorted copy of the trace list.
28808         (gst_alloc_trace_print_live): New API, only prints traces with
28809         live objects. Sort the list.
28810         (gst_alloc_trace_print_all): Sort the list.
28811         (gst_alloc_trace_print): Align columns.
28812
28813         * gst/elements/gstttypefindelement.c:
28814         * gst/elements/gsttee.c:
28815         * gst/base/gstbasesrc.c:
28816         * gst/base/gstbasesink.c:
28817         * gst/base/gstbasetransform.c:
28818         * gst/gstqueue.c: Adapt for pad activation changes.
28819
28820         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
28821         sched.
28822         (gst_pipeline_dispose): Drop ref on sched.
28823
28824         * gst/gstpad.c (gst_pad_init): Set the default activate func.
28825         (gst_pad_activate_default): Push mode by default.
28826         (pre_activate_switch, post_activate_switch): New stubs, things to
28827         do before and after switching activation modes on pads.
28828         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
28829         the pad's activate function to choose which mode to activate.
28830         Shortcut on deactivation and call the right function directly.
28831         (gst_pad_activate_pull): New API, (de)activates a pad in pull
28832         mode.
28833         (gst_pad_activate_push): New API, same for push mode.
28834         (gst_pad_set_activate_function) 
28835         (gst_pad_set_activatepull_function) 
28836         (gst_pad_set_activatepush_function): Setters for new API.
28837
28838         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
28839         Trace all miniobjects.
28840         (gst_mini_object_make_writable): Unref the arg if we copy, like
28841         gst_caps_make_writable.
28842
28843         * gst/gstmessage.c (_gst_message_initialize): No trace init.
28844
28845         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
28846         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
28847         Adapt for new pad API.
28848
28849         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
28850
28851         * gst/gstelement.h:
28852         * gst/gstelement.c (gst_element_iterate_src_pads) 
28853         (gst_element_iterate_sink_pads): New API functions.
28854         
28855         * gst/gstelement.c (iterator_fold_with_resync): New utility,
28856         should fold into gstiterator.c in some form.
28857         (gst_element_pads_activate): Simplified via use of fold and
28858         delegation of decisions to gstpad->activate.
28859
28860         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
28861         help in debugging.
28862
28863         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
28864         class once in init, like gstmessage. Didn't run into this issue
28865         but it seems correct. Don't initialize a trace, gstminiobject does
28866         that.
28867
28868         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
28869         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
28870         to the bus.
28871         (assert_live_count): New util function, uses alloc traces to check
28872         cleanup.
28873
28874         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
28875         To be modified when unlink drops the internal pad.
28876
28877 2005-06-27  Wim Taymans  <wim@fluendo.com>
28878
28879         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
28880         (gst_bin_change_state):
28881         Cleanup the get_state() function a little, make sure it
28882         iterates the same set of elements.
28883         Added stub iterate_state_order().
28884
28885 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
28886
28887         * docs/gst/gstreamer-docs.sgml:
28888         * docs/gst/gstreamer-sections.txt:
28889         * docs/gst/gstreamer.types:
28890         * docs/gst/tmpl/gstbasesink.sgml:
28891         * docs/gst/tmpl/gstbasesrc.sgml:
28892         * docs/gst/tmpl/gstbasetransform.sgml:
28893         * docs/gst/tmpl/gstelement.sgml:
28894         * docs/gst/tmpl/gstiterator.sgml:
28895         * gst/base/gstbasesrc.c:
28896         * gst/base/gstbasesrc.h:
28897         * gst/base/gstbasetransform.h:
28898         * gst/gstelement.c:
28899         * gst/gstiterator.h:
28900           adding basetransform and iterator docs
28901
28902 2005-06-27  Andy Wingo  <wingo@pobox.com>
28903
28904         * docs/design/part-activation.txt: Notes on how activation should
28905         work -- not quite implemented yet.
28906
28907 2005-06-25  Wim Taymans  <wim@fluendo.com>
28908
28909         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
28910         At least get the chain function correct, needs more
28911         fixing.
28912
28913 2005-06-25  Wim Taymans  <wim@fluendo.com>
28914
28915         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
28916         (gst_basesink_handle_object), (gst_basesink_event),
28917         (gst_basesink_do_sync), (gst_basesink_handle_event),
28918         (gst_basesink_change_state):
28919         * gst/gsttask.h:
28920         Right, two problems here: ghostpads don't take locks and
28921         glib _rec_mutex_lock_full() with depth==0 still locks.
28922         Catch illegal locking and g_warn them.
28923
28924 2005-06-25  Wim Taymans  <wim@fluendo.com>
28925
28926         * check/states/sinks.c: (START_TEST), (gst_object_suite):
28927         Have to check for completion now...
28928
28929 2005-06-25  Wim Taymans  <wim@fluendo.com>
28930
28931         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
28932         (gst_basesink_handle_object), (gst_basesink_event),
28933         (gst_basesink_do_sync), (gst_basesink_handle_event),
28934         (gst_basesink_change_state):
28935         * gst/gstpad.h:
28936         Unlock STREAM_LOCK whatever the recursion was.
28937
28938 2005-06-25  Wim Taymans  <wim@fluendo.com>
28939
28940         * gst/base/gstbasesink.c: (gst_basesink_set_property),
28941         (gst_basesink_preroll_queue_empty),
28942         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
28943         (gst_basesink_event), (gst_basesink_do_sync),
28944         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
28945         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
28946         (gst_basesink_change_state):
28947         Reworked the base sink, handle event and buffer serialisation
28948         correctly and removed possible deadlock.
28949         Handle EOS correctly.
28950
28951 2005-06-25  Wim Taymans  <wim@fluendo.com>
28952
28953         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
28954         (gst_pipeline_change_state):
28955         * tools/gst-launch.c: (check_intr), (event_loop), (main):
28956         Allow elements to post EOS in the state change function.
28957         Fix up -launch, make it exit the poll loop when the
28958         pipeline actually changed state.
28959         Fix up warning parsing in -launch.
28960
28961 2005-06-25  Wim Taymans  <wim@fluendo.com>
28962
28963         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
28964         (gst_tee_sink_activate):
28965         Core takes STREAM_LOCK for us now.
28966
28967 2005-06-25  Wim Taymans  <wim@fluendo.com>
28968
28969         * gst/gstelement.c: (gst_element_get_state_func),
28970         (gst_element_set_state):
28971         * gst/gstelement.h:
28972         * gst/gstmessage.c: (gst_message_parse_error),
28973         (gst_message_parse_warning):
28974         Keep track of current target state while performing a state
28975         change so that subclasses can do something interesting.
28976         Fix parsing of warning/error messages when GError is NULL.
28977
28978 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
28979
28980         * docs/gst/Makefile.am:
28981         * docs/gst/gstreamer-docs.sgml:
28982         * docs/gst/gstreamer-sections.txt:
28983         * docs/gst/gstreamer.types:
28984         * docs/gst/tmpl/gstbasesink.sgml:
28985         * docs/gst/tmpl/gstbasesrc.sgml:
28986         * docs/gst/tmpl/gstbin.sgml:
28987         * docs/gst/tmpl/gstcompat.sgml:
28988         * docs/gst/tmpl/gstfakesink.sgml:
28989         * docs/gst/tmpl/gstfakesrc.sgml:
28990         * docs/gst/tmpl/gstfilesink.sgml:
28991         * docs/gst/tmpl/gstfilesrc.sgml:
28992         * docs/gst/tmpl/gstindex.sgml:
28993         * docs/manual/appendix-quotes.xml:
28994         * gst/base/gstbasesrc.h:
28995         * gst/elements/gstfakesrc.h:
28996         * gst/gstmessage.h:
28997           start pulling in base classes and elements in our docs
28998
28999 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
29000
29001         * docs/gst/Makefile.am:
29002         * docs/libs/Makefile.am:
29003           fixed make distcheck with gtk-doc 1.3
29004
29005 2005-06-23  Wim Taymans  <wim@fluendo.com>
29006
29007         * gst/gstelement.c: (gst_element_get_state_func),
29008         (gst_element_set_state), (gst_element_change_state):
29009         When the state did not change, also report NO_PREROLL
29010         when it matters.
29011
29012 2005-06-23  Wim Taymans  <wim@fluendo.com>
29013
29014         * gst/gstpad.c: (gst_pad_event_default):
29015         * gst/gstqueue.c: (gst_queue_loop):
29016         No unsafe task pausing please.
29017
29018 2005-06-23  Wim Taymans  <wim@fluendo.com>
29019
29020         * gst/schedulers/threadscheduler.c:
29021         (gst_thread_scheduler_task_start),
29022         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
29023         Ref the task before pushing it on the threadpool. This
29024         makes sure that we have a ref when the threadfunction is
29025         actually called.
29026
29027 2005-06-23  Andy Wingo  <wingo@pobox.com>
29028
29029         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
29030         offset is greater than the file's size.
29031
29032         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
29033         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
29034         * gst/gstobject.c (gst_object_class_init): Make the class lock
29035         recursive. Wim won't let me drop deep_notify. Decodebin works
29036         again, whoopdy doo.
29037
29038         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
29039         internal pad, and hacks accordingly. Doesn't do it on the target
29040         pad because we change its caps. Probably catches all cases of
29041         interest tho.
29042         (gst_ghost_pad_set_property): Connect to notify::caps as
29043         appropritate.
29044
29045         * tests/network-clock.scm (plot-simulation): Pipe data to the
29046         elite python skript.
29047
29048         * tests/network-clock-utils.scm (define-parameter): New macro,
29049         defines a parameter that can be set via the command line.
29050         (set-parameter!, parse-parameter-arguments): Command line args
29051         parser.
29052
29053         * tests/plot-data: Simple matplotlib-based plotter, takes input on
29054         stdin.
29055
29056 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
29057
29058         * gst/elements/gsttypefindelement.c:
29059         (gst_type_find_element_handle_event):
29060           Don't restart typefinding on a discont.
29061         * gst/gstelement.c: (gst_element_set_state):
29062           Debug spelling fix.
29063         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
29064           Allow changing mode of an active pad.
29065           Debug output fixes.
29066         * gst/registries/gstlibxmlregistry.c: (load_feature):
29067           Don't cast a static pad template to a normal pad template.
29068
29069 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
29070
29071         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29072         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29073           remove gst_strtoll completely, since it didn't actually do
29074           anything more than what g_ascii_strtoull already does.
29075           check for range errors when deserializing
29076           do a cast for the unsigned cases; but further fixing needs
29077           a decision on what the interpretation of "(int)" and
29078           deserialization should be for values that fall outside the
29079           type's boundaries (ie, refuse, or interpret as casting)
29080
29081 2005-06-23  Wim Taymans  <wim@fluendo.com>
29082
29083         * check/Makefile.am:
29084         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
29085         * docs/design/part-live-source.txt:
29086         * docs/design/part-states.txt:
29087         * gst/base/gstbasesrc.c: (gst_basesrc_init),
29088         (gst_basesrc_set_live), (gst_basesrc_is_live),
29089         (gst_basesrc_get_range), (gst_basesrc_activate),
29090         (gst_basesrc_change_state):
29091         * gst/base/gstbasesrc.h:
29092         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
29093         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
29094         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
29095         * gst/gstelement.c: (gst_element_get_state_func),
29096         (gst_element_set_state):
29097         * gst/gstelement.h:
29098         * gst/gsttypes.h:
29099         * tools/gst-launch.c: (event_loop), (main):
29100         Added support for live sources and other elements that
29101         cannot do preroll.
29102         Updated design docs, added live-source design doc.
29103         Implemented live source functionality in basesrc
29104         Fix error condition in _bin_get_state()
29105         Implement live source handling in -launch.
29106         Added check for live sources.
29107         Fixed case in GstBin where elements were changed state
29108         multiple times.
29109
29110
29111 2005-06-23  Andy Wingo  <wingo@pobox.com>
29112
29113         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
29114         borken refcounting.
29115
29116         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
29117         gst_caps_replace takes care of this for us.
29118
29119         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
29120         gst_pad_set_caps on the target, not just its setcaps() function.
29121
29122         * tests/network-clock.scm: 
29123         * tests/network-clock-utils.scm: A network clock simulator.
29124         Something of an algorithmic testbed before doing something in C.
29125
29126 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29127
29128         * check/Makefile.am:
29129         * check/gst/capslist.h:
29130           copy over from 0.8, and add two with bitmasks specified with
29131           (int) 0xFF...
29132         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29133           add test to parse everything from capslist.h
29134         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
29135         (main):
29136           add test for structure deserialization
29137         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29138           add tests for deserialization of strings to int types
29139         * gst/gststructure.c: (gst_structure_nth_field_name):
29140         * gst/gststructure.h:
29141           add a way to get the name of a field referenced by index
29142         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
29143           instead of checking if the resulting long long lies between
29144           min and max, we check if the long long would fit into
29145           a number of bytes for the final type.
29146           This fixes cases where a string represents 2^32 - 1, which
29147           when cast to int would be the (valid) -1, but is bigger than
29148           G_MAXINT
29149
29150 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29151
29152         * gst/parse/grammar.y:
29153           add a log line for type deserialization
29154
29155 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
29156
29157         * check/gst/gstvalue.c: (START_TEST):
29158         * gst/gstvalue.c: (gst_value_deserialize):
29159           return long long, not int, so gint64 deserialization actually
29160           works.  Is there any flag that makes the compiler check this ?
29161           Fixes #308559
29162
29163 2005-06-22  Wim Taymans  <wim@fluendo.com>
29164
29165         * gst/gstbuffer.h:
29166         Added convenience macros for setting buffers in GValue.
29167
29168 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29169
29170         * check/gst/.cvsignore:
29171         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
29172           add a test deserializing int64, and comment part out because
29173           it fails, yay !
29174
29175 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
29176
29177         * check/Makefile.am:
29178         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
29179         * testsuite/Makefile.am:
29180         * testsuite/caps/Makefile.am:
29181         * testsuite/caps/value_serialize.c:
29182         * testsuite/test_gst_init.c:
29183           move a value_serialize test over
29184
29185 2005-06-20  Wim Taymans  <wim@fluendo.com>
29186
29187         * gst/gstpad.c:
29188         Small doc updates.
29189         
29190         * gst/gstvalue.c: (gst_value_compare_buffer),
29191         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
29192         (gst_value_compare_flags), (gst_value_serialize_flags),
29193         (gst_value_deserialize_flags), (_gst_value_initialize):
29194         Fix serialisation of buffers, they are not boxed types anymore
29195
29196 2005-06-20  Wim Taymans  <wim@fluendo.com>
29197
29198         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
29199         Testcase to show error in buffer-on-caps serialisation.
29200
29201 2005-06-20  Andy Wingo  <wingo@pobox.com>
29202
29203         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
29204         will be adding to later.
29205
29206         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
29207         if its socks fill with rocks.
29208         (gst_system_clock_obtain): Set the name on object construction.
29209         Avoid double-checked locking.
29210
29211 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
29212
29213         * gst/gsturi.c: (gst_element_make_from_uri):
29214           Fix potential endless loop.
29215
29216 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29217
29218         * check/Makefile.am:
29219           add gsttag
29220         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
29221         (main):
29222           move over from testsuite dir and clean up
29223         * configure.ac:
29224         * gst/gsttag.c:
29225         * testsuite/Makefile.am:
29226         * testsuite/tags/.cvsignore:
29227         * testsuite/tags/Makefile.am:
29228         * testsuite/tags/merge.c:
29229           remove testsuite/tags
29230
29231 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29232
29233         * docs/gst/gstreamer-sections.txt:
29234         * docs/gst/tmpl/gstenumtypes.sgml:
29235         * win32/gstenumtypes.c:
29236           clean up documentation build a little
29237
29238 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29239
29240         * check/gstcheck.h:
29241           add macros for checking refcounts on objects and caps
29242         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
29243           add some more unit tests
29244         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
29245         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
29246           fix leaked refcounts (I hope :)) so unittest works
29247         * gst/gstpad.h:
29248           whitespace removal
29249
29250 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
29251
29252         * configure.ac: back to HEAD
29253
29254 === release 0.9.1 ===
29255
29256 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
29257
29258         * NEWS:
29259         * RELEASE:
29260           updated
29261
29262 2005-06-17  Andy Wingo  <wingo@pobox.com>
29263
29264         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
29265         assert; it's always possible that the pad gets deactivated in
29266         between the checks in gstpad.c and the implementation. Rely on
29267         finish_preroll() to return a FLUSHING or similar instead of on the
29268         assert.
29269         
29270         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
29271         clock and post an EOS message if we come out of finish_preroll in
29272         the playing state.
29273
29274 2005-06-16  David Schleef  <ds@schleef.org>
29275
29276         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
29277         (gst_capsfilter_set_property): Allow NULL as possible value
29278         for filter_caps property, indicating GST_CAPS_ANY.
29279
29280 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29281
29282         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
29283           fix debug output
29284         * gst/schedulers/Makefile.am:
29285           use libgst prefix
29286         * gstreamer.spec.in:
29287           fix spec for it
29288
29289 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
29290
29291         * gstreamer.spec.in:
29292           clean up
29293
29294 2005-06-08  Andy Wingo  <wingo@pobox.com>
29295
29296         * gst/gstutils.c: RPAD fixes all around.
29297         (gst_element_link_pads): Refcounting fixes.
29298
29299         * tools/gst-inspect.c:
29300         * tools/gst-xmlinspect.c:
29301         * parse/grammar.y:
29302         * gst/base/gsttypefindhelper.c:
29303         * gst/base/gstbasesink.c:
29304         * gst/gstqueue.c: RPAD fixes.
29305
29306         * gst/gstghostpad.h:
29307         * gst/gstghostpad.c: New ghost pad implementation as full proxy
29308         pads. The tricky thing is they provide both source and sink
29309         interfaces, since they proxy the internal pad for the external
29310         pad, and vice versa. Implement with lower-level ProxyPad objects,
29311         with the interior proxy pad as a child of the exterior ghost pad.
29312         Should write a doc on this.
29313         
29314         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
29315         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
29316         gst_object API.
29317         
29318         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
29319         pads are real pads. No ghost pads in this file. Not documenting
29320         the myriad s/RPAD/PAD/ and REALIZE fixes.
29321         (gst_pad_class_init): Add properties for "direction" and
29322         "template". Both are construct-only, so they can't change during
29323         the life of the pad. Fixes properly deriving from GstPad.
29324         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
29325         derived objects, just set properties when creating the objects via
29326         g_object_new.
29327         (gst_pad_get_parent): Implement as a function, return NULL if the
29328         parent is not an element.
29329         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
29330         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
29331         
29332         * gst/gstobject.c (gst_object_class_init): Make name a construct
29333         property. Don't set it in the object init.
29334
29335         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
29336         with UNKNOWN direction.
29337         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
29338         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
29339         (gst_element_remove_pad): Remove ghost-pad special cases.
29340         (gst_element_pads_activate): Remove rpad cruft.
29341
29342         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
29343         catch the pad's-parent-not-an-element case.
29344
29345         * gst/gst.h: Include gstghostpad.h.
29346
29347         * gst/gst.c (init_post): No more real, ghost pads.
29348
29349         * gst/Makefile.am: Add gstghostpad.[ch].
29350
29351         * check/Makefile.am:
29352         * check/gst/gstbin.c:
29353         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
29354         into a bin creates ghost pads, and that the refcounts are right.
29355         Partly moved from gstbin.c.
29356
29357 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29358
29359         * check/gst-libs/.cvsignore:
29360         * check/gst/.cvsignore:
29361         * check/pipelines/.cvsignore:
29362           ignore more
29363         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
29364         (START_TEST), (cleanup_suite), (main):
29365           add some tests related to cleanup after running pipelines
29366
29367 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29368
29369         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
29370           add a testsuite for GstBuffer
29371
29372 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
29373
29374         * gst/gstminiobject.h:
29375           add defines for accessing the refcount
29376
29377 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
29378
29379         * Makefile.am: added support for html unit test coverage reports
29380
29381 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
29382
29383         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
29384           Free existing caps if the capsfilter changes. Add a FIXME about
29385           setting those caps on the pads.
29386
29387         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
29388           Before adding a ghost pad to a parent bin, check that there isn't
29389           already one for the element on the bin. Prevents infinite recursion
29390           when using decodebin in parse pipelines. Andy says he'll rewrite the
29391           way this works anyway, so ignore the hack.
29392
29393 2005-06-02  Andy Wingo  <wingo@pobox.com>
29394
29395         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
29396         file size, pass it on to the type find helper.
29397
29398         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
29399         segment_start and segment_end properly according to the seek
29400         method. Segment_end is still a bit flaky because offset can be
29401         negative for CUR and END cases, but it takes -1 as an "unset"
29402         value.
29403
29404 2005-06-02  Wim Taymans  <wim@fluendo.com>
29405
29406         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
29407         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
29408         (gst_basesink_activate):
29409         * gst/base/gstbasesink.h:
29410         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29411         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29412         (gst_pad_query), (gst_pad_start_task):
29413         * gst/gstpad.h:
29414         * gst/gstqueue.c: (gst_queue_bufferalloc),
29415         (gst_queue_handle_sink_event), (gst_queue_chain):
29416         Bufferalloc: return GstFlowReturn to more accuratly report
29417         why allocation failed.
29418
29419 2005-06-02  Wim Taymans  <wim@fluendo.com>
29420
29421         * gst/gstpipeline.c: (gst_pipeline_send_event):
29422         Take snapshot of state without blocking.
29423
29424 2005-06-02  Wim Taymans  <wim@fluendo.com>
29425
29426         * docs/design/part-TODO.txt:
29427         * docs/design/part-caps.txt:
29428         * docs/design/part-clocks.txt:
29429         * docs/design/part-negotiation.txt:
29430         * docs/design/part-preroll.txt:
29431         Small doc updates 
29432
29433 2005-05-30  Wim Taymans  <wim@fluendo.com>
29434
29435         * gst/elements/gstidentity.c: (gst_identity_event),
29436         (gst_identity_transform), (gst_identity_get_property):
29437         Protect last_message property as it is accessed from
29438         multiple threads.
29439
29440 2005-05-30  Wim Taymans  <wim@fluendo.com>
29441
29442         * gst/gstelement.c: (gst_element_init),
29443         (gst_element_pads_activate), (gst_element_change_state):
29444         Slicker pad activation code.
29445
29446 2005-05-30  Wim Taymans  <wim@fluendo.com>
29447
29448         * gst/Makefile.am:
29449         * gst/gstelement.h:
29450         * gst/gstelementfactory.h:
29451         * gst/gsttypes.h:
29452         Move elementfactory methods to separate .h file.
29453
29454 2005-05-30  Wim Taymans  <wim@fluendo.com>
29455
29456         * docs/design/part-overview.txt:
29457         * gst/gstsystemclock.h:
29458         Small typo fixes, doc updates.
29459
29460 2005-05-30  Wim Taymans  <wim@fluendo.com>
29461
29462         * gst/gst.c: (gst_init_get_popt_table), (init_post),
29463         (init_popt_callback):
29464         Remove cpu-opt flag.
29465
29466 2005-05-30  Wim Taymans  <wim@fluendo.com>
29467
29468         * gst/gstbuffer.c: (gst_subbuffer_finalize),
29469         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
29470         * gst/gstbuffer.h:
29471         Avoid typechecking in places where not needed.
29472         Added accessor for malloc_data.
29473
29474 2005-05-30  Wim Taymans  <wim@fluendo.com>
29475
29476         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
29477         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
29478         (gst_pad_configure_sink), (gst_pad_configure_src),
29479         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
29480         (gst_pad_start_task):
29481         Propagate errors from _set_caps() in configure_src/sink
29482         functions instead of returning TRUE.
29483         FLUSH events can travel up and downstream
29484
29485
29486 2005-05-30  Wim Taymans  <wim@fluendo.com>
29487
29488         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29489         (gst_basesink_activate):
29490         Handle EOS in preroll.
29491
29492 2005-05-30  Wim Taymans  <wim@fluendo.com>
29493
29494         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29495         (gst_queue_loop), (gst_queue_handle_src_event):
29496         Remove old pieces of code
29497         Flushing the queue in an upstream event is a very bad idea.
29498
29499 2005-05-26  Andy Wingo  <wingo@pobox.com>
29500
29501         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
29502         gst_value_set_mini_object so as to add a ref on the object (which
29503         will be removed when the value is unset).
29504
29505         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
29506         arg type in ::handoff.
29507
29508         * gst/gstelement.c (gst_element_change_state): Also deactivate
29509         pads in READY->NULL, just in case the element didn't make it to
29510         PAUSED. Wingo tested, Wim approved.
29511
29512 2005-05-26  Wim Taymans  <wim@fluendo.com>
29513
29514         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29515         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
29516         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
29517         A flushing pad cannot be used to alloc_buffer from.
29518
29519 2005-05-26  Wim Taymans  <wim@fluendo.com>
29520
29521         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
29522         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
29523         (gst_bus_source_dispatch), (gst_bus_source_finalize),
29524         (gst_bus_create_watch), (gst_bus_add_watch_full):
29525         * gst/gstbus.h:
29526         Implement a real GSource and use g_main_context_wakeup() to
29527         signal new messages instead of the socketpair.
29528
29529 2005-05-25  Wim Taymans  <wim@fluendo.com>
29530
29531         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
29532         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
29533         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29534         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29535         (gst_pad_send_event), (gst_pad_start_task):
29536         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
29537         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
29538         (gst_queue_sink_activate), (gst_queue_src_activate),
29539         (gst_queue_change_state):
29540         * gst/gstqueue.h:
29541         Fix state changes for non sinks. We now change sinks, then elements
29542         with unconnected srcpads, then the rest.
29543         More efficient queue unlocking in flush and state changes.
29544         Set the pad activate mode even if it does not have an activate
29545         function.
29546
29547 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29548
29549         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
29550           Don't go in pull mode for non-seekable sources.
29551         * gst/elements/gsttypefindelement.h:
29552         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
29553         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
29554         (free_entry), (stop_typefinding),
29555         (gst_type_find_element_handle_event), (find_peek),
29556         (gst_type_find_element_chain), (do_pull_typefind),
29557         (gst_type_find_element_change_state):
29558           Allow typefinding (w/o seeking) in push-mode, simplified version
29559           of what was in 0.8.
29560         * gst/gstutils.c: (gst_buffer_join):
29561         * gst/gstutils.h:
29562           gst_buffer_join() from 0.8.
29563
29564 2005-05-25  Wim Taymans  <wim@fluendo.com>
29565
29566         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
29567         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
29568         (gst_pad_send_event), (gst_pad_start_task):
29569         Disable attempt at mode switching until it is figured out.
29570
29571 2005-05-25  Wim Taymans  <wim@fluendo.com>
29572
29573         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
29574         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
29575         (gst_basesink_finish_preroll), (gst_basesink_chain),
29576         (gst_basesink_loop), (gst_basesink_activate),
29577         (gst_basesink_change_state):
29578         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
29579         (gst_basesrc_get_range), (gst_basesrc_loop),
29580         (gst_basesrc_activate):
29581         * gst/elements/gsttee.c: (gst_tee_sink_activate):
29582         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
29583         (gst_real_pad_init), (gst_real_pad_set_property),
29584         (gst_real_pad_get_property), (gst_pad_set_active),
29585         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
29586         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
29587         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
29588         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
29589         (gst_pad_event_default_dispatch), (gst_pad_event_default),
29590         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
29591         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
29592         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
29593         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
29594         (gst_pad_stop_task):
29595         * gst/gstpad.h:
29596         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
29597         (gst_queue_loop), (gst_queue_src_activate):
29598         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
29599         (gst_task_get_state):
29600         * gst/gsttask.h:
29601         * gst/schedulers/threadscheduler.c:
29602         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
29603         Implement gst_pad_pause/start/stop_task(), take STREAM lock
29604         in task function.
29605         Remove ACTIVE pad flag, use FLUSHING everywhere
29606         Added _pad_chain(), _pad_get_range() to call chain/getrange 
29607         functions.
29608         Add locks around IS_FLUSHING when reading.
29609         Take STREAM lock in chain(), get_range() functions so plugins
29610         don't need to take it anymore.
29611         
29612
29613
29614 2005-05-25  Wim Taymans  <wim@fluendo.com>
29615
29616         * tools/gst-launch.c: (event_loop):
29617         Unref message after using its contents instead of
29618         before.
29619
29620 2005-05-24  Wim Taymans  <wim@fluendo.com>
29621
29622         * docs/design/draft-ghostpads.txt:
29623         * docs/design/draft-push-pull.txt:
29624         * docs/design/draft-query.txt:
29625         * docs/design/part-overview.txt:
29626         Docs updates, added general overview doc.
29627
29628 2005-05-21  David Schleef  <ds@schleef.org>
29629
29630         * docs/gst/tmpl/old/GstBin.sgml:
29631         * docs/gst/tmpl/old/GstBuffer.sgml:
29632         * docs/gst/tmpl/old/GstCaps.sgml:
29633         * docs/gst/tmpl/old/GstClock.sgml:
29634         * docs/gst/tmpl/old/GstCompat.sgml:
29635         * docs/gst/tmpl/old/GstData.sgml:
29636         * docs/gst/tmpl/old/GstElement.sgml:
29637         * docs/gst/tmpl/old/GstEvent.sgml:
29638         * docs/gst/tmpl/old/GstIndex.sgml:
29639         * docs/gst/tmpl/old/GstStructure.sgml:
29640         * docs/gst/tmpl/old/GstTag.sgml:
29641         * docs/gst/tmpl/old/cothreads.sgml:
29642         * docs/gst/tmpl/old/cothreads_compat.sgml:
29643         * docs/gst/tmpl/old/gettext.sgml:
29644         * docs/gst/tmpl/old/gobject2gtk.sgml:
29645         * docs/gst/tmpl/old/grammar.tab.sgml:
29646         * docs/gst/tmpl/old/gst-i18n-app.sgml:
29647         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
29648         * docs/gst/tmpl/old/gst_private.sgml:
29649         * docs/gst/tmpl/old/gstaggregator.sgml:
29650         * docs/gst/tmpl/old/gstarch.sgml:
29651         * docs/gst/tmpl/old/gstatomic_impl.sgml:
29652         * docs/gst/tmpl/old/gstbufferstore.sgml:
29653         * docs/gst/tmpl/old/gstdata_private.sgml:
29654         * docs/gst/tmpl/old/gstdisksink.sgml:
29655         * docs/gst/tmpl/old/gstdisksrc.sgml:
29656         * docs/gst/tmpl/old/gstelementfactory.sgml:
29657         * docs/gst/tmpl/old/gstextratypes.sgml:
29658         * docs/gst/tmpl/old/gstfakesink.sgml:
29659         * docs/gst/tmpl/old/gstfakesrc.sgml:
29660         * docs/gst/tmpl/old/gstfdsink.sgml:
29661         * docs/gst/tmpl/old/gstfdsrc.sgml:
29662         * docs/gst/tmpl/old/gstfilesink.sgml:
29663         * docs/gst/tmpl/old/gstfilesrc.sgml:
29664         * docs/gst/tmpl/old/gsthttpsrc.sgml:
29665         * docs/gst/tmpl/old/gstidentity.sgml:
29666         * docs/gst/tmpl/old/gstindexfactory.sgml:
29667         * docs/gst/tmpl/old/gstmarshal.sgml:
29668         * docs/gst/tmpl/old/gstmd5sink.sgml:
29669         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
29670         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
29671         * docs/gst/tmpl/old/gstpadtemplate.sgml:
29672         * docs/gst/tmpl/old/gstpipefilter.sgml:
29673         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
29674         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
29675         * docs/gst/tmpl/old/gstshaper.sgml:
29676         * docs/gst/tmpl/old/gstspider.sgml:
29677         * docs/gst/tmpl/old/gstspideridentity.sgml:
29678         * docs/gst/tmpl/old/gststatistics.sgml:
29679         * docs/gst/tmpl/old/gsttee.sgml:
29680         * docs/gst/tmpl/old/gsttimecache.sgml:
29681         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
29682         * docs/gst/tmpl/old/gstxmlregistry.sgml:
29683         * docs/gst/tmpl/old/gthread-cothreads.sgml:
29684         * docs/gst/tmpl/old/types.sgml:
29685           I didn't intend to add these or check them in.
29686
29687 2005-05-19  David Schleef  <ds@schleef.org>
29688
29689         * configure.ac: Use -no-common everywhere.  In a sane world, it
29690           would be the default in libtool, because without it, you can't
29691           build DLLs on Windows.
29692         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
29693         * docs/gst/gstreamer-sections.txt:
29694         * docs/gst/tmpl/gstcpu.sgml:
29695         * docs/gst/tmpl/gstdata.sgml:
29696         * docs/gst/tmpl/gstthread.sgml:
29697
29698 2005-05-19  David Schleef  <ds@schleef.org>
29699
29700         * gst/gstminiobject.c: (gst_value_set_mini_object),
29701         (gst_value_take_mini_object), (gst_value_get_mini_object):
29702         * gst/gstminiobject.h: Add GValue set/get functions.
29703
29704 2005-05-19  Wim Taymans  <wim@fluendo.com>
29705
29706         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
29707         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
29708         (gst_subbuffer_init), (gst_buffer_is_span_fast):
29709         * gst/gstbuffer.h:
29710         * gst/gstbus.c: (gst_bus_post):
29711         * gst/gstelement.c: (gst_element_get_random_pad):
29712         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
29713         Make subbufer unref the parent in finalize.
29714         some more debugging info.
29715
29716
29717 2005-05-19  Wim Taymans  <wim@fluendo.com>
29718
29719         * gst/base/gstbasesink.c: (gst_basesink_class_init),
29720         (gst_basesink_init), (gst_basesink_finalize),
29721         (gst_basesink_activate), (gst_basesink_change_state):
29722         Don't free preroll queue too early.
29723
29724 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29725
29726         * gst/Makefile.am:
29727         * gst/ROADMAP:
29728           Hi, I'm outdated. Please shoot me.
29729
29730 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29731
29732         * gst/gstpipeline.c: (gst_pipeline_send_event):
29733           Do not access variables after they have been deleted.
29734
29735 2005-05-19  Wim Taymans  <wim@fluendo.com>
29736
29737         * tools/gst-inspect.c: (print_plugin_features):
29738         A plugin feature does unfortunatly not use the
29739         object name yet...
29740
29741 2005-05-18  Wim Taymans  <wim@fluendo.com>
29742
29743         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
29744         Port _span() functions to new subbuffers.
29745
29746 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29747
29748         * gst/gstbin.c: (gst_bin_add_func):
29749           Fix clock settery in bins when adding kids after the clock has
29750           been selected.
29751
29752 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29753
29754         * gst/elements/gstidentity.c: (gst_identity_class_init):
29755           Workaround until signals support GstMiniObject.
29756
29757 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
29758
29759         * gst/gstbuffer.c:
29760         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
29761
29762 2005-05-18  Wim Taymans  <wim@fluendo.com>
29763
29764         * gst/base/Makefile.am:
29765         * gst/base/gstadapter.c: (gst_adapter_base_init),
29766         (gst_adapter_class_init), (gst_adapter_init),
29767         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
29768         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
29769         (gst_adapter_flush), (gst_adapter_available),
29770         (gst_adapter_available_fast):
29771         * gst/base/gstadapter.h:
29772         Ported and added adapter to the base classes.
29773
29774 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
29775
29776         * gst/gst.c:
29777         * gst/gstmessage.c:
29778           Make sure the class is reffed/unreffed once before threads can be
29779           used.  Fixes #304551.
29780
29781 2005-05-17  Wim Taymans  <wim@fluendo.com>
29782
29783         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
29784         (gst_basesink_chain_unlocked), (gst_basesink_activate):
29785         * gst/gstminiobject.c: (gst_mini_object_get_type),
29786         (gst_mini_object_free):
29787         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
29788         (gst_pad_push), (gst_pad_push_event):
29789         * gst/gstqueue.c: (gst_queue_change_state):
29790         Don't queue buffers in basesink when we are flushing.
29791         Unref buffer when flushing in basesink.
29792         Flush queue when going to READY
29793         Unref buffer when _push() returns an error.
29794         Don't free MiniObject instance when refcount is incremented
29795         in _finalize() so that we can recover objects.
29796
29797 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
29798
29799         * docs/manual/advanced-schedulers.xml:
29800         * docs/manual/appendix-checklist.xml:
29801         * docs/pwg/advanced-clock.xml:
29802         * docs/pwg/advanced-interfaces.xml:
29803         * docs/pwg/advanced-request.xml:
29804         * docs/pwg/advanced-types.xml:
29805         * docs/pwg/intro-preface.xml:
29806         * examples/plugins/example.c: (gst_example_get_type),
29807         (gst_example_class_init), (gst_example_chain),
29808         (gst_example_set_property), (gst_example_get_property),
29809         (gst_example_change_state), (plugin_init):
29810         * examples/plugins/example.h:
29811           small doc fixes
29812
29813 2005-05-17  Wim Taymans  <wim@fluendo.com>
29814
29815         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
29816         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
29817         * gst/gstqueue.c: (gst_queue_change_state):
29818         Clear queue when going to READY.
29819         Remove IN_SETCAPS flag too.
29820
29821 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
29822
29823         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
29824           Remove implicit cast from gboolean to GstElementStateReturn;
29825           make sure we still return failure in paused => ready case if
29826           the parent class fails to change state and our own stop 
29827           vfunc succeeds.
29828
29829 2005-05-17  Wim Taymans  <wim@fluendo.com>
29830
29831         * tools/gst-launch.c: (event_loop):
29832         Message was unreffed too soon.
29833
29834 2005-05-16  Andy Wingo  <wingo@pobox.com>
29835
29836         * gst/gstbin.c (sink_iterator_filter): Err... um...
29837
29838         * check/gst/gstbin.c (test_ghost_pads): New test for the
29839         ghosting-if-elements-not-in-same-bin behavior.
29840
29841 2005-05-16  David Schleef  <ds@schleef.org>
29842
29843         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
29844         accessing refcount directly.
29845
29846 2005-05-15  David Schleef  <ds@schleef.org>
29847
29848         * check/Makefile.am: remove GstData checks
29849         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
29850         * gst/Makefile.am: add miniobject, remove data
29851         * gst/gst.h: add miniobject, remove data
29852         * gst/gstdata.c: remove
29853         * gst/gstdata.h: remove
29854         * gst/gstdata_private.h: remove
29855         * gst/gsttypes.h: remove GstEvent and GstMessage
29856         * gst/gstelement.c: (gst_element_post_message): fix for API changes
29857         * gst/gstmarshal.list: change BOXED -> OBJECT
29858
29859         Implement GstMiniObject.
29860         * gst/gstminiobject.c:
29861         * gst/gstminiobject.h:
29862
29863         Modify to be subclasses of GstMiniObject.
29864         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
29865         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
29866         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
29867         (gst_subbuffer_get_type), (gst_subbuffer_init),
29868         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
29869         (gst_buffer_span):
29870         * gst/gstbuffer.h:
29871         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
29872         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
29873         (_gst_event_copy), (gst_event_new):
29874         * gst/gstevent.h:
29875         * gst/gstmessage.c: (_gst_message_initialize),
29876         (gst_message_get_type), (gst_message_class_init),
29877         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
29878         (gst_message_new), (gst_message_new_error),
29879         (gst_message_new_warning), (gst_message_new_tag),
29880         (gst_message_new_state_changed), (gst_message_new_application):
29881         * gst/gstmessage.h:
29882         * gst/gstprobe.c: (gst_probe_perform),
29883         (gst_probe_dispatcher_dispatch):
29884         * gst/gstprobe.h:
29885         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
29886         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
29887         (_gst_query_copy), (gst_query_new):
29888
29889         Update elements for GstData -> GstMiniObject changes
29890         * gst/gstquery.h:
29891         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
29892         (gst_queue_chain), (gst_queue_loop):
29893         * gst/elements/gstbufferstore.c:
29894         (gst_buffer_store_add_buffer_func),
29895         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
29896         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
29897         (gst_fakesink_render):
29898         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
29899         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
29900         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
29901         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
29902         (gst_filesrc_create_read):
29903         * gst/elements/gstidentity.c: (gst_identity_class_init):
29904         * gst/elements/gsttypefindelement.c:
29905         (gst_type_find_element_src_event), (free_entry_buffers),
29906         (gst_type_find_element_handle_event):
29907         * libs/gst/dataprotocol/dataprotocol.c:
29908         (gst_dp_header_from_buffer):
29909         * libs/gst/dataprotocol/dataprotocol.h:
29910         * libs/gst/dataprotocol/dp-private.h:
29911
29912 2005-05-15  David Schleef  <ds@schleef.org>
29913
29914         * gst/elements/gstelements.c: Don't include headers that were
29915         just removed.
29916
29917 2005-05-15  David Schleef  <ds@schleef.org>
29918
29919         * gst/elements/Makefile.am: Remove some elements that don't
29920         need to be in the core (or even exist at all).
29921         * gst/elements/gstaggregator.c:
29922         * gst/elements/gstaggregator.h:
29923         * gst/elements/gstmd5sink.c:
29924         * gst/elements/gstmd5sink.h:
29925         * gst/elements/gstmultifilesrc.c:
29926         * gst/elements/gstmultifilesrc.h:
29927         * gst/elements/gstpipefilter.c:
29928         * gst/elements/gstpipefilter.h:
29929         * gst/elements/gstshaper.c:
29930         * gst/elements/gstshaper.h:
29931         * gst/elements/gststatistics.c:
29932         * gst/elements/gststatistics.h:
29933         * po/POTFILES.in: Remove above files.
29934
29935 2005-05-14  Andy Wingo  <wingo@pobox.com>
29936
29937         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
29938         so as to get the refs right.
29939         (sink_iterator_filter): New function, wraps bin_element_is_sink,
29940         unreffing objects that don't pass the filter.
29941
29942         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
29943         gst_element_set_bus.
29944         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
29945         normal cases, this will destroy the bus.
29946
29947         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
29948         object.
29949
29950         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
29951         has no sinks.
29952
29953 2005-05-13  Andy Wingo  <wingo@pobox.com>
29954
29955         * gst/gstutils.c (gst_element_link_pads): Instead of calling
29956         gst_pad_link, call pad_link_maybe_ghosting,
29957         (pad_link_maybe_ghosting): Links pads, making sure that the
29958         elements being linked are in the same bin.
29959         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
29960         Helpers for pad_link_maybe_ghosting.
29961
29962 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
29963
29964         * configure.ac:
29965           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
29966
29967 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
29968
29969         * docs/design/part-element-source.txt:
29970           Mention GstPushSrc
29971
29972 2005-05-12  Wim Taymans  <wim@fluendo.com>
29973
29974         * gst/base/gstbasesink.c: (gst_basesink_init),
29975         (gst_basesink_activate):
29976         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
29977         (gst_basesrc_is_seekable):
29978         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
29979         (bin_element_is_sink), (gst_bin_change_state):
29980         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
29981         * gst/gstelement.h:
29982         Identify sinks by their flag to avoid overly complicated
29983         checks (fow now).
29984         Do state changes even for elements not reachable from the
29985         sinks.
29986         BaseSink is a sink now :)
29987         Some more debugging info in the basesrc.
29988
29989
29990 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
29991
29992         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
29993           Implement _query on a bin, similar to _send_event.
29994
29995 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
29996
29997         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
29998           Discont event offset format should be GST_FORMAT_BYTES,
29999           not GST_FORMAT_TIME.
30000
30001 2005-05-12  Wim Taymans  <wim@fluendo.com>
30002
30003         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
30004         Same fix as Ronald's but without the signal. 
30005
30006 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30007
30008         * gst/gstutils.c: (gst_element_query_position):
30009           No, an element is not a pad.
30010
30011 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30012
30013         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
30014         (gst_bin_get_state):
30015           If a child is removed from a bin while we remove the child from
30016           the bin and while we're retrieving its state, signal this to the
30017           get_state function so we abort the wait (instead of waiting for
30018           a timeout) and can immediately re-iterate over all other elements.
30019
30020 2005-05-12  Wim Taymans  <wim@fluendo.com>
30021
30022         * gst/base/Makefile.am:
30023         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
30024         (gst_basesrc_start):
30025         * gst/base/gstbasesrc.h:
30026         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
30027         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
30028         (gst_pushsrc_init), (gst_pushsrc_create):
30029         * gst/base/gstpushsrc.h:
30030         Added is_seekable to BaseSrc
30031         Added simple PushSrc.
30032
30033 2005-05-11  Wim Taymans  <wim@fluendo.com>
30034
30035         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
30036         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30037         (gst_element_link_pads), (gst_element_query_position),
30038         (gst_element_query_convert), (intersect_caps_func),
30039         (gst_pad_query_position), (gst_pad_query_convert):
30040         Fix refcounting in utils function.
30041         No point in trying to activate a pad when it's added, it could
30042         be added from the state change function and then we deadlock, the
30043         element has to decide what to do.
30044
30045 2005-05-10  Andy Wingo  <wingo@pobox.com>
30046
30047         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
30048         *all* the arguments.
30049
30050         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
30051         stream lock if it's a FLUSH_DONE; normal flushes don't get the
30052         lock (according to the docs -- if this is wrong change the docs).
30053
30054         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
30055         flush messages in the NULL state.
30056
30057         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
30058         message immediately and return.
30059         (gst_bus_set_flushing): New function. If a bus is flushing, it
30060         flushes out any queued messages and immediately unrefs new
30061         messages. This is so when an element goes to NULL, all of the
30062         unhandled messages coming from it can be freed, and their
30063         references to the element dropped. In other words: message source
30064         ref considered harmful :P
30065
30066         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
30067         we're finished with it.
30068
30069         * gst/gstmessage.c (gst_message_new_state_changed): 
30070
30071 2005-05-10  Wim Taymans  <wim@fluendo.com>
30072
30073         * gst/gstvalue.c: (gst_value_compare_flags),
30074         (gst_value_serialize_flags), (gst_value_deserialize_flags),
30075         (_gst_value_initialize):
30076         Added flags serialize/deserialize/compare code.
30077
30078 2005-05-09  Andy Wingo  <wingo@pobox.com>
30079
30080         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
30081         Intersect the peer's caps with our caps.
30082
30083 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30084
30085         * gst/base/gsttypefindhelper.c: (helper_find_peek):
30086         * gst/elements/gsttypefindelement.c: (find_peek):
30087           Handle negative offsets better. Fixes decodebin.
30088
30089 2005-05-09  Wim Taymans  <wim@fluendo.com>
30090
30091         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
30092         (gst_base_transform_event):
30093         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
30094         Implement accept_caps.
30095         Fix silly lock/unlock mismatch in base class.
30096
30097 2005-05-09  Wim Taymans  <wim@fluendo.com>
30098
30099         * docs/design/draft-push-pull.txt:
30100         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
30101         * gst/elements/gstfilesink.c: (gst_filesink_init),
30102         (gst_filesink_query):
30103         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
30104         (gst_type_find_handle_src_query), (find_element_get_length):
30105         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
30106         * gst/gstelement.h:
30107         * gst/gstmessage.c:
30108         * gst/gstmessage.h:
30109         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
30110         (gst_real_pad_get_caps_unlocked),
30111         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
30112         (gst_pad_event_default_dispatch), (gst_pad_event_default),
30113         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
30114         (gst_real_pad_dispose), (gst_real_pad_finalize),
30115         (gst_pad_load_and_link), (gst_pad_save_thyself),
30116         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
30117         (gst_pad_check_pull_range), (gst_pad_pull_range),
30118         (gst_pad_template_get_type), (gst_pad_template_class_init),
30119         (gst_pad_template_init), (gst_pad_template_dispose),
30120         (name_is_valid), (gst_static_pad_template_get),
30121         (gst_pad_template_new), (gst_static_pad_template_get_caps),
30122         (gst_pad_template_get_caps), (gst_pad_set_element_private),
30123         (gst_pad_get_element_private), (gst_pad_start_task),
30124         (gst_pad_pause_task), (gst_pad_stop_task),
30125         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
30126         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
30127         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
30128         (gst_ghost_pad_new):
30129         * gst/gstpad.h:
30130         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
30131         (gst_query_new_position), (gst_query_set_position),
30132         (gst_query_parse_position), (gst_query_new_convert),
30133         (gst_query_set_convert), (gst_query_parse_convert):
30134         * gst/gstquery.h:
30135         * gst/gstqueryutils.c:
30136         * gst/gstqueryutils.h:
30137         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30138         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30139         (gst_queue_handle_src_query):
30140         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30141         (gst_element_query_position), (gst_element_query_convert),
30142         (intersect_caps_func), (gst_pad_query_position),
30143         (gst_pad_query_convert):
30144         * gst/gstutils.h:
30145         * tools/gst-inspect.c: (print_pad_info):
30146         * tools/gst-xmlinspect.c: (print_element_info):
30147         Remove old query functions. Ported old code.
30148         Added position/convert helper functions to gstutils.
30149         Reordered gstpad.c code, grouping relevant things.
30150         Remove gst_message_new(), always need to speficy a specific
30151         message.
30152
30153
30154 2005-05-09  Andy Wingo  <wingo@pobox.com>
30155
30156         * gst/gstiterator.h: Add some includes.
30157
30158         * gst/gstqueryutils.h: Include more headers.
30159
30160         * gst/gstpad.h:
30161         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
30162         some uses of gst_pad_query.
30163
30164         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
30165         NULL out parameters.
30166         (gst_query_new_position): New proc, allocates a new position
30167         query.
30168
30169         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
30170         gstqueryutils.c to the build.
30171
30172         * gst/gststructure.c (gst_structure_set_valist): Implement with
30173         the generic G_VALUE_COLLECT.
30174         
30175 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
30176
30177         * gst/Makefile.am: (gst_headers):
30178         Added gstqueryutils.h to the list of headers to install, that was
30179         a 'nachty' move wingo :)
30180
30181 2005-05-06  Andy Wingo  <wingo@pobox.com>
30182
30183         * gst/gstquery.h
30184         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
30185         GstData, init a memchunk.
30186         (standard_definitions): Add a few query types, deprecate a few.
30187         (gst_query_get_type): New proc.
30188         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
30189         implementation.
30190         (gst_query_new_application, gst_query_get_structure): New public
30191         procs.
30192
30193         * docs/design/draft-query.txt: Removed LINKS from the query types,
30194         because all the rest can be dispatched to other pads -- seemed
30195         ugly to have a query that couldn't be dispatched. internal_links
30196         is fine as a pad method.
30197
30198         * gst/gstpad.h: Add query2 as a pad method, add the new functions
30199         in gstpad.c, but maintain binary compatibility for the moment.
30200         Will fix before 0.9 is out.
30201
30202         * gst/gstqueryutils.c: 
30203         * gst/gstqueryutils.h: New files, implement 3 methods for each
30204         query type: parse_query, parse_response, and set. Probably need an
30205         allocator as well.
30206
30207         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
30208
30209         * gst/elements/gstfilesink.c (gst_filesink_query2):
30210         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
30211         query_types, and formats methods.
30212
30213         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
30214         (gst_pad_set_query2_function): New functions.
30215         (gst_real_pad_init): Set query2_default as the default query2
30216         function. Basically just dispatches to internally linked pads.
30217
30218         Needs review!
30219         
30220         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
30221         without using the atomic operations. Only one thread can possibly
30222         be accessing the data at this point. Changed so as to avoid
30223         gst_atomic operations.
30224
30225 2005-05-06  Wim Taymans  <wim@fluendo.com>
30226
30227         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
30228         Also set caps if we use the fallback buffer alloc.
30229
30230 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
30231
30232         * docs/gst/Makefile.am:
30233         * docs/gst/gstreamer-docs.sgml:
30234         * docs/gst/gstreamer-sections.txt:
30235         * docs/gst/tmpl/gstatomic.sgml:
30236         * docs/gst/tmpl/gstmemchunk.sgml:
30237         * testsuite/elements/struct_i386.h:
30238         * win32/GStreamer.vcproj:
30239         * win32/Makefile:
30240           Purge GstAtomic stuff from docs and win32 makefiles as well
30241
30242 2005-05-06  Wim Taymans  <wim@fluendo.com>
30243
30244         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
30245         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
30246         * gst/gstpad.c: (gst_pad_peer_get_caps):
30247         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
30248         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
30249         (gst_queue_src_activate), (gst_queue_change_state):
30250         * gst/gstqueue.h:
30251         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30252         (intersect_caps_func):
30253         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
30254         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
30255         Some fixes for the peer_get_caps() change.
30256
30257 2005-05-06  Wim Taymans  <wim@fluendo.com>
30258
30259         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
30260         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
30261         (gst_basesink_activate):
30262         Actually do something with error codes returned from the push
30263         functions.
30264
30265 2005-05-06  Wim Taymans  <wim@fluendo.com>
30266
30267         * docs/design/part-element-sink.txt:
30268         * docs/design/part-element-source.txt:
30269         * gst/base/gstbasesink.c: (gst_basesink_class_init),
30270         (gst_basesink_event), (gst_basesink_activate):
30271         * gst/base/gstbasesink.h:
30272         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
30273         (gst_basesrc_activate):
30274         * gst/base/gstbasesrc.h:
30275         * gst/gstelement.c: (gst_element_pads_activate):
30276         Some more documentation.
30277         Fixed scheduling decision in _pads_activate().
30278
30279 2005-05-05  Andy Wingo  <wingo@pobox.com>
30280
30281         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
30282         the test suite.
30283
30284 2005-05-05  Wim Taymans  <wim@fluendo.com>
30285
30286         * gst/base/Makefile.am:
30287         * gst/base/gstbasesink.h:
30288         * gst/base/gstbasesrc.c: (gst_basesrc_init),
30289         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
30290         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
30291         (gst_collectpads_class_init), (gst_collectpads_init),
30292         (gst_collectpads_finalize), (gst_collectpads_new),
30293         (gst_collectpads_set_function), (gst_collectpads_add_pad),
30294         (find_pad), (gst_collectpads_remove_pad),
30295         (gst_collectpads_is_active), (gst_collectpads_collect),
30296         (gst_collectpads_collect_range), (gst_collectpads_start),
30297         (gst_collectpads_stop), (gst_collectpads_peek),
30298         (gst_collectpads_pop), (gst_collectpads_available),
30299         (gst_collectpads_read), (gst_collectpads_flush),
30300         (gst_collectpads_chain):
30301         * gst/base/gstcollectpads.h:
30302         * gst/elements/Makefile.am:
30303         * gst/elements/gstelements.c:
30304         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30305         (gst_fakesink_get_times), (gst_fakesink_event),
30306         (gst_fakesink_preroll), (gst_fakesink_render):
30307         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
30308         (gst_filesink_init), (gst_filesink_set_location),
30309         (gst_filesink_open_file), (gst_filesink_close_file),
30310         (gst_filesink_pad_query), (gst_filesink_event),
30311         (gst_filesink_render), (gst_filesink_change_state):
30312         * gst/elements/gstfilesink.h:
30313         Added object to help in making collect pad based elements.
30314         Ported filesink.
30315         Make event function in sink baseclass return gboolean.
30316
30317 2005-05-05  Wim Taymans  <wim@fluendo.com>
30318
30319         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
30320         (gst_bin_get_by_name):
30321         * gst/gstbuffer.h:
30322         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
30323         (gst_clock_finalize):
30324         * gst/gstdata.c: (gst_data_replace):
30325         * gst/gstdata.h:
30326         * gst/gstelement.c: (gst_element_request_pad),
30327         (gst_element_pads_activate):
30328         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
30329         (gst_object_unref):
30330         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30331         (gst_pad_set_checkgetrange_function),
30332         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
30333         (gst_pad_check_pull_range), (gst_pad_pull_range),
30334         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30335         (gst_pad_pause_task), (gst_pad_stop_task):
30336         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
30337         (gst_element_request_pad), (gst_pad_proxy_getcaps):
30338         Fix name lookup in GstBin.
30339         Added _data_replace() function and _buffer_replace()
30340         Use finalize method to clean up clock.
30341         Fix refcounting on request pads.
30342         Fix pad schedule mode error.
30343         Some more object refcounting debug info,
30344
30345
30346 2005-05-04  Andy Wingo <wingo@pobox.com>
30347
30348         * check/Makefile.am:
30349         * docs/gst/tmpl/gstatomic.sgml:
30350         * docs/gst/tmpl/gstplugin.sgml:
30351         * gst/base/gstbasesink.c: (gst_basesink_activate):
30352         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
30353         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
30354         (gst_basesrc_query), (gst_basesrc_set_property),
30355         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
30356         (gst_basesrc_activate):
30357         * gst/base/gstbasesrc.h:
30358         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
30359         (gst_base_transform_src_activate):
30360         * gst/elements/gstelements.c:
30361         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30362         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
30363         * gst/elements/gsttee.c: (gst_tee_sink_activate):
30364         * gst/elements/gsttypefindelement.c: (find_element_get_length),
30365         (gst_type_find_element_checkgetrange),
30366         (gst_type_find_element_activate):
30367         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
30368         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
30369         (gst_caps_load_thyself):
30370         * gst/gstelement.c: (gst_element_pads_activate),
30371         (gst_element_save_thyself), (gst_element_restore_thyself):
30372         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
30373         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
30374         * gst/gstpad.h:
30375         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
30376         (gst_xml_parse_file), (gst_xml_parse_memory),
30377         (gst_xml_get_element), (gst_xml_make_element):
30378         * gst/indexers/gstfileindex.c: (gst_file_index_load),
30379         (_file_index_id_save_xml), (gst_file_index_commit):
30380         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
30381         (read_enum), (load_pad_template), (load_feature), (load_plugin),
30382         (load_paths):
30383         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
30384         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
30385         * tools/gst-complete.c: (main):
30386         * tools/gst-compprep.c: (main):
30387         * tools/gst-inspect.c: (print_element_properties_info):
30388         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
30389         * tools/gst-xmlinspect.c: (print_element_properties):
30390         GCC 4 fixen.
30391         
30392 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
30393
30394         * gst/gstplugin.c: (gst_plugin_check_module),
30395         (gst_plugin_check_file), (gst_plugin_load_file):
30396             apply patch from #172526 to make register work on MacOSX
30397
30398 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30399
30400         * docs/gst/tmpl/gstconfig.sgml:
30401         * gst/gstconfig.h.in:
30402           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
30403         * testsuite/debug/printf_extension.c: (main):
30404           Do not use GST_PTR_FORMAT on pointers to types with
30405           sizeof < sizeof(gpointer).  Fixes test on 64-bit
30406         * testsuite/elements/property.h:
30407           use correct printf format
30408
30409 2005-05-02  Wim Taymans  <wim@fluendo.com>
30410
30411         * docs/design/draft-push-pull.txt:
30412         * docs/design/draft-query.txt:
30413         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
30414         (gst_basesrc_start):
30415         Added draft for new query API.
30416         Added draft for better selecting scheduling methods.
30417         Make basesrc ignore length if the subclass does not support
30418         it.
30419
30420 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30421
30422         * gst/Makefile.am:
30423           possible fixes for automake-1.5 - _LIBADD is reserved
30424
30425 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
30426
30427         * docs/faq/Makefile.am:
30428         * docs/manual/Makefile.am:
30429         * docs/manuals.mak:
30430         * docs/pwg/Makefile.am:
30431         * gst/Makefile.am:
30432           possible fixes for automake-1.5
30433
30434 2005-04-28  Wim Taymans  <wim@fluendo.com>
30435
30436         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30437         (gst_basesink_pad_getcaps), (gst_basesink_init),
30438         (gst_basesink_do_sync):
30439         * gst/gstclock.c: (gst_clock_entry_new):
30440         * gst/gstevent.c: (gst_event_discont_get_value):
30441         * gst/gstpipeline.c: (pipeline_bus_handler),
30442         (gst_pipeline_change_state):
30443         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
30444         Better debugging of clocking info.
30445         Allow NULL values when getting discont values.
30446
30447 2005-04-27  Wim Taymans  <wim@fluendo.com>
30448
30449         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
30450         * check/gst/gstpad.c: (gst_pad_suite):
30451         Increase timeout for checks.
30452
30453 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
30454
30455         * check/Makefile.am:
30456           fix the broken rule for cleanup.  Apparently this rule is
30457           only needed on FC2, so maybe this warrants further autotool
30458           inspection.
30459
30460 2005-04-26  Wim Taymans  <wim@fluendo.com>
30461
30462         * gst/gsttrashstack.h:
30463         Ooohh. a nasty one! After having a failed pop() from the stack,
30464         it's possible that the stack is empty. In that case, don't
30465         follow the NULL pointer.
30466
30467 2005-04-25  Wim Taymans  <wim@fluendo.com>
30468
30469         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30470         (gst_pad_set_checkgetrange_function),
30471         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
30472         (gst_pad_check_pull_range), (gst_pad_pull_range),
30473         (gst_static_pad_template_get_caps), (gst_pad_start_task),
30474         (gst_pad_pause_task), (gst_pad_stop_task):
30475         * gst/gstplugin.c: (gst_plugin_load):
30476         * gst/gstplugin.h:
30477         Remove gst_library_load as it does more harm than good with
30478         the new g_module flags.
30479         Revert bogus caps template check in pad linking, pad caps
30480         are important when linking not the template, which is more
30481         general than the current caps.
30482
30483 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30484
30485         * gst/autoplug/.cvsignore:
30486         * gst/autoplug/Makefile.am:
30487         * gst/autoplug/gstsearchfuncs.c:
30488         * gst/autoplug/gstsearchfuncs.h:
30489         * gst/autoplug/gstspider.c:
30490         * gst/autoplug/gstspider.h:
30491         * gst/autoplug/gstspideridentity.c:
30492         * gst/autoplug/gstspideridentity.h:
30493         * gst/autoplug/spidertest.c:
30494           Die, spider, die.
30495
30496 2005-04-25  Wim Taymans  <wim@fluendo.com>
30497
30498         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30499         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30500         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
30501         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
30502         * gst/gstpad.h:
30503         Added stubs for unimplemented functions. 
30504
30505 2005-04-24  David Schleef  <ds@schleef.org>
30506
30507         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
30508         please fix.
30509
30510 2005-04-24  David Schleef  <ds@schleef.org>
30511
30512         Convert everything from GstAtomicInt to g_atomic_int_*, and
30513         remove gstatomic.
30514         * gst/Makefile.am:
30515         * gst/gstatomic.c:
30516         * gst/gstatomic.h:
30517         * gst/gstatomic_impl.h:
30518         * gst/gstbuffer.c:
30519         * gst/gstcaps.c:
30520         * gst/gstcaps.h:
30521         * gst/gstclock.c:
30522         * gst/gstclock.h:
30523         * gst/gstdata.c:
30524         * gst/gstdata.h:
30525         * gst/gstdata_private.h:
30526         * gst/gstevent.c:
30527         * gst/gstinfo.c:
30528         * gst/gstinfo.h:
30529         * gst/gstmessage.c:
30530         * gst/gstobject.c:
30531         * gst/gstobject.h:
30532         * gst/gststructure.c:
30533         * gst/gststructure.h:
30534         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
30535         * gst/gstutils.h:
30536
30537 2005-04-24  David Schleef  <ds@schleef.org>
30538
30539         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
30540         make the regressions tests work.  Remove some code that is no
30541         longer true.
30542         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
30543         Disable warning for pads without templates.
30544
30545 2005-04-24  David Schleef  <ds@schleef.org>
30546
30547         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
30548         functions that handle filtered links.
30549         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
30550         removed functions.
30551         * gst/gstutils.c: Fix/remove utility functions that handle
30552         filtered caps.
30553         * gst/gstutils.h:
30554         * gst/gstvalue.c: Add serialization/deserialization of caps
30555         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
30556         requires fixing so that the filter caps notation creates
30557         a capsfilter element and sets the filter_caps property.  I
30558         think everyone probably wants to keep the shorthand notation.
30559         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
30560         * docs/gst/tmpl/gstpad.sgml:
30561
30562         * gst/elements/gstelements.c: Register capsfilter element.
30563         * gst/Makefile.am: fix spacing
30564         * docs/random/ds/0.9-suggested-changes: random
30565
30566 2005-04-23  David Schleef  <ds@schleef.org>
30567
30568         * gst/elements/Makefile.am:
30569         * gst/elements/gstcapsfilter.c: New element that acts like an
30570         identity, but filters caps.  Will eventually replace filtered
30571         caps in pad linking.
30572         * gst/gstutils.c: (gst_element_create_all_pads): New function
30573         to create all the ALWAYS pads that are registered with an
30574         element class.  This functionality should eventually be
30575         merged in with GstElement initialization.
30576         * gst/gstutils.h:
30577         * testsuite/trigger/README: part of trigger test code that should
30578         have been checked in a long time ago.
30579
30580 2005-04-23  David Schleef  <ds@schleef.org>
30581
30582         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
30583         needed with new versions of libtool (nobody will confirm this),
30584         and hard to carry around.
30585         * gst/autoplug/Makefile.am:
30586         * gst/base/Makefile.am:
30587         * gst/elements/Makefile.am:
30588         * gst/indexers/Makefile.am:
30589         * gst/schedulers/Makefile.am:
30590         * libs/gst/bytestream/Makefile.am:
30591         * libs/gst/control/Makefile.am:
30592         * libs/gst/dataprotocol/Makefile.am:
30593         * libs/gst/getbits/Makefile.am:
30594
30595 2005-04-21  Wim Taymans  <wim@fluendo.com>
30596
30597         * docs/design/draft-push-pull.txt:
30598         * docs/design/part-MT-refcounting.txt:
30599         * docs/design/part-TODO.txt:
30600         * docs/design/part-caps.txt:
30601         * docs/design/part-events.txt:
30602         * docs/design/part-gstbus.txt:
30603         * docs/design/part-gstpipeline.txt:
30604         * docs/design/part-messages.txt:
30605         * docs/design/part-push-pull.txt:
30606         * docs/design/part-query.txt:
30607         Some more docs.
30608
30609 2005-04-21  Wim Taymans  <wim@fluendo.com>
30610
30611         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
30612         (gst_message_new), (gst_message_new_error),
30613         (gst_message_new_warning), (gst_message_new_tag),
30614         (gst_message_new_state_changed), (gst_message_new_application),
30615         (gst_message_get_structure):
30616         * gst/gstmessage.h:
30617         * gst/gststructure.c: (gst_structure_set_parent_refcount),
30618         (gst_structure_copy_conditional):
30619         Use parent refcount in GstMessage to ensure GstStructure
30620         consistency.
30621         Cleaned up headers a bit.
30622         
30623
30624 2005-04-20  Wim Taymans  <wim@fluendo.com>
30625
30626         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30627         (gst_basesink_pad_getcaps), (gst_basesink_init),
30628         (gst_basesink_chain_unlocked):
30629         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
30630         (gst_type_find_helper):
30631         * gst/elements/gsttypefindelement.c:
30632         (gst_type_find_element_have_type), (gst_type_find_element_init),
30633         (stop_typefinding), (gst_type_find_element_handle_event),
30634         (find_suggest), (gst_type_find_element_chain),
30635         (gst_type_find_element_checkgetrange),
30636         (gst_type_find_element_getrange), (do_typefind),
30637         (gst_type_find_element_activate):
30638         * gst/gstbuffer.c: (_gst_buffer_sub_free),
30639         (gst_buffer_default_free), (gst_buffer_default_copy),
30640         (gst_buffer_set_caps):
30641         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
30642         (gst_caps_replace):
30643         * gst/gstmessage.c: (gst_message_new),
30644         (gst_message_new_state_changed):
30645         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30646         (gst_pad_set_checkgetrange_function),
30647         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
30648         (gst_pad_set_caps), (gst_pad_check_pull_range),
30649         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
30650         * gst/gstpad.h:
30651         * gst/gsttypefind.c: (gst_type_find_register):
30652         Make gst_caps_replace() work like other _replace() functions.
30653         Use _caps_replace() where possible.
30654         Make sure _message_new() initialises its field.
30655         Add gst_static_pad_template_get_caps()
30656
30657
30658 2005-04-18  Andy Wingo  <wingo@pobox.com>
30659
30660         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
30661         on the peer, not the pad. I think that was a typo. Pass an extra
30662         arg to see if random access is possible. Activate the pads as
30663         PULL_RANGE if possible.
30664
30665         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
30666
30667         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
30668         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
30669         to PROP_....
30670
30671 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30672
30673         * docs/faq/using.xml:
30674           Add note on gstreamer-properties (#154996).
30675
30676 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30677
30678         * docs/random/bbb/optional-properties:
30679           Some analysis on optional properties.
30680
30681 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
30682
30683         * docs/gst/tmpl/gstelementfactory.sgml:
30684         * gst/gstelement.h:
30685         * gst/gstelementfactory.c: (gst_element_factory_init),
30686         (gst_element_factory_cleanup), (gst_element_register),
30687         (__gst_element_factory_add_static_pad_template),
30688         (gst_element_factory_get_static_pad_templates),
30689         (gst_element_factory_can_src_caps),
30690         (gst_element_factory_can_sink_caps):
30691         * gst/registries/Makefile.am:
30692         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
30693         (gst_xml_registry_class_init), (gst_xml_registry_init),
30694         (gst_xml_registry_new), (gst_xml_registry_set_property),
30695         (gst_xml_registry_get_property), (get_time), (make_dir),
30696         (gst_xml_registry_get_perms_func),
30697         (plugin_times_older_than_recurse), (plugin_times_older_than),
30698         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
30699         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
30700         (add_to_char_array), (read_string), (read_uint), (read_enum),
30701         (load_pad_template), (load_feature), (load_plugin), (load_paths),
30702         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
30703         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
30704         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
30705         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
30706         (gst_xml_registry_rebuild):
30707         * gst/registries/gstlibxmlregistry.h:
30708         * tools/gst-compprep.c: (main):
30709         * tools/gst-inspect.c: (print_pad_templates_info):
30710         * tools/gst-xmlinspect.c: (print_element_info):
30711           Use libxml2 for registry parsing, use staticpadtemplates in
30712           elementfactories. Makes gst_init() +/- 10x faster.
30713
30714 2005-04-12  Wim Taymans  <wim@fluendo.com>
30715
30716         * gst/base/Makefile.am:
30717         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30718         (gst_basesink_pad_getcaps), (gst_basesink_init),
30719         (gst_basesink_event), (gst_basesink_change_state):
30720         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30721         (gst_basesrc_init), (gst_basesrc_query),
30722         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
30723         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
30724         (gst_basesrc_check_get_range), (gst_basesrc_loop),
30725         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
30726         (gst_basesrc_stop), (gst_basesrc_activate),
30727         (gst_basesrc_change_state):
30728         * gst/base/gsttypefindhelper.c: (helper_find_peek),
30729         (helper_find_suggest), (gst_type_find_helper):
30730         * gst/base/gsttypefindhelper.h:
30731         * gst/elements/Makefile.am:
30732         * gst/elements/gstelements.c:
30733         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
30734         (gst_fakesink_get_times), (gst_fakesink_event),
30735         (gst_fakesink_preroll), (gst_fakesink_render):
30736         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
30737         (gst_fakesrc_init), (gst_fakesrc_event_handler),
30738         (gst_fakesrc_get_property), (gst_fakesrc_create),
30739         (gst_fakesrc_start), (gst_fakesrc_stop):
30740         * gst/elements/gstfakesrc.h:
30741         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
30742         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
30743         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
30744         (gst_filesrc_create_read), (gst_filesrc_create),
30745         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
30746         (gst_filesrc_start):
30747         * gst/elements/gsttypefindelement.c:
30748         (gst_type_find_element_have_type), (gst_type_find_element_init),
30749         (start_typefinding), (stop_typefinding), (push_buffer_store),
30750         (gst_type_find_element_handle_event),
30751         (gst_type_find_element_chain),
30752         (gst_type_find_element_checkgetrange),
30753         (gst_type_find_element_getrange), (do_typefind),
30754         (gst_type_find_element_activate),
30755         (gst_type_find_element_change_state):
30756         * gst/elements/gsttypefindelement.h:
30757         * gst/gstpipeline.c: (pipeline_bus_handler):
30758         Added typefind helper.
30759         Small preroll fix in the base sink.
30760         Disable typefind code in basesrc.
30761         Crude port of typefindelement.
30762         Fakesrc cleanups.
30763
30764
30765 2005-04-11  Wim Taymans  <wim@fluendo.com>
30766
30767         * check/gst/gstbus.c: (gstbus_suite):
30768         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
30769         * check/gstcheck.h:
30770           Fix up the timeout so that the test does not fail.
30771
30772 2005-04-06  Wim Taymans  <wim@fluendo.com>
30773
30774         * gst/base/README:
30775         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30776         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
30777         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
30778         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
30779         (gst_basesrc_check_get_range), (gst_basesrc_loop),
30780         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
30781         (gst_basesrc_stop), (gst_basesrc_activate),
30782         (gst_basesrc_change_state), (basesrc_find_peek),
30783         (basesrc_find_suggest), (gst_basesrc_type_find):
30784         * gst/base/gstbasesrc.h:
30785         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
30786         (gst_filesrc_class_init), (gst_filesrc_init),
30787         (gst_filesrc_finalize), (gst_filesrc_set_location),
30788         (gst_filesrc_set_property), (gst_filesrc_get_property),
30789         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
30790         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
30791         (gst_filesrc_create_read), (gst_filesrc_create),
30792         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
30793         * gst/elements/gstfilesrc.h:
30794         * gst/gstelement.c: (gst_element_get_state_func),
30795         (gst_element_lost_state), (gst_element_pads_activate):
30796         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30797         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
30798         (gst_pad_pull_range):
30799         * gst/gstpad.h:
30800         More work on the generic source base class, implement seeking,
30801         query.
30802         Make filesrc extend the base source class.
30803         Added gst_pad_set_checkgetrange_function to GstPad.
30804
30805 2005-04-06  Andy Wingo  <wingo@pobox.com>
30806
30807         * pkgconfig/gstreamer-base.pc.in:
30808         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
30809
30810         * pkgconfig/Makefile.am:
30811         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
30812
30813 2005-04-04  Wim Taymans  <wim@fluendo.com>
30814
30815         * gst/base/Makefile.am:
30816         * gst/base/README:
30817         * gst/base/gstbasesink.c: (gst_basesink_base_init),
30818         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
30819         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
30820         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
30821         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
30822         (gst_basesrc_base_init), (gst_basesrc_class_init),
30823         (gst_basesrc_init), (gst_basesrc_get_formats),
30824         (gst_basesrc_get_query_types), (gst_basesrc_query),
30825         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
30826         (gst_basesrc_set_property), (gst_basesrc_get_property),
30827         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
30828         (gst_basesrc_loop), (gst_basesrc_activate),
30829         (gst_basesrc_change_state):
30830         * gst/base/gstbasesrc.h:
30831         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
30832         (gst_fakesrc_class_init), (gst_fakesrc_init),
30833         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
30834         (gst_fakesrc_get_property), (gst_fakesrc_create):
30835         * gst/elements/gstfakesrc.h:
30836         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
30837         (gst_filesrc_open_file), (gst_filesrc_loop),
30838         (gst_filesrc_activate), (filesrc_find_peek),
30839         (gst_filesrc_type_find):
30840         Made base source class, make fakesrc extend it.
30841         Add comments to basesink class.
30842         Some filesrc cleanup.
30843
30844 2005-03-31  David Schleef  <ds@schleef.org>
30845
30846         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
30847         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
30848         expected to link against libgstreamer.
30849         * gst/base/Makefile.am: link against libgstreamer
30850         * gst/elements/Makefile.am: same
30851
30852 2005-03-31  Andy Wingo  <wingo@pobox.com>
30853
30854         * tests/instantiate/Makefile.am:
30855         * tests/instantiate/caps.c: Add test to test speed of caps copy
30856         and free.
30857
30858         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
30859         GMemChunk to be fair.
30860
30861         * gst/gsttrashstack.h: Remove warning about using the fallback
30862         trash stack implementation, it's still faster than malloc.
30863
30864 2005-03-30  Andy Wingo  <wingo@pobox.com>
30865
30866         * tests/complexity.c: Add a copyright.
30867
30868 2005-03-31  Wim Taymans  <wim@fluendo.com>
30869
30870         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
30871         (gst_base_transform_class_init), (gst_base_transform_init),
30872         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
30873         (gst_base_transform_get_property),
30874         (gst_base_transform_sink_activate),
30875         (gst_base_transform_src_activate),
30876         (gst_base_transform_change_state):
30877         * gst/base/gstbasetransform.h:
30878         * gst/elements/gstidentity.c: (gst_identity_class_init),
30879         (gst_identity_event), (gst_identity_check_perfect),
30880         (gst_identity_transform), (gst_identity_start),
30881         (gst_identity_stop):
30882         Added start/stop methods to transform base class so subclasses 
30883         don't need to deal with state changes even.
30884
30885 2005-03-31  Wim Taymans  <wim@fluendo.com>
30886
30887         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
30888         (gst_event_new_discontinuous), (gst_event_discont_get_value):
30889         * gst/gstevent.h:
30890         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30891         (gst_pad_pull_range):
30892         Added rate to the discont event to prepare for variable speed
30893         and reverse playback.
30894
30895 2005-03-29  David Schleef  <ds@schleef.org>
30896
30897         * configure.ac:
30898         * testsuite/trigger/Makefile.am:
30899         * testsuite/trigger/trigger.c: A little example program to show
30900         how trigger-based elements can work.
30901
30902 2005-03-29  Wim Taymans  <wim@fluendo.com>
30903
30904         * gst/base/Makefile.am:
30905         * gst/base/README:
30906         * gst/base/gstbasesink.c: (gst_basesink_get_type),
30907         (gst_basesink_base_init), (gst_basesink_class_init),
30908         (gst_basesink_pad_getcaps), (gst_basesink_init),
30909         (gst_basesink_activate), (gst_basesink_change_state):
30910         * gst/base/gstbasesink.h:
30911         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
30912         (gst_base_transform_base_init), (gst_base_transform_finalize),
30913         (gst_base_transform_class_init), (gst_base_transform_init),
30914         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
30915         (gst_base_transform_event), (gst_base_transform_getrange),
30916         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
30917         (gst_base_transform_set_property),
30918         (gst_base_transform_get_property),
30919         (gst_base_transform_sink_activate),
30920         (gst_base_transform_src_activate),
30921         (gst_base_transform_change_state):
30922         * gst/base/gstbasetransform.h:
30923         * gst/elements/gstidentity.c: (gst_identity_finalize),
30924         (gst_identity_class_init), (gst_identity_init),
30925         (gst_identity_event), (gst_identity_check_perfect),
30926         (gst_identity_transform), (gst_identity_set_property),
30927         (gst_identity_get_property), (gst_identity_change_state):
30928         * gst/elements/gstidentity.h:
30929         * gst/gstelement.c: (gst_element_get_state_func),
30930         (gst_element_lost_state), (gst_element_pads_activate):
30931         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
30932         (gst_pad_check_pull_range), (gst_pad_pull_range):
30933         * gst/gstpad.h:
30934         Simplify pad activation.
30935         Added function to check if pull_range can be performed.
30936         Error out when pulling inactive or flushing pads.
30937         Removed const from refcounted types as it does not make sense.
30938         Simplify pad templates in basesink
30939         Added base class for simple 1-to-1 transforms.
30940         Make identity subclass the base transform.
30941
30942 2005-03-29  Andy Wingo  <wingo@pobox.com>
30943
30944         * docs/libs/gstreamer-libs-overrides.txt: 
30945         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
30946         really don't understand what's going on, but like whatever. I want
30947         green buildbot!
30948
30949         * docs/gst/Makefile.am:
30950         * docs/libs/Makefile.am: Dist the overrides files.
30951
30952         * check/Makefile.am (clean-local): Remove .libs directories.
30953
30954         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
30955         elements to EXTRA_DIST, so po/ files are happy.
30956
30957         * po/POTFILES.in: Er, remove it here.
30958
30959         * po/POTFILES: Remove gstspider.c.
30960
30961         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
30962
30963         * docs/libs/gstreamer-libs-docs.sgml: 
30964         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
30965         bytestream.
30966
30967         * tests/complexity.c (main): Set the length of the preroll queue
30968         on the sinks to prevent a lockup.
30969
30970         * libs/gst/dataprotocol/Makefile.am: 
30971         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
30972         the same as the one in check/gst-libs/gdp.c.
30973
30974         * po/, docs/gst/: Commit automatic changes to docs and po files.
30975
30976         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
30977         the versioned libgstbase.
30978
30979         * check/Makefile.am: Depend on an unversioned gst-register, seems
30980         to make autoconf happier.
30981
30982         * gst/base/Makefile.am: Make libgstbase a versioned lib.
30983
30984 2005-03-28  Wim Taymans  <wim@fluendo.com>
30985
30986         * configure.ac:
30987         * docs/design/part-gstelement.txt:
30988         * docs/design/part-negotiation.txt:
30989         * docs/design/part-preroll.txt:
30990         * docs/design/part-scheduling.txt:
30991         * docs/design/part-states.txt:
30992         * gst/Makefile.am:
30993         * gst/base/Makefile.am:
30994         * gst/base/README:
30995         * gst/base/gstbasesink.c: (gst_basesink_get_template),
30996         (gst_basesink_base_init), (gst_basesink_class_init),
30997         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
30998         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
30999         (gst_basesink_set_pad_functions),
31000         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
31001         (gst_basesink_set_property), (gst_basesink_get_property),
31002         (gst_base_sink_get_template), (gst_base_sink_get_caps),
31003         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
31004         (gst_basesink_preroll_queue_push),
31005         (gst_basesink_preroll_queue_empty),
31006         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
31007         (gst_basesink_event), (gst_basesink_get_times),
31008         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
31009         (gst_basesink_chain_unlocked), (gst_basesink_chain),
31010         (gst_basesink_loop), (gst_basesink_activate),
31011         (gst_basesink_change_state):
31012         * gst/base/gstbasesink.h:
31013         * gst/elements/Makefile.am:
31014         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
31015         (gst_fakesink_class_init), (gst_fakesink_init),
31016         (gst_fakesink_set_property), (gst_fakesink_get_property),
31017         (gst_fakesink_get_times), (gst_fakesink_event),
31018         (gst_fakesink_preroll), (gst_fakesink_render),
31019         (gst_fakesink_change_state):
31020         * gst/elements/gstfakesink.h:
31021         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31022         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
31023         * gst/gstelement.c: (gst_element_add_pad),
31024         (gst_element_get_state_func), (gst_element_abort_state),
31025         (gst_element_commit_state), (gst_element_lost_state),
31026         (gst_element_set_state), (gst_element_pads_activate):
31027         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
31028         * gst/gstpipeline.c: (gst_pipeline_send_event),
31029         (gst_pipeline_change_state):
31030         Added state change code.
31031         Added/updated docs.
31032         Added sink base class, make fakesink extend the base class.
31033         Small cleanups in GstPipeline.
31034
31035 2005-03-26  David Schleef  <ds@schleef.org>
31036
31037         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
31038         is broken and should be implemented in a different library.
31039         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
31040         * gst/gst.h: remove gstcpu.h
31041         * gst/gstcpu.c: remove
31042         * gst/gstcpu.h: remove
31043         * gst/Makefile.am.future: Remove this file.  It's ancient.
31044
31045 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31046
31047         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
31048         (gst_bin_send_event):
31049           Add default event/set_manager handlers. The set_manager handler
31050           takes care that the manager is distributed over kids that were
31051           already in the bin before the manager was set. The event handler
31052           is a utility virtual function that sends the event over all sinks,
31053           so that gst_element_send_event (bin, event); has the expected
31054           behaviour.
31055         * gst/gstpad.c: (gst_pad_event_default):
31056           Re-install default event handling for discontinuities, so that
31057           seeking works without requiring hacks in applications or extra
31058           code in sinks.
31059         * gst/gstpipeline.c: (gst_pipeline_class_init),
31060         (gst_pipeline_send_event):
31061           Half hack, half utility: set a pipeline to PAUSED for seek events,
31062           since that is the only way we can guarantee a/v sync. Means that
31063           you can do gst_element_seek (pipeline, method, pos); on a pipeline
31064           and it "just works".
31065
31066 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
31067
31068         * gst/gstpipeline.c: (gst_pipeline_use_clock):
31069           Lock/unlock mismatch.
31070
31071 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
31072
31073         * docs/faq/gst-uninstalled:
31074           add gst-plugins-base
31075         * docs/gst/Makefile.am:
31076           don't error out until docs are fixed
31077         * docs/gst/gstreamer.types:
31078           remove thread
31079
31080 2005-03-22  Wim Taymans  <wim@fluendo.com>
31081
31082         * check/Makefile.am:
31083         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
31084         * gst/gststructure.c: (gst_structure_set_valist),
31085         (gst_structure_copy_conditional):
31086         Activated more tests.
31087         Added message test.
31088         Added G_TYPE_POINTER to GstStructure.
31089         
31090
31091 2005-03-22  Wim Taymans  <wim@fluendo.com>
31092
31093         * docs/design/part-TODO.txt:
31094         * docs/design/part-events.txt:
31095         * docs/design/part-gstbin.txt:
31096         * docs/design/part-gstbus.txt:
31097         * docs/design/part-gstpipeline.txt:
31098         * docs/design/part-messages.txt:
31099         * gst/gstbus.c:
31100         * gst/gstmessage.c:
31101         Docs updates
31102
31103 2005-03-21  Wim Taymans  <wim@fluendo.com>
31104
31105         * gst/gstbus.c: (gst_bus_post):
31106         Fix copy-and-paste error.
31107
31108 2005-03-21  Wim Taymans  <wim@fluendo.com>
31109
31110         * check/Makefile.am:
31111         * gst/Makefile.am:
31112         * gst/elements/Makefile.am:
31113         * gst/elements/gstelements.c:
31114         * gst/elements/gstfakesink.c: (gst_fakesink_init),
31115         (gst_fakesink_event), (gst_fakesink_chain):
31116         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
31117         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
31118         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
31119         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
31120         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
31121         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
31122         (gst_fakesrc_loop), (gst_fakesrc_activate),
31123         (gst_fakesrc_change_state):
31124         * gst/elements/gstfakesrc.h:
31125         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
31126         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
31127         (gst_filesrc_open_file), (gst_filesrc_loop),
31128         (gst_filesrc_activate), (gst_filesrc_change_state),
31129         (filesrc_find_peek), (filesrc_find_suggest),
31130         (gst_filesrc_type_find):
31131         * gst/elements/gstidentity.c: (gst_identity_finalize),
31132         (gst_identity_class_init), (gst_identity_init),
31133         (gst_identity_proxy_getcaps), (identity_queue_push),
31134         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
31135         (gst_identity_getrange), (gst_identity_chain),
31136         (gst_identity_sink_loop), (gst_identity_src_loop),
31137         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
31138         (gst_identity_set_property), (gst_identity_get_property),
31139         (gst_identity_change_state):
31140         * gst/elements/gstidentity.h:
31141         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
31142         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
31143         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
31144         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
31145         (gst_tee_sink_activate):
31146         * gst/elements/gsttee.h:
31147         * gst/gst.c: (gst_register_core_elements), (init_post):
31148         * gst/gst.h:
31149         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
31150         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
31151         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
31152         (gst_bin_change_state):
31153         * gst/gstbin.h:
31154         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
31155         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
31156         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
31157         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
31158         (gst_bus_set_sync_handler), (gst_bus_create_watch),
31159         (bus_watch_callback), (bus_watch_destroy),
31160         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
31161         (poll_timeout), (gst_bus_poll):
31162         * gst/gstbus.h:
31163         * gst/gstcaps.h:
31164         * gst/gstdata.h:
31165         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31166         (gst_element_post_message), (gst_element_message_full),
31167         (gst_element_get_state_func), (gst_element_get_state),
31168         (gst_element_abort_state), (gst_element_commit_state),
31169         (gst_element_lost_state), (gst_element_set_state),
31170         (gst_element_pads_activate), (gst_element_change_state),
31171         (gst_element_dispose), (gst_element_set_manager_func),
31172         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
31173         (gst_element_set_manager), (gst_element_get_manager),
31174         (gst_element_set_bus), (gst_element_get_bus),
31175         (gst_element_set_scheduler), (gst_element_get_scheduler):
31176         * gst/gstelement.h:
31177         * gst/gstevent.c: (gst_event_new_segment_seek),
31178         (gst_event_new_flush):
31179         * gst/gstevent.h:
31180         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
31181         (_gst_message_free), (gst_message_get_type), (gst_message_new),
31182         (gst_message_new_eos), (gst_message_new_error),
31183         (gst_message_new_warning), (gst_message_new_tag),
31184         (gst_message_new_state_changed), (gst_message_new_application),
31185         (gst_message_get_structure), (gst_message_parse_tag),
31186         (gst_message_parse_state_changed), (gst_message_parse_error),
31187         (gst_message_parse_warning):
31188         * gst/gstmessage.h:
31189         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
31190         (gst_real_pad_set_property), (gst_pad_set_active),
31191         (gst_pad_is_active), (gst_pad_set_blocked_async),
31192         (gst_pad_set_blocked), (gst_pad_is_blocked),
31193         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
31194         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
31195         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
31196         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
31197         (gst_pad_link_filtered), (gst_pad_relink_filtered),
31198         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
31199         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
31200         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
31201         (gst_pad_set_caps), (gst_pad_configure_sink),
31202         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
31203         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
31204         (gst_real_pad_dispose), (gst_real_pad_finalize),
31205         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
31206         (gst_pad_event_default_dispatch), (gst_pad_event_default),
31207         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
31208         * gst/gstpad.h:
31209         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
31210         (pipeline_bus_handler), (gst_pipeline_change_state),
31211         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
31212         * gst/gstpipeline.h:
31213         * gst/gstprobe.h:
31214         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
31215         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
31216         (gst_queue_link_src), (gst_queue_bufferalloc),
31217         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
31218         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
31219         (gst_queue_loop), (gst_queue_handle_src_event),
31220         (gst_queue_handle_src_query), (gst_queue_src_activate),
31221         (gst_queue_change_state):
31222         * gst/gstqueue.h:
31223         * gst/gstscheduler.c: (gst_scheduler_init),
31224         (gst_scheduler_dispose), (gst_scheduler_create_task),
31225         (gst_scheduler_factory_create):
31226         * gst/gstscheduler.h:
31227         * gst/gststructure.c: (gst_structure_get_type),
31228         (gst_structure_copy_conditional):
31229         * gst/gststructure.h:
31230         * gst/gsttaginterface.h:
31231         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
31232         (gst_task_init), (gst_task_dispose), (gst_task_create),
31233         (gst_task_get_state), (gst_task_start), (gst_task_stop),
31234         (gst_task_pause):
31235         * gst/gsttask.h:
31236         * gst/gstthread.c:
31237         * gst/gstthread.h:
31238         * gst/gsttypes.h:
31239         * gst/schedulers/Makefile.am:
31240         * gst/schedulers/cothreads_compat.h:
31241         * gst/schedulers/entryscheduler.c:
31242         * gst/schedulers/faircothreads.c:
31243         * gst/schedulers/faircothreads.h:
31244         * gst/schedulers/fairscheduler.c:
31245         * gst/schedulers/gstbasicscheduler.c:
31246         * gst/schedulers/gstoptimalscheduler.c:
31247         * gst/schedulers/gthread-cothreads.h:
31248         * gst/schedulers/threadscheduler.c:
31249         (gst_thread_scheduler_task_get_type),
31250         (gst_thread_scheduler_task_class_init),
31251         (gst_thread_scheduler_task_init),
31252         (gst_thread_scheduler_task_start),
31253         (gst_thread_scheduler_task_stop),
31254         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
31255         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
31256         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
31257         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
31258         (plugin_init):
31259         * libs/gst/Makefile.am:
31260         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
31261         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
31262         (gst_file_pad_parent_set):
31263         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
31264         (gst_dp_event_from_packet):
31265         * tests/complexity.c: (main):
31266         * tests/mass_elements.c: (main):
31267         * testsuite/states/locked.c: (message_received), (main):
31268         * testsuite/states/parent.c: (main):
31269         * tools/gst-inspect.c: (print_element_flag_info),
31270         (print_implementation_info), (print_pad_info):
31271         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
31272         (main):
31273         * tools/gst-md5sum.c: (event_loop), (main):
31274         * tools/gst-typefind.c: (main):
31275         * tools/gst-xmlinspect.c: (print_element_info):
31276         Next big merge.
31277         Added GstBus for mainloop integration.
31278         Added GstMessage for sending notifications on the bus.
31279         Added GstTask as an abstraction for pipeline entry points.
31280         Removed GstThread.
31281         Removed Schedulers.
31282         Simplified GstQueue for multithreaded core.
31283         Made _link threadsafe, removed old capsnego.
31284         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
31285         Added pad blocking functions.
31286         Reworked scheduling functions in GstPad to prepare for
31287         scheduling updates soon.
31288         Moved events out of data stream.
31289         Simplified GstEvent types.
31290         Added return values to push/pull.
31291         Removed clocking from GstElement.
31292         Added prototypes for state change function for next merge.
31293         Removed iterate from bins and state change management.
31294         Fixed some elements, disabled others for now.
31295         Fixed -inspect and -launch.
31296         Added check for GstBus.
31297
31298 2005-03-10  Wim Taymans  <wim@fluendo.com>
31299
31300         * docs/design/part-MT-refcounting.txt:
31301         * docs/design/part-clocks.txt:
31302         * docs/design/part-gstelement.txt:
31303         * docs/design/part-gstobject.txt:
31304         * docs/design/part-standards.txt:
31305         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31306         (gst_bin_remove_func), (gst_bin_remove):
31307         * gst/gstbin.h:
31308         * gst/gstbuffer.c:
31309         * gst/gstcaps.h:
31310         * testsuite/clock/clock1.c: (main):
31311         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
31312         (main):
31313         * testsuite/dlopen/loadgst.c: (do_test):
31314         * testsuite/refcounting/bin.c: (add_remove_test1),
31315         (add_remove_test2), (main):
31316         * testsuite/refcounting/element.c: (main):
31317         * testsuite/refcounting/element_pad.c: (main):
31318         * testsuite/refcounting/pad.c: (main):
31319         * tools/gst-launch.c: (sigint_handler_sighandler):
31320         * tools/gst-typefind.c: (main):
31321         Doc updates.
31322         Added doc about clock.
31323         removed gst_bin_iterate_recurse_up(), marked methods
31324         for removal.
31325         Fix more testsuites.
31326
31327 2005-03-09  Wim Taymans  <wim@fluendo.com>
31328
31329         * gst/gstpad.c: (gst_pad_get_direction),
31330         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
31331         (gst_pad_collect_valist):
31332         * testsuite/bins/interface.c: (main):
31333         * testsuite/caps/audioscale.c: (test_caps):
31334         * testsuite/caps/caps.c: (test1), (test2), (test3):
31335         * testsuite/caps/deserialize.c: (main):
31336         * testsuite/caps/enumcaps.c: (main):
31337         * testsuite/caps/filtercaps.c: (main):
31338         * testsuite/caps/intersect2.c: (main):
31339         * testsuite/caps/random.c: (main):
31340         * testsuite/caps/renegotiate.c: (my_fixate), (main):
31341         * testsuite/caps/sets.c: (check_caps):
31342         * testsuite/caps/simplify.c: (check_caps), (main):
31343         * testsuite/caps/subtract.c: (check_caps):
31344         Fix _pad_get_direction wrt ghostpads.
31345         Fix caps testsuite.
31346
31347 2005-03-09  Wim Taymans  <wim@fluendo.com>
31348
31349         * check/Makefile.am:
31350         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
31351         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
31352         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
31353         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
31354         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
31355         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
31356         (gst_bin_remove), (gst_bin_iterate_recurse_up),
31357         (bin_element_is_sink), (gst_bin_iterate_sinks),
31358         (gst_bin_iterate_all_by_interface):
31359         * gst/gstbin.h:
31360         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
31361         (gst_element_change_state), (gst_element_dispose),
31362         (gst_element_finalize), (gst_element_set_loop_function):
31363         * gst/gstelement.h:
31364         * gst/gstiterator.c: (find_custom_fold_func):
31365         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31366         (gst_pad_collectv), (gst_pad_collect_valist),
31367         (gst_pad_template_new):
31368         * gst/gstpipeline.c: (gst_pipeline_class_init),
31369         (gst_pipeline_dispose), (gst_pipeline_set_property),
31370         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
31371         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
31372         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
31373         * gst/gstutils.h:
31374         * gst/schedulers/entryscheduler.c:
31375         * gst/schedulers/gstbasicscheduler.c:
31376         (gst_basic_scheduler_cothreaded_chain),
31377         (gst_basic_scheduler_chain_add_element):
31378         * testsuite/bins/interface.c: (main):
31379         Added GstBin test.
31380         Added GstSystemClock test.
31381         Implemented clock distribution code in GstBin.
31382         Implemented iterate sinks method for future use.
31383         Rearranged gstelement.h
31384         Fix GstIterator comparison bug.
31385         Moved some code to GstPipeline, mostly clocking related.
31386
31387 2005-03-09  Wim Taymans  <wim@fluendo.com>
31388
31389         * configure.ac:
31390         * gst/gst_private.h:
31391         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31392         (gst_bin_remove_func), (gst_bin_remove),
31393         (gst_bin_get_by_name_recurse_up):
31394         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
31395         (gst_clock_id_compare_func), (gst_clock_id_wait),
31396         (gst_clock_id_wait_async), (gst_clock_init),
31397         (gst_clock_adjust_unlocked), (gst_clock_get_time):
31398         * gst/gstelement.h:
31399         * gst/gstinfo.c: (_gst_debug_init):
31400         * gst/gstobject.h:
31401         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
31402         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
31403         * gst/gstpad.h:
31404         Bump version number, we're now 0.9.0
31405         Add future debugging category.
31406         Fix NULL _unref() in _get_by_name_recurse_up
31407         Rearrange gstpad.h.
31408         Update some docs.
31409
31410 2005-03-08  Wim Taymans  <wim@fluendo.com>
31411
31412         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
31413         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
31414         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
31415         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
31416         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
31417         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
31418         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
31419         * gst/elements/gstidentity.c: (gst_identity_class_init):
31420         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
31421         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
31422         * gst/elements/gstshaper.c: (gst_shaper_class_init):
31423         * gst/elements/gststatistics.c: (gst_statistics_class_init):
31424         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
31425         (gst_tee_link):
31426         * gst/gstelement.c: (gst_element_class_init),
31427         (gst_element_base_class_init), (gst_element_init),
31428         (gst_element_get_random_pad), (gst_element_wait_state_change),
31429         (gst_element_change_state), (gst_element_dispose),
31430         (gst_element_finalize), (gst_element_set_loop_function):
31431         * gst/gstelement.h:
31432         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
31433         * gst/gstthread.c: (gst_thread_class_init),
31434         (gst_thread_release_children_locks), (gst_thread_change_state):
31435         * gst/schedulers/gstbasicscheduler.c:
31436         (gst_basic_scheduler_loopfunc_wrapper),
31437         (gst_basic_scheduler_chain_wrapper),
31438         (gst_basic_scheduler_src_wrapper),
31439         (gst_basic_scheduler_remove_element):
31440         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
31441         Remove threadsafe properties. Fix elements because GObject
31442         complains when installing a property before declaring a
31443         set/get_property handler.
31444         Rearrange gstelement.h file, use STATE macros for state locks.
31445         Free mutexes in the finalize method instead of dispose.
31446
31447 2005-03-08  Wim Taymans  <wim@fluendo.com>
31448
31449         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
31450         * gst/gstthread.c: (gst_thread_release_children_locks):
31451         Added parentage check.
31452         Fix build og GstThread again.
31453
31454 2005-03-08  Wim Taymans  <wim@fluendo.com>
31455
31456         * docs/design/part-MT-refcounting.txt:
31457         * docs/design/part-conventions.txt:
31458         * docs/design/part-gstobject.txt:
31459         * docs/design/part-relations.txt:
31460         * docs/design/part-standards.txt:
31461         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
31462         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
31463         (gst_bin_get_by_name), (gst_bin_get_by_interface),
31464         (gst_bin_iterate_all_by_interface):
31465         * gst/gstbuffer.h:
31466         * gst/gstclock.h:
31467         * gst/gstelement.c: (gst_element_class_init),
31468         (gst_element_change_state), (gst_element_set_loop_function):
31469         * gst/gstelement.h:
31470         * gst/gstiterator.c:
31471         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
31472         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
31473         (gst_object_dispatch_properties_changed), (gst_object_set_name),
31474         (gst_object_set_parent), (gst_object_unparent),
31475         (gst_object_check_uniqueness):
31476         * gst/gstobject.h:
31477         Docs updates, clean up some headers.
31478
31479 2005-03-07  Wim Taymans  <wim@fluendo.com>
31480
31481         * check/.cvsignore:
31482         * check/Makefile.am:
31483         * check/gst-libs/.cvsignore:
31484         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
31485         * check/gst/.cvsignore:
31486         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
31487         (START_TEST), (gstbus_suite), (main):
31488         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
31489         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
31490         (gst_data_suite), (main):
31491         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
31492         (add_fold_func), (gstiterator_suite), (main):
31493         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
31494         (thread_name_object), (thread_name_object_default),
31495         (gst_object_name_compare), (gst_object_suite), (main):
31496         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
31497         (gst_pad_suite), (main):
31498         * check/gstcheck.c: (gst_check_log_message_func),
31499         (gst_check_log_critical_func), (gst_check_init):
31500         * check/gstcheck.h:
31501         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
31502         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
31503         Added checks.
31504
31505 2005-03-07  Wim Taymans  <wim@fluendo.com>
31506
31507         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
31508         (gst_list_iterator_next), (gst_list_iterator_resync),
31509         (gst_list_iterator_free), (gst_iterator_new_list),
31510         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
31511         (gst_iterator_free), (gst_iterator_push), (filter_next),
31512         (filter_resync), (filter_uninit), (filter_free),
31513         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
31514         (gst_iterator_foreach), (find_custom_fold_func),
31515         (gst_iterator_find_custom):
31516         * gst/gstiterator.h:
31517         Added missing files.
31518
31519 2005-03-07  Wim Taymans  <wim@fluendo.com>
31520
31521         * Makefile.am:
31522         * configure.ac:
31523         * docs/design/part-MT-refcounting.txt:
31524         * docs/design/part-conventions.txt:
31525         * docs/design/part-gstobject.txt:
31526         * docs/design/part-relations.txt:
31527         * examples/mixer/mixer.c: (main):
31528         * examples/thread/thread.c: (eos), (main):
31529         * gst/Makefile.am:
31530         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
31531         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
31532         (gst_spider_plug_from_srcpad):
31533         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
31534         (gst_spider_identity_change_state),
31535         (gst_spider_identity_sink_loop_type_finding):
31536         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
31537         * gst/elements/gstidentity.c: (gst_identity_init):
31538         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
31539         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
31540         * gst/elements/gsttypefindelement.c: (free_entry):
31541         * gst/gst.c:
31542         * gst/gst.h:
31543         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
31544         (gst_bin_set_clock_func), (gst_bin_auto_clock),
31545         (gst_bin_set_index), (gst_bin_set_element_sched),
31546         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
31547         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
31548         (gst_bin_iterate_elements), (iterate_child_recurse),
31549         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
31550         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
31551         (compare_interface), (gst_bin_get_by_interface),
31552         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
31553         * gst/gstbin.h:
31554         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
31555         (gst_buffer_default_free), (gst_buffer_default_copy),
31556         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
31557         (gst_buffer_create_sub):
31558         * gst/gstbuffer.h:
31559         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
31560         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
31561         (gst_caps_unref), (gst_static_caps_get),
31562         (gst_caps_remove_and_get_structure), (gst_caps_append),
31563         (gst_caps_append_structure), (gst_caps_remove_structure),
31564         (gst_caps_copy_nth), (gst_caps_set_simple),
31565         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
31566         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
31567         (gst_caps_structure_intersect_field), (gst_caps_intersect),
31568         (gst_caps_structure_subtract_field), (gst_caps_subtract),
31569         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
31570         (gst_caps_structure_figure_out_union),
31571         (gst_caps_switch_structures), (gst_caps_do_simplify),
31572         (gst_caps_replace), (gst_caps_from_string),
31573         (gst_caps_copy_conditional):
31574         * gst/gstcaps.h:
31575         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
31576         (_gst_clock_id_free), (gst_clock_id_unref),
31577         (gst_clock_id_compare_func), (gst_clock_id_wait),
31578         (gst_clock_id_wait_async), (gst_clock_class_init),
31579         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
31580         (gst_clock_get_time), (gst_clock_set_time_adjust),
31581         (gst_clock_set_property), (gst_clock_get_property):
31582         * gst/gstclock.h:
31583         * gst/gstcompat.h:
31584         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
31585         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
31586         * gst/gstdata.h:
31587         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
31588         (gst_element_requires_clock), (gst_element_provides_clock),
31589         (gst_element_set_clock), (gst_element_clock_wait),
31590         (gst_element_wait), (gst_element_set_time_delay),
31591         (gst_element_is_indexable), (gst_element_add_pad),
31592         (gst_element_add_ghost_pad), (gst_element_remove_pad),
31593         (pad_compare_name), (gst_element_get_static_pad),
31594         (gst_element_request_pad), (gst_element_get_request_pad),
31595         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
31596         (gst_element_class_get_pad_template_list),
31597         (gst_element_class_get_pad_template), (gst_element_error_func),
31598         (gst_element_get_random_pad), (gst_element_get_event_masks),
31599         (gst_element_send_event), (gst_element_seek),
31600         (gst_element_get_query_types), (gst_element_query),
31601         (gst_element_get_formats), (gst_element_convert),
31602         (gst_element_is_locked_state), (gst_element_set_locked_state),
31603         (gst_element_sync_state_with_parent), (gst_element_change_state),
31604         (gst_element_finalize), (gst_element_yield),
31605         (gst_element_interrupt), (gst_element_set_scheduler),
31606         (gst_element_get_scheduler), (gst_element_set_loop_function):
31607         * gst/gstelement.h:
31608         * gst/gstevent.h:
31609         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
31610         (gst_format_get_by_nick), (gst_format_get_details),
31611         (gst_format_iterate_definitions):
31612         * gst/gstformat.h:
31613         * gst/gstindex.c: (gst_index_gtype_resolver):
31614         * gst/gstinfo.c:
31615         * gst/gstinfo.h:
31616         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
31617         (gst_mem_chunk_free):
31618         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
31619         (gst_object_ref), (gst_object_unref), (gst_object_sink),
31620         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
31621         (gst_object_dispatch_properties_changed),
31622         (gst_object_set_name_default), (gst_object_set_name),
31623         (gst_object_get_name), (gst_object_set_name_prefix),
31624         (gst_object_get_name_prefix), (gst_object_set_parent),
31625         (gst_object_get_parent), (gst_object_unparent),
31626         (gst_object_check_uniqueness), (gst_object_save_thyself),
31627         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
31628         (gst_object_set_property), (gst_object_get_property),
31629         (gst_object_get_path_string):
31630         * gst/gstobject.h:
31631         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
31632         (gst_real_pad_init), (gst_real_pad_get_property),
31633         (gst_pad_custom_new), (gst_pad_get_direction),
31634         (gst_pad_set_active), (gst_pad_is_active),
31635         (gst_pad_set_event_function), (gst_pad_is_linked),
31636         (gst_pad_link_free), (gst_pad_link_intersect),
31637         (gst_pad_link_fixate), (gst_pad_set_caps),
31638         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
31639         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
31640         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
31641         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
31642         (gst_pad_get_caps), (gst_pad_peer_get_caps),
31643         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
31644         (gst_pad_realize), (gst_pad_get_allowed_caps),
31645         (gst_real_pad_dispose), (gst_real_pad_finalize),
31646         (gst_pad_collectv), (gst_pad_collect_valist),
31647         (gst_pad_template_dispose), (gst_pad_template_new),
31648         (gst_pad_get_internal_links):
31649         * gst/gstpad.h:
31650         * gst/gstpipeline.c: (gst_pipeline_dispose),
31651         (gst_pipeline_change_state):
31652         * gst/gstpipeline.h:
31653         * gst/gstplugin.c:
31654         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
31655         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
31656         * gst/gstpluginfeature.h:
31657         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
31658         * gst/gstquery.c: (_gst_query_type_initialize),
31659         (gst_query_type_register), (gst_query_type_get_by_nick),
31660         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
31661         * gst/gstquery.h:
31662         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
31663         * gst/gstscheduler.c: (gst_scheduler_add_element),
31664         (gst_scheduler_factory_create):
31665         * gst/gststructure.c: (gst_structure_set_parent_refcount),
31666         (gst_structure_free), (gst_structure_set_name),
31667         (gst_structure_id_set_value), (gst_structure_set_value),
31668         (gst_structure_set_valist), (gst_structure_remove_field),
31669         (gst_structure_remove_fields),
31670         (gst_structure_remove_fields_valist),
31671         (gst_structure_remove_all_fields), (gst_structure_foreach),
31672         (gst_structure_map_in_place),
31673         (gst_caps_structure_fixate_field_nearest_int),
31674         (gst_caps_structure_fixate_field_nearest_double):
31675         * gst/gststructure.h:
31676         * gst/gstsystemclock.c: (gst_system_clock_class_init),
31677         (gst_system_clock_init), (gst_system_clock_dispose),
31678         (gst_system_clock_async_thread),
31679         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
31680         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
31681         * gst/gstsystemclock.h:
31682         * gst/gsttag.c: (gst_tag_list_add_value_internal),
31683         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
31684         * gst/gsttaginterface.c:
31685         * gst/gstthread.c: (gst_thread_dispose),
31686         (gst_thread_release_children_locks), (gst_thread_change_state),
31687         (gst_thread_main_loop):
31688         * gst/gsttrashstack.h:
31689         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
31690         * gst/gsttypes.h:
31691         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
31692         (gst_element_request_pad), (gst_element_get_pad_from_template),
31693         (gst_element_request_compatible_pad),
31694         (gst_element_get_compatible_pad_filtered),
31695         (gst_element_get_compatible_pad), (gst_element_state_get_name),
31696         (gst_element_link_pads_filtered), (gst_element_link_filtered),
31697         (gst_element_link_many), (gst_element_link),
31698         (gst_element_link_pads), (gst_element_unlink_pads),
31699         (gst_element_unlink_many), (gst_element_unlink),
31700         (gst_pad_can_link_filtered), (gst_pad_can_link),
31701         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
31702         (gst_object_default_error), (gst_bin_add_many),
31703         (gst_bin_remove_many), (gst_element_populate_std_props),
31704         (gst_element_class_install_std_props), (gst_buffer_merge),
31705         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
31706         (link_fold_func), (gst_pad_proxy_setcaps):
31707         * gst/gstutils.h:
31708         * gst/gstvalue.c: (gst_value_deserialize_string):
31709         * gst/parse/grammar.y:
31710         * gst/schedulers/gstbasicscheduler.c:
31711         (gst_basic_scheduler_cothreaded_chain),
31712         (gst_basic_scheduler_chain_recursive_add),
31713         (gst_basic_scheduler_pad_link):
31714         * gst/schedulers/gstoptimalscheduler.c:
31715         (get_group_schedule_function),
31716         (gst_opt_scheduler_state_transition),
31717         (gst_opt_scheduler_add_element), (element_get_reachables_func):
31718         * libs/gst/bytestream/bytestream.c:
31719         * libs/gst/dataprotocol/dataprotocol.c:
31720         (gst_dp_header_from_buffer):
31721         * po/nb.po:
31722         * po/ru.po:
31723         * tests/threadstate/threadstate2.c: (eos):
31724         * tools/gst-compprep.c: (main):
31725         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
31726         (print_pad_info), (print_children_info):
31727         * tools/gst-launch.c: (idle_func), (main):
31728         * tools/gst-md5sum.c: (idle_func), (main):
31729         * tools/gst-xmlinspect.c: (print_element_info):
31730         First THREADED backport attempt, focusing on adding locks and
31731         making sure the API is threadsafe. Needs more work. More docs
31732         follow this week.
31733
31734 2005-02-24  Andy Wingo  <wingo@pobox.com>
31735
31736         * tests/bench-complexity.scm:
31737         * tests/complexity.gnuplot: New files, good for running complexity
31738         benchmarks.
31739
31740         * tests/Makefile.am:
31741         * tests/complexity.c: New test, sets up N elements, at each level
31742         teeing into M streams per element. Eeeenteresting.
31743
31744         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
31745         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
31746         running bench-mass_elements.scm.
31747
31748         * tests/bench-mass_elements.scm: New script, runs mass_elements
31749         for various numbers of identities, outputting the results to a
31750         file. Requires guile 1.6. Just for testing.
31751
31752 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
31753
31754         * gst/schedulers/fairscheduler.c:
31755           compile with debug disabled
31756
31757 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
31758
31759         * configure.ac:
31760           hunting season on 0.9 is now OPEN